本文書では、Okta を SSO アイデンティティプロバイダーとして使用し、Dify エンタープライズ版で OAuth2 認可プロトコルを有効化する方法を説明します。

この機能を有効化することで、エンタープライズログインページは統一されたアイデンティティ認証エントリを使用してセキュリティを強化します。企業内部ユーザーにとって、複雑なパスワードを入力する必要がなく、組織アカウントを使用してログインし認証を通過でき、ログインプロセスを簡素化します。

本文書では内部ユーザーと外部ユーザーという表現が使用されます。以下のように区別します: 内部メンバー:Dify エンタープライズ版ワークスペース内で登録されたメンバーまたは管理バックエンドで追加されたメンバー。 外部ユーザー:Dify エンタープライズ版内にいないメンバー

1. Okta で新しいアプリケーションを作成

  1. Okta の管理者バックエンドページにアクセスし、Applications ページに移動します。Create App Integration ボタンをクリックし、OIDC ログイン方式と Web Application アプリケーションタイプを選択します。

  1. ページの指示に従ってアプリケーション名を入力し、要件に応じて認可範囲を定義する等の情報を入力します。
  • Sign-in redirect URIs フィールドには Dify エンタープライズ Callback URL を入力する必要があります。取得方法は下記をご参照ください。
  • Sign-out redirect URIs フィールドは空白のままにします。

2. コールバック URL の取得

有効化する必要がある SSO 範囲に応じて、コールバック URL は異なります。システム管理者は、Dify エンタープライズのコールバック URL を対応する GitHub OAuth2 アプリケーション内に入力して、作成プロセスを完了する必要があります。

管理バックエンドアイデンティティ認証メンバー認証SSO アイデンティティプロバイダーNew Identity ProviderNew OAuth2 Provider をクリックし、底部で Workspace Callback URL を確認します。

通常、以下の形式になります:

https://[your-dify-enterprise-url]/console/api/enterprise/sso/oauth2/callback
  1. これを Okta App 内の Sign-in redirect URIs フィールドに貼り付けます。

3. OAuth2 認証を有効化

3.1 Okta アプリケーションで重要な情報を取得

  1. Okta アプリケーションの “General” ページに移動し、以下のフィールドの情報をコピーして後続の設定に使用します:

    • Client ID
    • Client secret

  2. “Sign On” ページに切り替え、Issuer を固定リンクに設定します。

3.2 OAuth2 認証を設定

Dify エンタープライズ版 Authentication ページにアクセスし、”+ New Identity Provider → New OAuth2 Provider” をクリックし、指示に従って以下の情報を順次入力します:

  • Client ID
  • Client Secrets

異なる OAuth2 プロバイダーの基本情報は異なります。各プロバイダーの公式文書を基準としてください。以下の情報は参考用で、実際のニーズに応じて調整できます。

  • Authorization Endpoint: https://your-okta-issuer-url/oauth2/v1/authorize
  • Token Endpoint: https://your-okta-issuer-url/login/oauth/access_token
  • User Info Endpoint: https://your-okta-issuer-url/oauth2/v1/userinfo
  • Scopes: openid,profile,email

your-okta-issuer-url の取得方法:上記のテキストを参照し、Okta OAuth2 App の Issuer URL を固定リンクに指定し、情報をコピーします。Okta App を通じてより多くのフィールド情報を取得する方法については、Use of the Issuerをご参照ください。

4. SSO 強制認証を有効化(任意)

システム管理者は、以下の2つのシナリオで SSO Enforcement オプションを有効化し、強制認証を有効化できます:

  • Workspace:Dify エンタープライズ版 Workspace にログインする際に認可が必要。
  • WebApp:現在の Dify エンタープライズ版で作成されたアプリケーションを使用する際に認証が必要。

有効化後、対応するシナリオにアクセスする際にアクセス認可が必要であることが表示されます。