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

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

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

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

有关更多信息,请参阅 在用户池中使用SAML身份提供商

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

您还必须向SAML身份提供商提供断言使用者服务 (ACS) 端点。在您的用户池域中配置以下端点,以便在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 控制台的域名选项卡上找到您的域名前缀和用户池的区域值。

对于某些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 联合。这使您的应用程序无需检索或解析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身份提供商需要签名的注销请求,则您还需要配置 Amazon Cognito 随您SAML的 IdP 一起提供的签名证书。

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

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

    注意

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

  9. 选择 “在您的SAML提供商和应用程序之间映射属性”,将SAML提供商属性映射到用户池中的用户个人资料。在属性映射中包含用户池必需属性。

    例如,当您选择 “用户池” 属性email,请输入身份提供商提供的SAML断言中显示的SAML属性名称。您的身份提供商可能会提供示例SAML断言以供参考。一些身份提供者使用简单名称,例如email,而另一些身份提供者则使用URL格式化的属性名称,例如以下示例:

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