使用 Microsoft Entra ID 设置 OpenID Connect 提供者
Microsoft Entra 是一个 OpenID Connect 标识提供者,您可以使用它来对 Power Pages 站点的访问者进行身份验证。 除了 Microsoft Entra ID、多租户 Microsoft Entra ID 和 Azure AD B2C,您还可以使用符合 Open ID Connect 规范的任何其他提供者。
本文介绍以下步骤:
在 Power Pages 中设置 Microsoft Entra
将 Microsoft Entra 设置为您的站点的标识提供者。
在您的 Power Pages 站点中,选择安全>标识提供程序。
如果没有显示标识提供者,确保在站点的常规身份验证设置中将外部登录设置为开。
选择 + 新增提供者。
在选择登录提供者下,选择其他。
在协议下,选择 OpenID Connect。
为提供者输入名称;例如 Microsoft Entra ID。
提供者名称是用户在登录页面上选择标识提供者时看到的按钮上的文本。
选择下一步。
在回复 URL 下,选择复制。
不要关闭您的 Power Pages 浏览器标签页。您很快就会返回。
在 Azure 中创建应用注册
在 Azure 门户中创建一个应用注册,将您的站点的回复 URL 作为重定向 URI。
登录到 Azure 门户。
搜索并选择 Azure Active Directory。
在管理下,选择应用注册。
选择新建注册。
输入名称。
选择最能反映您的组织要求的支持的帐户类型之一。
在重定向 URI 下,选择 Web 作为平台,然后输入您的站点的回复 URL。
- 如果您使用的是站点的默认 URL,粘贴您复制的回复 URL。
- 如果您使用的是自定义域名,请输入自定义 URL。 确保在站点上标识提供者的设置中使用相同的自定义 URL 作为重定向 URL。
选择注册。
复制应用程序(客户端)ID。
在客户端凭据的右侧,选择添加证书或机密。
选择 + 新客户端密码。
输入可选说明,选择过期时间,然后选择添加。
在机密 ID 下,选择复制到剪贴板图标。
选择页面顶部的终结点。
查找 OpenID Connect 元数据文档 URL,选择复制图标。
在左侧面板的管理下,选择身份验证。
在隐式授权下,选中 ID 令牌(用于隐式和混合流)。
选择保存。
在 Power Pages 中输入站点设置
返回到您之前离开的 Power Pages 配置标识提供者页面,输入以下值。 或者,根据需要更改其他设置。 完成后选择确认。
机构:按以下格式输入机构 URL:
https://login.microsoftonline.com/<Directory (tenant) ID>/
,其中<目录(租户)ID> 是您创建的应用程序的目录(租户)ID。 例如,如果 Azure 门户中的目录(租户)ID 是aaaabbbb-0000-cccc-1111-dddd2222eeee
,授权 URL 将为https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/
。客户端 ID:粘贴您创建的应用程序的应用程序或客户端 ID。
重定向 URL:如果您的站点使用自定义域名,输入自定义 URL;否则,保留默认值。 确保此值与您创建的应用程序的重定向 URI 完全相同。
元数据地址:粘贴您复制的 OpenID Connect 元数据文档 URL。
范围:输入
openid email
。openid
值是必需值。email
值是可选的;它确保用户的电子邮件地址在用户登录后自动填充并显示在个人资料页面上。 了解您可以添加的其他声明。响应类型:选择
code id_token
。客户端密码:粘贴您创建的应用程序中的客户端密码。 如果响应类型为
code
,则需要此设置。响应模式:选择
form_post
。外部注销:此设置控制您的站点是否使用联合注销。使用联合注销,当用户注销某个应用程序或站点时,他们同时会注销使用同一标识提供者的所有应用程序和站点。 将此设置打开可在用户注销您的网站时将其重定向到联合注销体验。 将其关闭只会将用户从您的网站注销。
注销后重定向 URL:输入标识提供者在用户注销后重定向用户的 URL。应在标识提供者配置中适当设置此位置。
RP 发起的注销:此设置控制信赖方(OpenID Connect 客户端应用程序)是否可以注销用户。 要使用此设置,启用外部注销。
Power Pages 中的其他设置
通过其他设置,您可以更好地控制用户如何使用您的 Microsoft Entra 标识提供者进行身份验证。 您不需要设置这些值中的任何一个。 它们完全可选。
颁发者筛选器:输入一个基于通配符的筛选器,该筛选器匹配所有租户中的所有颁发者;例如,
https://sts.windows.net/*/
。验证访问群体:打开此设置可在令牌验证期间验证访问群体。
有效访问群体:输入以逗号分隔的访问群体 URL 列表。
验证颁发者:打开此设置可在令牌验证期间验证颁发者。
有效颁发者:输入以逗号分隔的颁发者 URL 列表。
注册声明映射和登录声明映射:在用户身份验证中,声明是描述用户身份的信息,如电子邮件地址或出生日期。 当您登录到应用程序或网站时,它将创建一个令牌。 令牌包含有关您的身份的信息,包括与之相关的任何声明。 令牌在您访问应用程序或站点的其他部分或连接到同一标识提供者的其他应用程序和站点时,用于验证您的身份。 声明映射是更改令牌中包含的信息的一种方法。 它可以用于自定义应用程序或站点可用的信息,以及控制对功能或数据的访问。 注册声明映射修改注册应用程序或站点时发出的声明。 登录声明映射修改您登录应用程序或站点时发出的声明。 了解有关声明映射策略的更多信息。
随机数生命周期:输入随机数值的生命周期(以分钟为单位)。 默认值为 10 分钟。
使用令牌生命周期:此设置控制身份验证会话生命周期(如 Cookie)是否应与身份验证令牌的生命周期匹配。 如果打开,此值将替代 Authentication/ApplicationCookie/ExpireTimeSpan 站点设置中的应用程序 Cookie 到期时间范围值。
包含电子邮件的联系人映射:此设置确定联系人登录时是否映射到相应的电子邮件地址。
- 开:将唯一的联系人记录与匹配的电子邮件地址关联,并在用户成功登录后自动将外部标识提供者分配到联系人。
- 关闭
备注
UI_Locales 请求参数将在身份验证请求中自动发送,并将设置为门户上选择的语言。
设置其他声明
设置范围以包括其他声明;例如,
openid email profile
。设置注册声明映射其他站点设置;例如,
firstname=given_name,lastname=family_name
。设置登录声明映射其他站点设置;例如,
firstname=given_name,lastname=family_name
。
在这些示例中,其他声明随附的名、姓和电子邮件地址将成为网站中个人资料页中的默认值。
备注
文本和布尔数据类型支持声明映射。
允许多租户 Microsoft Entra 身份验证
要允许 Microsoft Entra 用户从 Azure 中的任何租户(不仅是特定租户)进行身份验证,将 Microsoft Entra 应用程序注册更改为多租户。
您还需要在提供者的其他设置中设置颁发者筛选器。