概要
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 uses OAuth 2.0 for authorization. For a short intro to OAuth 2.0, see An introduction to OAuth 2.

ステップ 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 の部分をどう埋めるか?
- client_id: From the Application settings in Casdoor.
- redirect_uri: Your application’s callback URL; Casdoor redirects here after authorization.
- state: Your application name (or any value you use to correlate the request).
アプリケーションはユーザーに次のように促します:「ねえ、私はいくつかのリソースが必要で、これらのリソースにアクセスするためのあなたの許可が必要です。この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を使用します。
- Casbin-OA
- Source code:
https://github.com/casbin/casbin-oa
Casnode
CasnodeはCasbinコミュニティによって開発された公式フォーラムで す。
それは認証プラットフォームとしてCasdoorを使用し、メンバーを管理します。
- Casnode
- Source code:
https://github.com/casbin/casnode
アーキテクチャ
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 |