为门户配置 OpenID Connect 提供者

备注

从 2022 年 10 月 12 日起,Power Apps 门户更名为 Power Pages。 详细信息请参阅:Microsoft Power Pages 现已正式发布(博客)
不久后我们将迁移 Power Apps 门户文档并将其与 Power Pages 文档合并在一起。

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

本文介绍支持 OpenID Connect 的标识提供者如何能够与 Power Apps 门户集成。 门户的 OpenID Connect 提供者的一些示例:Azure Active Directory (Azure AD) B2CAzure AD有多个租户的 Azure AD

门户中支持和不支持的身份验证流

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

备注

对身份验证设置的更改可能需要几分钟反映在门户上。 如果您希望立即反映更改,请使用门户操作重启门户。

配置 OpenID Connect 提供者

与所有其他提供者类似,您必须登录 Power Apps 来配置 OpenID Connect 提供者。

  1. 为您的门户选择添加提供者

  2. 对于登录提供程序,选择其他

  3. 对于协议,选择 OpenID Connect

  4. 输入提供者名称。

    提供程序名称。

  5. 选择下一步

  6. 使用您的标识提供者创建应用程序并配置设置。

    创建应用程序。

    备注

    身份验证成功后,应用将使用回复 URL 将用户重定向到门户。 如果您的门户使用自定义域名,则您可能拥有与此处提供的 URL 不同的 URL。

  7. 为门户配置输入下列站点设置。

    配置 OpenID 站点设置。

    备注

    确保查看默认值—如果需要,进行更改。

    客户 描述
    机构 与标识提供者关联的颁发机构(或颁发者) URL。
    示例 (Azure AD):https://login.microsoftonline.com/7e6ea6c7-a751-4b0d-bbb0-8cf17fe85dbb/
    客户端 ID 所创建的包含用于门户的标识提供者的应用程序的 ID。
    重定向 URL 标识提供者要向其发送身份验证响应的位置。
    示例: https://contoso-portal.powerappsportals.com/signin-openid_1
    注意:如果您使用的是默认门户 URL,可以复制并粘贴回复 URL,如创建和配置 OpenID Connect 提供者设置步骤中所示。 如果您使用的是自定义域名,请手动输入 URL。 请确保在此处输入的值与标识提供者配置(如 Azure 门户)中应用程序的重定向 URI 值完全相同。
    元数据地址 获取元数据的发现终结点。 通用格式:[机构 URL]/.well-known/openid-configuration.
    示例 (Azure AD):https://login.microsoftonline.com/7e6ea6c7-a751-4b0d-bbb0-8cf17fe85dbb/v2.0/.well-known/openid-configuration
    作用域 通过 OpenID Connect 范围参数请求的空格分隔范围列表。
    默认值:openid
    示例 (Azure AD):openid profile email
    详细信息:在将 OpenID Connect 用于使用 Azure AD 的门户时配置其他声明
    响应类型 OpenID Connect response_type 参数的值。
    可能的值包括:
    • code
    • code id_token
    • id_token
    • id_token token
    • code id_token token

    默认值:code id_token
    客户端密码 来自提供程序应用程序的客户端密码值。 也可将其称为应用密码使用者密码。 如果所选响应类型为 code,则需要此设置。
    响应模式 OpenID Connect response_mode 参数的值。 如果所选响应类型为 code,此值应为 query。 默认值:form_post
  8. 配置用于注销用户的设置。

    注销设置。

    客户 描述
    外部注销 启用或禁用外部帐户。启用后,用户从门户注销时将被重定向到外部注销用户体验。 禁用后,用户仅从门户注销。
    注销后重定向 URL 标识提供者在外部注销后重定向用户的位置。应在标识提供者配置中正确设置此位置。
    RP 发起的注销 启用或禁用信赖方发起的注销。 若要使用此设置,应首先启用外部注销
  9. (可选)配置其他设置。

    其他设置。

    客户 描述
    颁发者筛选器 在跨所有租户的所有颁发者中匹配的基于通配符的筛选器。
    示例: https://sts.windows.net/*/
    验证访问群体 如果已启用,则将在令牌验证期间验证访问群体。
    有效的访问群体 访问群体 URL 的逗号分隔列表。
    验证颁发者 如果已启用,则将在令牌验证期间验证颁发者。
    有效的颁发者 颁发者 URL 的逗号分隔列表。
    注册声明映射 逻辑名称声明对列表,用于将注册期间从提供者返回的的声明值映射到联系人记录的属性。
    格式:field_logical_name=jwt_attribute_name,其中 field_logical_name 是门户中字段的逻辑名称,jwt_attribute_name 是具有从标识提供者返回的值的属性。
    示例:使用范围作为 Azure AD 的 profile 时的 firstname=given_name,lastname=family_name。 在此示例中,firstnamelastname 是门户中个人资料字段的逻辑名称,而 given_namefamily_name 是包含标识提供者为各个字段返回的值的属性。
    登录声明映射 逻辑名称-声明对列表,用于将每次登录期间从提供程序返回的声明值映射到联系人记录的属性。
    格式:field_logical_name=jwt_attribute_name,其中 field_logical_name 是门户中字段的逻辑名称,jwt_attribute_name 是具有从标识提供者返回的值的属性。
    示例:使用范围作为 Azure AD 的 profile 时的 firstname=given_name,lastname=family_name。 在此示例中,firstnamelastname 是门户中个人资料字段的逻辑名称,而 given_namefamily_name 是包含标识提供者为各个字段返回的值的属性。
    nonce 生命周期 nonce 值的生命周期(以分钟为单位)。 默认:10 分钟。
    使用令牌生命周期 指示身份验证会话生命周期(如 Cookie)应与身份验证令牌的生命周期匹配。 如果指定,此值将替代 Authentication/ApplicationCookie/ExpireTimeSpan 站点设置中的应用程序 Cookie 到期时间范围值。
    包含电子邮件的联系人映射 指定联系人是否映射到相应的电子邮件。
    当设置为时,唯一的联系人记录将与匹配的电子邮件地址关联,在用户成功登录后自动将外部标识提供者分配到联系人。

    备注

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

编辑 OpenID Connect 提供者

若要编辑已配置的 OpenID Connect 提供者,请参阅编辑提供者

另请参见

使用 Azure AD 为门户配置 OpenID Connect 提供程序
在门户中使用 OpenID Connect 的常见问题

备注

您能告诉我们您的文档语言首选项吗? 进行简短调查。(请注意,此调查是英文版调查)

此调查大约需要七分钟。 不会收集个人数据(隐私声明)。