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

# OIDC 配置

> 接入任意 OpenID Connect 身份提供商

## LaunchKit 对 IdP 的要求

* issuer 必须提供标准的 **OIDC 发现文档**，地址为 `{issuer}/.well-known/openid-configuration`。
* 须为支持**授权码**模式的客户端。LaunchKit 始终使用 **PKCE** 并校验 ID token 的 nonce；因流程在服务端完成，需使用带有 client secret 的机密客户端。
* ID token 声明：**`email`**（必需）、`given_name` 与 `family_name`（用于开通）。

## 配置步骤

<Steps>
  <Step title="在 IdP 中注册客户端">
    创建一个 Web（机密）OIDC 客户端，重定向 URI 设为：

    ```
    https://api.trylaunchkit.ai/auth/sso/oidc/callback
    ```

    配置标准的 `openid`、`email` 和 `profile` 作用域。记录 **issuer URL**、**client ID** 与 **client secret**。
  </Step>

  <Step title="在 LaunchKit 中创建连接">
    在工作区控制台（Studio）依次打开 **工作区 > 安全**，选择 **OIDC**，填入 issuer、client ID 和 client secret。保存时需要近期完成过重新认证（step-up）。
  </Step>

  <Step title="先测试再启用">
    在全新浏览器会话中打开该连接的**登录入口 URL**，通过 IdP 完成登录。随后将连接设为**已启用**，并按需继续[开启强制](/zh/sso/domains-and-enforcement)。
  </Step>
</Steps>

## 轮换 client secret

已保存的 secret 为**只写**：保存后不再回显。要轮换 secret，请在 IdP 侧生成新值并粘贴到安全页面；不改动该字段则保持当前值。提交空 secret 会被拒绝，而不会静默清空。

<Warning>
  与 SAML 相同：在**已开启强制**的连接上修改 issuer、client ID 或 client secret，都会在同一次保存中自动解除强制。请先用新配置完成一次登录验证，再重新开启强制。
</Warning>
