管理认证OIDC起始

注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

起始

OpenID Connect 1.0 (OIDC) ↗ 协议是建立在 OAuth 2.0 协议之上的简单身份层。它允许像 Foundry 这样的客户端验证终端用户的身份并获取基本的用户资料信息。

一些 OIDC 提供商是公开的,允许任何人创建一个账户。公共提供商的配置错误可能会授予不需要的用户访问您的注册。请谨慎操作。

网络出口

OIDC 身份验证和元数据收集需要出口调用。您可以选择出口策略或配置网络出口策略

OIDC 概念

以下部分将概述 Foundry 中常见的 OIDC 身份验证概念。

重定向 URL

重定向 URL 需要在 OIDC 提供商处注册。它允许提供商将授权请求的结果传达回 Foundry。提供商在发送给终端用户的授权请求中包含重定向 URL,并且终端用户在授权过程中被重定向到此 URL。然后,Foundry 可以处理来自提供商的响应。

注销 URL

Foundry 提供前通道和后通道 URL。与 OIDC 提供商注册的注销 URL 取决于所需的注销行为。

OIDC 集成元数据

OIDC 集成元数据是关于您的身份提供商的信息,传递给 Foundry。如果提供了元数据发现 URI,Foundry 可以自动获取所需的元数据字段。

或者,您可以手动提供所需的元数据。这些信息包括:

  • Issuer: 这是 OIDC 提供商的 URL,用于标识提供商及其位置。Foundry 使用此 URL 定位 OIDC 发现文档,其中可以指定提供商的 OIDC 端点、声明、支持的范围和公钥。
  • Authorization endpoint: 提供商的授权端点,用于重定向终端用户以获取授权码。
  • Token endpoint: 提供商的令牌端点,用于将授权码交换为访问令牌和 ID 词元。
  • JWKS URI: 这是提供商的 JSON Web Key Set (JWKS) 文档的 URL,其中包含用于验证 ID 词元签名的公钥。
  • User info endpoint(如果适用): 提供商的用户信息端点,用于检索终端用户的个人资料信息。并非所有提供商都支持此端点,但某些支持的提供商需要它。
  • End session endpoint(非必填): 提供商的结束会话端点,用于注销终端用户在提供商的会话。此端点是非必填的,并非所有提供商都支持。

客户端凭证

客户端凭证是由 OIDC 提供商发放给 Foundry 的客户端 ID 和客户端密钥。这些凭证被 Foundry 用来向提供商进行身份验证并获取终端用户的资源。

获取这些凭证因提供商而异,请查看您的提供商文档。

身份验证方法

选择 Foundry 如何向词元端点验证请求。选项有:

  • HTTP 基本身份验证方案。
  • POST:在请求中以表单值包含凭证。

范围

OIDC 范围决定了在 ID 词元和用户信息响应中包含的信息。每个范围返回一组用户属性(即声明)。

必须包含 openidemailprofile 范围。

电子邮件域

这些是与配置的身份验证提供商关联的电子邮件域。这些域限制了谁可以使用此提供商登录,并确定用户在登录时是否将此提供商作为一个选项。

支持的主机

支持的主机用于确保集成仅展示给使用这些主机登录的用户。

您可以从为您的注册配置的主机中选择。

属性映射

将您身份提供商中定义的属性映射到它们在 Foundry 中的表示。

用户属性

用户属性,也称为“声明”,包括诸如名称、电子邮件和其他可用附加信息的字段。这些属性以属性键到值或值的映射形式发送,例如 email → user@example.com

为了让 Foundry 拥有正确的用户属性值,您必须将身份提供商属性,也称为“声明”,映射到匹配的 Foundry 属性。Foundry 需要以下映射:

  • ID: 默认设置为 sub。此值应始终出现在 OIDC 断言中,并具有静态唯一值。
  • Username: 默认设置为 preferred_username。您可以将其更改为其他可读的属性。
  • Email: 默认设置为 email。这应该映射到电子邮件属性。
  • First name: 默认设置为 given_name。这应该映射到名字属性。
  • Last name: 默认设置为 family_name。这应该映射到姓氏属性。

您可以通过选择 添加属性映射 创建额外的映射以在 Foundry 中设置更多用户属性。在左侧字段中输入 Foundry 中的属性名称,在右侧字段中输入 JWT 中声明的路径。对于高级用法,支持使用 JSONPath 语法指定路径到您的提供商返回的 JWT 中的声明。

每个映射在 Foundry 中都有一个切换开关,您可以在 OIDC 响应中属性有多个值时选择行为。选项有:

  • First: 用接收到的第一个值填充属性。
  • All: 用接收到的所有值填充属性。

您可以通过选择 从身份提供商导入用户组 选项并提供对应于用户组的 JWT 中声明的适当路径来导入用户组。

高级设置

提示(非必填)

提示参数用于请求用户在身份验证期间执行特定操作。提示参数的可能值是:

  • none: 身份验证不需要进一步的用户输入。
  • login: 用户将被提示输入凭证以进行身份验证。
  • consent: 用户将被提示授予完成身份验证的同意。
  • select_account: 用户将被提示选择用于身份验证的账户。这通常用于用户在同一提供商处有多个账户时。

您可以选择多个提示。如果未选择提示,默认行为取决于提供商。

异步用户管理器

异步用户管理器(AUMs)是登录流程中可配置的额外步骤。展开 异步用户管理器 以查看可用的 AUMs。

检查点登录

创建一个登录检查点 在登录时将用户重定向到一个可配置的提示,要求提供理由后才允许登录。要启用登录检查点,首先切换开启 检查点登录 AUM,然后按照步骤创建一个检查点