> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# OIDC SSO セットアップ

> 汎用 OpenID Connect アイデンティティプロバイダーでシングルサインオンを設定する

組織で Microsoft Entra ID や Okta 以外の OpenID Connect (OIDC) アイデンティティプロバイダー (例: Ping Identity、OneLogin、Keycloak、Auth0、その他の OIDC 準拠 IdP) を使用している場合、汎用 OIDC 接続を使用して Devin Enterprise 向けに SSO (シングルサインオン) を設定できます。

<Note>
  このガイドは、[Microsoft Entra ID (OIDC)](/ja/enterprise/security-access/sso/azure) または [Okta (OIDC)](/ja/enterprise/security-access/sso/okta) とのネイティブ連携でサポート**されていない**アイデンティティプロバイダーを利用しているお客様向けです。IdP が Microsoft Entra ID または Okta の場合は、セットアップをよりスムーズに行えるネイティブ連携の利用を推奨します。
</Note>

<div id="what-youll-need">
  ## 必要なもの
</div>

Devin 用の OIDC SSO をセットアップするには、次の情報が必要です。以下のセットアップ手順の中でこれらを収集し、最後のステップで Cognition のアカウントチームに送付します。

* **Discovery URL** - IdP の OIDC Discovery エンドポイント (例: `https://idp.example.com/.well-known/openid-configuration`)
* **Client ID** - IdP で設定したアプリケーションの Client ID
* **Client Secret** - IdP で設定したアプリケーションの Client Secret
* **Identity Provider Domains** - この IdP を通じて認証を行うすべての会社のメールドメイン (例: `example.com`, `subsidiary.example.com`)
* **Scopes** - 要求する OIDC スコープ (通常は `openid profile email` を指定します。IdP のグループ機能を使用する場合は `groups` を追加します)

<div id="setup-instructions">
  ## セットアップ手順
</div>

<div id="step-1-register-an-application-in-your-idp">
  ### ステップ 1: IdP でアプリケーションを登録する
</div>

アイデンティティプロバイダーの管理コンソールで、新しい OIDC / OAuth 2.0 アプリケーション (「Web Application」または「Confidential Client」と呼ばれることもあります) を次の設定で作成します：

| 設定                                      | 値                                      |
| :-------------------------------------- | :------------------------------------- |
| **Application Type**                    | Web Application / Confidential Client  |
| **Sign-in Redirect URI (Callback URL)** | `https://auth.devin.ai/login/callback` |
| **Sign-out Redirect URI**               | 空のままにする                                |
| **Grant Type**                          | Authorization Code                     |
| **Token Endpoint Authentication**       | Client Secret (POST)                   |

アプリケーションを作成したら、IdP によって付与された **Client ID** と **Client Secret** をメモしておいてください。

<div id="step-2-locate-your-discovery-url">
  ### ステップ 2: Discovery URL を特定する
</div>

ほとんどの OIDC 準拠のアイデンティティプロバイダーは、OpenID Connect Discovery ドキュメントを公開しています。この URL を使用すると、Devin は IdP の認可エンドポイント、トークンエンドポイント、userinfo エンドポイントを自動的に取得できます。

Discovery URL は通常、次の形式です。

```
https://<your-idp-domain>/.well-known/openid-configuration
```

<Note>
  プロバイダーごとの代表的な Discovery URL の形式:

  * **Keycloak**: `https://<host>/realms/<realm>/.well-known/openid-configuration`
  * **Ping Identity**: `https://<host>/<tenant-id>/as/.well-known/openid-configuration`
  * **OneLogin**: `https://<subdomain>.onelogin.com/oidc/2/.well-known/openid-configuration`
  * **Auth0**: `https://<domain>/.well-known/openid-configuration`
  * **Google Workspace**: `https://accounts.google.com/.well-known/openid-configuration`

  ブラウザでこの URL を開いて確認できます。`authorization_endpoint`、`token_endpoint`、`issuer` などのフィールドを含む JSON ドキュメントが返ってくれば、その URL は正しく設定されています。
</Note>

<div id="step-3-configure-scopes">
  ### ステップ 3: スコープを設定する
</div>

OIDC スコープは、認証時に Devin が受け取るユーザー情報を制御します。最低限、次のスコープをリクエストしてください:

| Scope     | 目的                                | 必須かどうか            |
| :-------- | :-------------------------------- | :---------------- |
| `openid`  | すべての OIDC フローで必須                  | はい                |
| `profile` | ユーザーの表示名を返す                       | はい                |
| `email`   | ユーザーのメールアドレスを返す                   | はい                |
| `groups`  | ユーザーのグループメンバーシップ情報を返す (IdP グループ用) | IdP グループを使用する場合のみ |

スコープ文字列は次のように設定します: `openid profile email` (IdP グループを使用する場合は `openid profile email groups`) 。

<Note>
  IdP によっては、グループクレームに別のスコープ名 (例: `roles` やカスタムスコープ) を使用している場合があります。グループメンバーシップ情報を返す正しいスコープ名については、利用している IdP のドキュメントを確認してください。
</Note>

<div id="step-4-configure-group-claims-required-for-idp-groups">
  ### ステップ 4: グループクレームを設定する (IdP グループに必須)
</div>

<Warning>
  Devin でロールベースのアクセス制御に [IdP Group Integration](/ja/enterprise/security-access/idp-groups) を使用する場合、IdP を設定して、ID トークンまたは userinfo レスポンスにグループへの所属情報を含めることが**必須**です。これを行わない場合、ユーザーの認証自体は成功しますが、IdP グループは同期されません。
</Warning>

IdP グループ同期を有効にするには:

1. IdP 側で、アプリケーションに対して `groups` スコープが利用可能になっていることを確認します
2. IdP を設定して、ID トークンまたは userinfo レスポンスに `groups` クレームを含めます

<Note>
  IdP がデフォルトでグループクレームを含めない場合、カスタムスコープを作成するか、クレームマッピングポリシーを設定する必要がある場合があります。グループクレームを OIDC トークンに追加する手順については、IdP のドキュメントを参照してください。
</Note>

<div id="step-5-send-configuration-to-cognition">
  ### ステップ 5: 設定情報を Cognition に送信する
</div>

次の情報を Cognition のアカウントチームに送信してください:

1. **Discovery URL** (例: `https://idp.example.com/.well-known/openid-configuration`)
2. **Client ID**
3. **Client Secret**
4. **Identity Provider Domains** (この IdP 用のすべてのメールドメイン)
5. **Scopes** (例: `openid profile email groups`)

Cognition のアカウントチームが OIDC 接続を設定し、ユーザーのログインごとに IdP グループが自動的に同期されるようにします。

<div id="verifying-your-setup">
  ## セットアップの確認
</div>

Cognition のアカウントチームから設定完了の連絡を受けたら、次の手順に従ってください。

1. Devin Enterprise の URL (例: `https://<your_subdomain>.devinenterprise.com`) にアクセスします
2. ログインフローを開始するために **Sign in with OIDC** (または対応する SSO ボタン) をクリックします
3. IdP のログインページにリダイレクトされます
4. 認証が完了すると、Devin Enterprise の組織ページが表示されます

IdP グループが正しく動作していることを確認するには:

1. Devin の Web アプリで **Settings** > **IdP Groups** に移動します
2. 少なくとも 1 人のグループのメンバーがログインした後、IdP グループが一覧表示されます
3. グループはログインのたびに同期されるため、IdP 側でのメンバーシップの変更は、次回ユーザーがサインインしたときに反映されます

<Note>
  IdP グループはユーザーのログイン時に取得されるため、グループメンバーシップの変更を反映するには再認証が必要です。グループベースのアクセス制御の設定詳細については、[IdP Group Integration](/ja/enterprise/security-access/idp-groups) を参照してください。
</Note>
