GitHub を使用した OAuth2 の設定
本文書では、GitHub を SSO アイデンティティプロバイダーとして使用し、Dify エンタープライズ版で OAuth2 認可プロトコルを有効化する方法を説明します。
この機能を有効化することで、エンタープライズログインページは統一されたアイデンティティ認証エントリを使用してセキュリティを強化します。企業内部ユーザーにとって、複雑なパスワードを入力する必要がなく、組織アカウントを使用してログインし認証を通過でき、ログインプロセスを簡素化します。
本文書では内部ユーザーと外部ユーザーという表現が使用されます。以下のように区別します:
- 内部メンバー:Dify エンタープライズ版ワークスペース内で登録されたメンバーまたは管理バックエンドで追加されたメンバー。
- 外部ユーザー:Dify エンタープライズ版内にいないメンバー
1. GitHub で OAuth App を作成
- GitHub 管理者バックエンドページにアクセスし、Settings ページに移動し、OAuth Apps を選択して新しい OAuth アプリケーションを作成します。
- ページの指示に従って、以下の内容を順次入力してアプリケーション作成を完了します:
- Application name(必須項目):アプリケーション名、自由に設定可能。
- Homepage URL(必須項目):ホームページリンク、Dify エンタープライズプラットフォーム URL の入力を推奨。
- Application description(任意項目):アプリケーション説明。
- Authorization Callback URL(必須項目):コールバックリンク、取得方法は下記をご参照ください。
GitHub の OAuth2 アプリケーション作成方法の詳細については、GitHub ドキュメントをご参照ください。
2. コールバック URL の取得
有効化する必要がある SSO 範囲に応じて、コールバック URL は異なります。システム管理者は、Dify エンタープライズのコールバック URL を対応する GitHub OAuth2 アプリケーション内に入力して、作成プロセスを完了する必要があります。
管理バックエンド → アイデンティティ認証 → メンバー認証 → SSO アイデンティティプロバイダー → New Identity Provider → New OAuth2 Provider をクリックし、底部で Workspace Callback URL を確認します。
通常、以下の形式になります:
管理バックエンド → アイデンティティ認証 → メンバー認証 → SSO アイデンティティプロバイダー → New Identity Provider → New OAuth2 Provider をクリックし、底部で Workspace Callback URL を確認します。
通常、以下の形式になります:
管理バックエンド → アイデンティティ認証 → メンバー認証 → SSO アイデンティティプロバイダー → New Identity Provider → New OAuth2 Provider をクリックし、底部で Workspace Callback URL を確認します。
通常、以下の形式になります:
Dify エンタープライズ版の「アイデンティティ認証」ページをクリックし、Web 外部ユーザー認証内の SSO オプション内の ”+ New Identity Provider → New OAuth2 Provider” をクリックし、底部で Web App Callback URL を確認します。
通常、以下の形式になります:
- これを OAuth2 App 内の Authorization callback URL フィールドに貼り付けます。
3. OAuth2 認証を有効化
Dify エンタープライズ版 Authentication ページにアクセスし、”+ New Identity Provider → New OAuth2 Provider” をクリックし、指示に従って情報を順次入力し設定を完了します。
OAuth アプリケーションに移動して、以下の情報を取得します:
- Client ID
- Client Secrets
異なる OAuth2 プロバイダーの基本情報は異なります。各プロバイダーの公式文書を基準としてください。以下の情報は参考用で、実際のニーズに応じて調整できます。
- Authorization Endpoint:
https://github.com/login/oauth/authorize
- Token Endpoint:
https://github.com/login/oauth/access_token
- User Info Endpoint:
https://api.github.com/user
- Scopes:
openid,profile,email
4. SSO 強制認証を有効化(任意)
システム管理者は、以下の2つのシナリオで SSO Enforcement オプションを有効化し、強制認証を有効化できます:
- Workspace:Dify エンタープライズ版 Workspace にログインする際に認可が必要。
- WebApp:現在の Dify エンタープライズ版で作成されたアプリケーションを使用する際に認証が必要。
有効化後、対応するシナリオにアクセスする際にアクセス認可が必要であることが表示されます。