概要
Casdoor is a UI-first Identity Access Management (IAM) / Single-Sign-On (SSO) platform with a web UI that supports OAuth 2.0, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, RADIUS, Google Workspace, Active Directory, and Kerberos.
CasdoorはWeb UIとアプリケーションユーザーからのログインリクエストの両方を提供します。
Casdoorの機能
Casdoor follows a frontend-backend separation architecture and is developed in Golang. It supports high concurrency, provides a web-based UI for management, and supports localization in over 10 languages.
Casdoor supports third-party application login options, such as GitHub, Google, QQ, and WeChat, and supports extending third-party login capabilities with plugins.
CasdoorはCasbinに基づいた認可管理をサポートしています。 ACL、RBAC、ABAC、およびRESTfulアクセス制御モデルをサポートしています。
Casdoor provides phone verification codes, email verification codes, and password retrieval functionality.
Casdoor supports auditing and recording of access logs.
Casdoor integrates with Alibaba Cloud, Tencent Cloud, and Qiniu Cloud for image CDN and cloud storage.
Casdoorは登録、ログイン、パスワード回復ページのカスタマイズを可能にします。
Casdoor supports integration with existing systems through database synchronization, enabling a smooth transition to Casdoor.
Casdoor supports mainstream databases such as MySQL, PostgreSQL, and SQL Server, and supports extending to new databases with plugins.
仕組み

ステップ 0 (事前知識)
- CasdoorはOAuth 2.0プロトコルに基づいた認可プロセスに従います。 We highly recommend gaining a brief understanding of how OAuth 2.0 works. OAuth 2.0のこの紹介を参照してください。

ステップ 1 (認可リクエスト)
あなたのアプリケーション(ウェブサイトまたはその他のアプリケーションである可能性があります)は、次の形式のURLを構成する必要があります:endpoint/login/oauth/authorize?client_id=xxx&response_type=code&redirect_uri=xxx&scope=read&state=xxx。 Replace endpoint with your Casdoor host URL and xxx with your own information.
xxx の部分をどう埋めるか?
For
client_id: you can find this under each individual Application.redirect_uriについて:これはあなた自身のアプリケーションのコールバックURLに設定する必要があります。 Casdoorはこの情報を使用して、認可後に応答を送り返します。stateについて:これはあなたのアプリケーション名で埋めるべきです。
アプリケーションはユーザーに次のように促します:「ねえ、私はいくつかのリソースが必要で、これらのリソースにアクセスするためのあなたの許可が必要です。このURLに行って、私のためにあなたのユーザー名とパスワードを入力してもらえますか?」 正しく構成されたURLを使用して、あなたのアプリケーションはユーザーにこのURLへのリクエストを発行させ、認可リクエストが完了します。
このステップは簡単です:ユーザーはステップ1で構成されたURLにリダイレクトされ、Casdoorのログインページが表示されます。
ステップ 2 (認可グラント)
ログインページに正しいユーザー名と認証情報を入力することで、Casdoorはユーザーの身元を知り、ステップ1で設定されたコールバックURLにcodeとstateの2つの情報を送り返す準備ができます。 これら2つの情報があなたのアプリケーションに送り返されると、アプリケーションに認可が与えられ、認可グラントが完了します。
The user opens the URL and provides credentials to Casdoor. Casdoor will say: "Looking good ~ this is the user (who is authorizing the Application to receive the code and state) I know in my database, and I will send the code and state back to the Application using the callback URL (redirect_uri)".
Casdoorはサードパーティのログインも提供します。
この場合、認証情報の入力ページではなく、サードパーティのプロバイダーのリストが表示されます。 これらのプロバイダーを使用してアプリにログインでき、Casdoorはミドルレイヤー(ミドルウェア)として機能します。 You can log in to your app using these providers, with Casdoor acting as middleware.
ステップ 3 (認可グラント)
Casdoorはあなたのアプリケーションに応答します:「あなたは何を知っている、このcodeは正当に見えます。あなたは正しいアプリケーションでなければなりません。これがあなたのためのaccess_tokenです。」 このcodeを使って、Casdoorは正しいユーザーによって認可されたアプリケーション(ステップ2で)が、後でより多くのリソースにアクセスするために使用されるaccess_tokenを取得しようとしていることを確認します。 このステップでは、あなたのアプリケーションは次のように言います:「素晴らしい!私はちょうど新鮮でおいしいaccess_tokenを手に入れました。これで、Resource Serverからもっと価値のあるものにアクセスすることができます!」
ステップ 4 (アクセストークン)
あなたのアプリケーションは次にResource Serverに向かって言います:「ねえ、このaccess_tokenをチェックしてもらえますか?私はCasdoorからそれを受け取りました。Casdoorが発行した正しいトークンかどうかを確認したいですか?」 You must be the authorized Application. そして、それが基本的にあなたのアプリケーションとCasdoorがどのように機能するかです。
ステップ 5 (アクセストークン)
CasdoorはAuthorization ServerとResource Serverの両方として機能することができます。 I just got the fresh access_token. Casbin-OAはCasbinのウェブアプリの一つです。
それは認証のためにCasdoorを使用しています。 CasnodeはCasbinコミュニティによって開発された公式フォーラムです。 それは認証プラットフォームとしてCasdoorを使用し、メンバーを管理します。
ステップ 6 (保護されたリソース)
Casdoorは2つの部分から構成されています: Casdoorは言います:「見た目が良い〜これは私のデータベースにいるユーザー(アプリケーションにcodeとstateを取得するための認可を与えている)です。そして、私はコールバックURL(redirect_uri)を使用してアプリケーションにcodeとstateを送り返します」。 https://github.com/casdoor/casdoor/tree/master/web
https://github.com/casdoor/casdoor
Casdoorは、OAuth 2.0、OIDC、SAML、CAS、LDAP、SCIM、WebAuthn、TOTP、MFA、RADIUS、Google Workspace、Active Directory、KerberosをサポートするWeb UIを備えたUIファーストのIdentity Access Management (IAM) / Single-Sign-On (SSO)プラットフォームです。 つまり、CasdoorはあなたのアプリケーションがCasdoorのデータベースからリソース、通常は現在ログインしているユーザーの情報にアクセスすることを認可します。
オンラインデモ
Casdoor
Casbinによってデプロイされたオンラインデモはこちらです。
グローバル管理者ログイン:
- ユーザー名:
admin - パスワード:
123
Casbin-OA
Casbin-OAはCasbinのウェブアプリの一つです。 それは認証のためにCasdoorを使用します。
Casnode
CasnodeはCasbinコミュニティによって開発された公式フォーラムです。
それは認証プラットフォームとしてCasdoorを使用し、メンバーを管理します。
アーキテクチャ
Casdoorは二つの部分から構成されています:
| 名前 | 説明 | 言語 | ソースコード |
|---|---|---|---|
| フロントエンド | CasdoorのためのWebフロントエンドUI | JavaScript + React | https://github.com/casdoor/casdoor/tree/master/web |
| バックエンド | CasdoorのためのRESTful APIバックエンド | Golang + Beego + SQL | https://github.com/casdoor/casdoor |