在 Power Pages 中使用 OpenID Connect 的常见问题解答

本文提供有关常见 Power Pages 门户方案的信息,以及使用符合 OpenID Connect 规范的身份验证提供者的常见问题的解答。

我是否需要 OpenID Connect 自动发现文档才能与 Power Pages 集成?

与 Power Pages 集成需要自动发现文档或 OpenID Connect 元数据文档(也称为 /.well-known/openid-configuration)。 Power Pages 使用此文档中的信息来创建授权请求,验证身份验证令牌。

如果您的标识提供者不提供自动发现文档,您可以自己手动创建一个,然后将它托管在任何公共位置,包括您的网站。

备注

与发现文档类似,Power Pages 也需要标识提供者提供可以使用公钥来验证 ID 令牌签名的公共 JWKS URI 终结点。 此终结点需要在发现文档中指定为 jwks_uri 键。

Power Pages 在身份验证请求中是否支持 acr_values 请求参数?

Power Pages 在授权请求中不支持 acr_values 请求参数。 不过,Power Pages 身份验证不支持 OpenID Connect 规范中定义的所有必需的和推荐的请求参数。 还支持以下可选参数:

  • Response_mode
  • Nonce
  • UI_Locales

Power Pages 在身份验证请求中是否支持自定义范围参数?

自定义范围参数可以在提供者配置中使用范围设置指定。

为什么 Dataverse 中联系人或外部标识记录中的用户名与用户在登录页面上输入的不同?

联系人记录和外部标识记录上的用户名字段显示在基于 Microsoft Entra 的提供者的子声明或对象 ID (OID) 声明中发送的值。 这是因为子声明代表用户标识符,由标识提供者保证是唯一的。 OID 声明(对象 ID 是租户中所有用户的唯一标识符)在与基于 Microsoft Entra 的单租户提供者一起使用时受支持。

Power Pages 是否支持从基于 OpenID Connect 的提供者注销?

Power Pages 身份验证支持从应用程序和基于 OpenID Connect 的提供者注销的前端渠道注销技术。

Power Pages 是否支持单一注销?

Power Pages 不支持基于OpenID Connect 的提供者的单一注销技术。

Power Pages 是否需要 ID 令牌中有特定声明?

Power Pages 需要在 ID 令牌中代表用户电子邮件地址的声明。 该声明必须命名为 emailemailsupn。 这些声明将按照以下顺序处理,以设置为 Dataverse 中联系人记录的主要电子邮件地址

  1. 电子邮件
  2. 电子邮件
  3. upn

使用时,“emailclaimsmapping”还用于搜索现有联系人(Dataverse 中的“主要电子邮件地址”字段)。

我是否可以使用 JavaScript 获取令牌的访问权限(ID 或访问)?

标识提供者提供的 ID 令牌不能在客户端上使用 JavaScript 或任何标准技术提供。 仅用于身份验证。 但是,如果您使用的是隐式授权流,则可以使用标识提供者提供的方法来获取 ID 或访问令牌的访问权限。 例如,Microsoft Entra ID 为此场景提供 Microsoft 身份验证库

我能否使用自定义 OpenID Connect 提供者,不使用 Microsoft Entra ID?

Power Pages 支持符合标准 OpenID Connect 规范的任何标识提供者。

另请参见

设置 OpenID Connect 提供者