メインコンテンツへスキップ
本文書では、Okta を SSO アイデンティティプロバイダーとして使用し、Dify エンタープライズ版で OIDC 認証プロトコルを有効化する方法を説明します。 この機能を有効化することで、エンタープライズログインページは統一されたアイデンティティ認証エントリを使用してセキュリティが強化されます。企業内部ユーザーにとって、複雑なパスワードを入力する必要がなく、組織アカウントを使用してログインし認証を通過できるので、ログインプロセスが簡素化されます。
本文書では内部ユーザーと外部ユーザーという表現が使用されます。以下のように区別します: 内部ユーザー:Dify エンタープライズ版ワークスペース内で登録されたユーザーまたは管理バックエンドで追加されたユーザー。 外部ユーザー:Dify エンタープライズ版ワークスペースにいないユーザー

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

  1. Okta の管理者バックエンドページにアクセスし、Applications ページに移動します。Create App Integration ボタンをクリックし、OIDC ログイン方式と Web Application アプリケーションタイプを選択します。
  2. ページの指示に従ってアプリケーション名を入力し、要件に応じて認可範囲を定義する等の情報を入力します。
  • Sign-in redirect URIs フィールドには Dify エンタープライズ Callback URL を入力する必要があります。取得方法は下記を参照してください。
  • Sign-out redirect URIs フィールドは空白にしてください。

2. Okta アプリケーションの設定

有効化する必要がある SSO 範囲に応じて、コールバック URL は異なります。システム管理者は、Dify エンタープライズのコールバック URL を対応する Okta の OAuth2 アプリケーション内に入力して、作成プロセスを完了する必要があります。
管理バックエンドアイデンティティ認証メンバー認証SSO アイデンティティプロバイダーNew Identity ProviderNew OIDC Provider をクリックし、一番下に記載のある Callback URL を取得します。通常、以下の形式になります:
https://[your-dify-enterprise-url]/console/api/enterprise/sso/oidc/callback
  1. それをOkta App内の Sign-in redirect URIs フィールドに貼り付け、アプリケーションを保存します。

3. OIDC 認証を有効化

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

  1. Okta アプリケーションの “General” ページに移動し、以下のフィールドを見つけます:
    • Client ID
    • Client secret
  2. (オプション)Proof Key for Code Exchange (PKCE) → Require PKCE as additional verification をチェックし、Save をクリックします。このオプションをチェックすると、Oktaは認可コードをトークンに交換する際に code_verifier の検証を強制し、認可コード傍受攻撃のリスクを軽減します。
  3. “Sign On” ページに切り替えて Issuer フィールドを見つけ、Issuer を固定リンクに設定し、情報をコピーします。

3.2 OIDC 認証を設定

Dify エンタープライズ版 Authentication ページにアクセスし、+ New Identity Provider → New OIDC Provider をクリックし、指示に従って以下の情報を順次入力します:
  • Issuer URL
  • Client ID
  • Client Secrets
  • OktaアプリケーションでPKCE検証が有効になっている場合、ウィンドウ内で PKCE追加検証 スイッチを有効にする必要があります

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

システム管理者は、以下の2つのシナリオで SSO Enforcement オプションを有効化することで、SSO認証を強制できます:
  • Workspace:Dify エンタープライズ版 Workspace にログインする際に認可が必要。
  • WebApp:現在の Dify エンタープライズ版で作成されたアプリケーションを使用する際に認証が必要。
有効化後、対応するシナリオにアクセスする際にアクセス認可が必要であることが表示されます。