设置 OpenID Connect 提供者

OpenID Connect 标识提供者是符合 Open ID Connect 规范的服务。 OpenID Connect 引入了 ID 令牌概念。 ID 令牌是允许客户端验证用户身份的安全令牌。 它还获取有关用户的基本个人资料信息,称为声明

OpenID Connect 提供者Azure AD B2CMicrosoft Entra ID具有多个租户的 Microsoft Entra ID 内置于 Power Pages。 本文介绍如何将其他 OpenID Connect 标识提供者添加到 Power Pages 站点。

Power Pages 中支持和不支持的身份验证流

  • 隐式授权
    • 此流是 Power Pages 站点的默认身份验证方法。
  • 授权代码
    • Power Pages 使用 client_secret_post 方法与标识服务器的令牌终结点通信。
    • 不支持通过令牌终结点进行身份验证的 private_key_jwt 方法。
  • 混合(受限支持)
    • Power Pages 要求响应中存在 id_token,因此不支持 response_type = code token
    • Power Pages 中的混合流执行与隐式授予相同的流,使用 id_token 直接登录用户。
  • 用于代码交换的校验密钥 (PKCE)
    • 不支持基于 PKCE 的用户身份验证技术。

备注

对您的站点的身份验证设置的更改可能需要几分钟反映在站点上。 要立即查看更改,在管理中心重启站点。

在 Power Pages 中设置 OpenID Connect 提供者

  1. 在您的 Power Pages 站点中,选择安全>标识提供程序

    如果没有显示标识提供者,确保在站点的常规身份验证设置中将外部登录设置为

  2. 选择 + 新增提供者

  3. 选择登录提供者下,选择其他

  4. 协议下,选择 OpenID Connect

  5. 为提供商输入名称。

    提供者名称是用户在登录页面上选择标识提供者时看到的按钮上的文本。

  6. 选择下一步

  7. 回复 URL 下,选择复制

    不要关闭您的 Power Pages 浏览器标签页。您很快就会返回。

在标识提供者中创建应用注册

  1. 使用您复制的回复 URL 创建应用程序并向您的标识提供者注册。

  2. 复制应用程序或客户端 ID 以及客户端密码。

  3. 查找应用程序的终结点并复制 OpenID Connect 元数据文档 URL。

  4. 根据需要更改标识提供者的其他设置。

在 Power Pages 中输入站点设置

返回到您之前离开的 Power Pages 配置标识提供者页面,输入以下值。 或者,根据需要更改其他设置。 完成后选择确认

  • 机构:按以下格式输入机构 URL:https://login.microsoftonline.com/<Directory (tenant) ID>/,其中<目录(租户)ID>您创建的应用程序的目录(租户)ID。 例如,如果 Azure 门户中的目录(租户)ID 是 7e6ea6c7-a751-4b0d-bbb0-8cf17fe85dbb,授权 URL 将为 https://login.microsoftonline.com/7e6ea6c7-a751-4b0d-bbb0-8cf17fe85dbb/​

  • 客户端 ID:粘贴您创建的应用程序的应用程序或客户端 ID。

  • 重定向 URL:如果您的站点使用自定义域名,输入自定义 URL;否则,保留默认值。 确保此值与您创建的应用程序的重定向 URI 完全相同。

  • 元数据地址:粘贴您复制的 OpenID Connect 元数据文档 URL。

  • 范围:使用 OpenID Connect scope 参数输入要请求的空格分隔的范围列表。 默认值为 openid

    openid 值是必需值。 了解您可以添加的其他声明

  • 响应类型:输入 OpenID Connect response_type 参数的值。 可能的值包括 codecode id_tokenid_tokenid_token tokencode id_token token。 默认值为 code id_token

  • 客户端密码:粘贴提供者应用程序中的客户端密码。 也可将其称为应用密码使用者密码。 如果响应类型为 code,则需要此设置。

  • 响应模式:输入 OpenID Connect response_mode 参数的值。 如果响应类型为 code,此值应为 query。 默认值为 form_post

  • 外部注销:此设置控制您的站点是否使用联合注销。使用联合注销,当用户注销某个应用程序或站点时,他们同时会注销使用同一标识提供者的所有应用程序和站点。 将此设置打开可在用户注销您的网站时将其重定向到联合注销体验。 将其关闭只会将用户从您的网站注销。

  • 注销后重定向 URL:输入标识提供者在用户注销后重定向用户的 URL。应在标识提供者配置中适当设置此位置。

  • RP 发起的注销:此设置控制信赖方(OpenID Connect 客户端应用程序)是否可以注销用户。 要使用此设置,启用外部注销

Power Pages 中的其他设置

通过其他设置,您可以更好地控制用户如何使用 OpenID Connect 标识提供者进行身份验证。 您不需要设置这些值中的任何一个。 它们完全可选。

  • 颁发者筛选器:输入一个基于通配符的筛选器,该筛选器匹配所有租户中的所有颁发者;例如,https://sts.windows.net/*/。 如果您使用的是 Microsoft Entra ID 身份验证提供者,则颁发者 URL 筛选器将是 https://login.microsoftonline.com/*/v2.0/

  • 验证访问群体:打开此设置可在令牌验证期间验证访问群体。

  • 有效访问群体:输入以逗号分隔的访问群体 URL 列表。

  • 验证颁发者:打开此设置可在令牌验证期间验证颁发者。

  • 有效颁发者:输入以逗号分隔的颁发者 URL 列表。

  • 注册声明映射登录声明映射:在用户身份验证中,声明是描述用户身份的信息,如电子邮件地址或出生日期。 当您登录到应用程序或网站时,它将创建一个令牌。 令牌包含有关您的身份的信息,包括与之相关的任何声明。 令牌在您访问应用程序或站点的其他部分或连接到同一标识提供者的其他应用程序和站点时,用于验证您的身份。 声明映射是更改令牌中包含的信息的一种方法。 它可以用于自定义应用程序或站点可用的信息,以及控制对功能或数据的访问。 注册声明映射修改注册应用程序或站点时发出的声明。 登录声明映射修改您登录应用程序或站点时发出的声明。 了解有关声明映射策略的更多信息

  • 随机数生命周期:输入随机数值的生命周期(以分钟为单位)。 默认值为 10 分钟。

  • 使用令牌生命周期:此设置控制身份验证会话生命周期(如 Cookie)是否应与身份验证令牌的生命周期匹配。 如果打开,此值将替代 Authentication/ApplicationCookie/ExpireTimeSpan 站点设置中的应用程序 Cookie 到期时间范围值。

  • 包含电子邮件的联系人映射:此设置确定联系人登录时是否映射到相应的电子邮件地址。

    • :将唯一的联系人记录与匹配的电子邮件地址关联,并在用户成功登录后自动将外部标识提供者分配到联系人。
    • 关闭​

备注

UI_Locales 请求参数将在身份验证请求中自动发送,并将设置为门户上选择的语言。

另请参见

设置 Azure Active Directory (Azure AD) B2C 的 OpenID Connect 提供者
使用 Microsoft Entra ID 设置 OpenID Connect 提供者
OpenID Connect 常见问题解答