将使用 SAML 身份提供商的登录添加到用户池(可选) - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将使用 SAML 身份提供商的登录添加到用户池(可选)

您可以允许您的应用程序用户通过 SAML 身份提供商(IdP)进行登录。无论您的用户是直接登录还是通过第三方登录,所有用户都在用户池中有一个配置文件。如果您不想添加通过 SAML 身份提供商进行的登录,请跳过此步骤。

您需要更新您的 SAML 身份提供商并配置您的用户池。请参阅 SAML 身份提供商的文档,了解有关如何将您的用户池添加为 SAML 2.0 身份提供商的依赖方或应用程序的信息。

请参阅 SAML 身份提供商的文档,了解有关如何将您的用户池添加为 SAML 2.0 身份提供商的依赖方或应用程序的信息。在用户群体域中为您的 SAML 身份提供者中的 SAML 2.0 POST 绑定配置以下端点。有关用户群体域的更多信息,请参阅 配置用户池域

https://Your user pool domain/saml2/idpresponse With an Amazon Cognito domain: https://<yourDomainPrefix>.auth.<region>.amazoncognito.com/saml2/idpresponse With a custom domain: https://Your custom domain/saml2/idpresponse

您可以在 Amazon Cognito 控制台Domain name(域名)选项卡上找到用户池的域前缀和区域值。

对于一些 SAML 身份提供商,您还需要采用以下格式提供 SP urn/受众 URI/SP 实体 ID:

urn:amazon:cognito:sp:<yourUserPoolID>

您可以在 Amazon Cognito 控制台General settings(常规设置)选项卡上找到用户池 ID。

您还应配置 SAML 身份提供商,以便为您的用户池中需要的任何属性提供属性值。通常情况下,email 是用户池的必需属性。在这种情况下,SAML 身份提供商应在 SAML 断言中提供一个 email 值(声明)。

Amazon Cognito 用户池支持 SAML 2.0 与 POST 绑定端点联合。这使您的应用程序不必检索或分析 SAML 断言响应,因为用户池直接通过用户代理从身份提供商接收 SAML 响应。

在您的用户池中配置 SAML 2.0 身份提供商
  1. 转到 Amazon Cognito 控制台。如果出现提示,请输入 Amazon 凭证。

  2. 选择用户池

  3. 从列表中选择一个现有用户池,或创建一个用户池

  4. 选择 Sign-in experience(登录体验)选项卡。找到 Federated sign-in(联合登录),然后选择 Add an identity provider(添加身份提供商)。

  5. 选择 SAML 社交身份提供商。

  6. 输入以逗号分隔的 Identifiers(标识符)。标识符将告知 Amazon Cognito 应该检查用户登录时输入的电子邮件地址,然后将它们引导到与其域名对应的提供商。

  7. 如果您希望 Amazon Cognito 在用户注销时向您的提供商发送已签名的注销请求,请选择 Add sign-out flow(添加注销流程)。您必须配置 SAML 2.0 身份提供商以向配置托管 UI 时创建的 https://<your Amazon Cognito domain>/saml2/logout 端点发送注销响应。此 saml2/logout 端点使用 POST 绑定。

    注意

    如果选择此选项,并且您的 SAML 身份提供商需要已签名的注销请求,则您还需要为您的 SAML IdP 配置 Amazon Cognito 提供的签名证书。

    SAML IdP 将处理已签名的注销请求并从 Amazon Cognito 会话中注销您的用户。

  8. 选择 Metadata document source(元数据文档源)。如果您的身份提供商在公有 URL 上提供 SAML 元数据,则可以选择 Metadata document URL(元数据文档 URL),然后输入该公有 URL。否则,请选择 Upload metadata document(上载元数据文档),然后选择您之前从提供商下载的元数据文件。

    注意

    我们建议您输入元数据文档 URL(如果您的提供商具有公有端点),而不是上载文件,因为这将允许 Amazon Cognito 自动刷新元数据。通常,元数据刷新操作每 6 小时执行一次或在元数据过期前执行(以时间较早者为准)。

  9. 选择 Map attributes between your SAML provider and your app(在 SAML 提供商和应用程序之间映射属性)将 SAML 提供程序属性映射到用户池中的用户配置文件。在属性映射中包含用户池必需属性。

    例如,当您选择 User pool attribute(用户池属性)email 时,按照您的身份提供商提供的 SAML 断言中显示的内容,输入 SAML 属性名称。您的身份提供商可能会提供示例 SAML 断言以供参考。一些身份提供商使用简单名称(如 email),另一些则使用以下示例 URL 格式的属性名称:

    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  10. 选择 Create(创建)。

有关更多信息,请参阅向用户池添加 SAML 身份提供商