概要
このセクションでは、アプリケーションをCasdoorに接続する方法をご紹介します。
サービスプロバイダー(SP)として、Casdoorは2つの認証プロトコルをサポートしています:
OAuth 2.0 (OIDC)
SAML
アイデンティティプロバイダー(IdP)として、Casdoorは4つの認証プロトコルをサポートしています:
OAuth 2.0
OIDC
SAML
CAS 1.0, 2.0, 3.0
OAuth 2.0 (OIDC)
OAuth 2.0とは何ですか?
OAuth 2は、Facebook、GitHub、CasdoorなどのアプリケーションがHTTPサービス上のユーザーアカウントへの限定的なアクセスを取得することを可能にする認証フレームワークです。 ユーザー認証をユーザーアカウントをホストするサービスに委任し、サードパーティアプリケーションがそのユーザーアカウントにアクセスすることを認可することによって機能します。 OAuth 2は、ウェブおよびデスクトップアプリケーション、モバイルデバイス用の認証フローを提供します。
Casdoorの認証プロセスはOAuth 2.0プロトコルに基づいて構築されています。 以下の理由からOAuth 2.0プロトコルの使用を推奨します:
- プロトコルはシンプルで実装が容易であり、多くのシナリオを解決することができます。
- 成熟度が高く、広範なコミュニティサポートがあります。
したがって、アプリケーションはOAuth 2.0(OIDC)を介してCasdoorと通信します。 Casdoorに接続する方法は3つあります:
標準OIDCクライアント
標準OIDCクライアント:任意のプログラミング言語やフレームワークで広く提供されている標準OIDCクライアント実装を使用します。
OIDCとは何ですか?
OpenID Connect (OIDC)は、OAuth 2.0フレームワークの上で動作するオープンな認証プロトコルです。 消費者向けに、OIDCは個人がOpenIDプロバイダー(OP)を使用して、電子メールプロバイダーやソーシャルネットワークなど、信頼するパーティーサイトにシングルサインオン(SSO)でアクセスすることを可能にします。 アプリケーションやサービスにユーザーに関する情報、認証のコンテキスト、およびプロファイル情報へのアクセスを提供します。
CasdoorはOIDCプロトコルを完全にサポートしています。 アプリケーションが別のOAuth 2.0(OIDC)アイデンティティプロバイダーを標準OIDCクライアントライブラリを介して使用しており、Casdoorに移行したい場合、OIDCディスカバリーを使用すると、Casdoorに非常に簡単に切り替えることができます。
Casdoor SDK
Casdoor SDK:ほとんどのプログラミング言語に対して、CasdoorはOIDCの上に簡単に使用できるSDKライブラリを提供しており、Casdoorでのみ利用可能な拡張機能が含まれています。
標準OIDCプロトコルと比較して、CasdoorのSDKはユーザー管理やリソースアップロードなど、より多くの機能を提供します。 Casdoor SDKを介してCasdoorに接続するには、標準OIDCクライアントライブラリを使用するよりも時間がかかりますが、最高の柔軟性と最も強力なAPIを提供します。
Casdoorプラグイン
Casdoorプラグイン:アプリケーションがSpring Boot、WordPressなどの人気プラットフォーム上に構築されており、Casdoor(またはサードパーティ)がすでにプラグインやミドルウェアを提供している場合は、それを使用する必要があります。 プラグインを使用することは、Casdoor SDKを手動で呼び出すよりもはるかに簡単です。なぜなら、前者は特にプラットフォーム用に作られているからです。
プラグイン:
ミドルウェア:
SAML
SAMLとは何ですか?
セキュリティアサーションマークアップ言語(SAML)は、アイデンティティプロバイダー(IdP)がサービスプロバイダー(SP)に認証情報を渡すことを可能にするオープンスタンダードです。 この専門用語が意味することは、1組の資格情報を使用して多くの異なるウェブサイトにログインできるということです。 電子メール、顧客関係管理(CRM)ソフトウェア、アクティブディレクトリなどへの個別のログインを管理するよりも、ユーザーごとに1つのログインを管理する方がはるかに簡単です。
SAMLトランザクションは、アイデンティティプロバイダーとサービスプロバイダー間の標準化された通信のために、拡張可能マークアップ言語(XML)を使用します。 SAMLは、ユーザーのアイデンティティの認証とサービスの使用許可をリンクするものです。
CasdoorはSAML IdPとして使用できます。 現在、CasdoorはSAML 2.0の主要な機能をサポートしています。 詳細については、SAMLを参照してください。
例:
提案:
- プロトコルは強力であり、多くのシナリオをカバーしているため、最も包括的なSSOプロトコルの1つです。
- プロトコルは大きく、多くのオプションパラメーターがあるため、実際の実装で100%すべてのアプリケーションシナリオをカバーすることは困難です。
- アプリケーションが新しく開発された場合、技術的な複雑さが高いためSAMLは推奨されません。
CAS
CASとは何ですか?
Central Authentication Service(CAS)は、ウェブ用のシングルサインオンプロトコルです。 その目的は、ユーザーがユーザーIDやパスワードなどの資格情報を1回だけ提供することで、複数のアプリケーションにアクセスできるようにすることです。 また、ウェブアプリケーションがユーザーのセキュリティ資格情報、例えばパスワードなどにアクセスすることなく、ユーザーを認証することを可能にします。
CasdoorはCAS 1.0、2.0、および3.0の機能を実装しています。 詳細については、CASを参照してください。
提案:
- プロトコル自体は比較的軽量で実装が容易ですが、単一のシナリオのみを解決することができます。
- CASクライアントとCASサーバー間の相互信頼は、さらなるセキュリティを保証するための暗号化や署名メカニズムなしにインターフェース呼び出しを通じて確立されます。
- CASプロトコルは他のプロトコルに対して利点がありません。
統合テーブル
すでにCasdoorに接続する例があるアプリケーションがいくつかあります。 ドキュメントに従って、Casdoorにすばやく接続することができます。 統合テーブルですべてのアプリケーションを見ることができます。