本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将使用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 控制台
您还应配置您的SAML身份提供商,使其为用户池中所需的任何属性提供属性值。通常情况下,email
是用户池的必需属性。在这种情况下,SAML身份提供者应在SAML断言中提供email
价值(声明)。
Amazon Cognito 用户池支持带有绑定后端点的 SAML 2.0 联合。这使您的应用程序无需检索或解析SAML断言响应,因为用户池通过用户代理直接接收来自身份提供商的SAML响应。
在您的用户池中配置 SAML 2.0 身份提供商
-
转到 Amazon Cognito 控制台
。如果出现提示,请输入您的 Amazon 凭据。 -
选择用户池。
-
从列表中选择一个现有用户池,或创建一个用户池。
-
选择 Sign-in experience(登录体验)选项卡。找到 Federated sign-in(联合登录),然后选择 Add an identity provider(添加身份提供商)。
-
选择SAML社交身份提供商。
-
输入以逗号分隔的 Identifiers(标识符)。标识符告诉 Amazon Cognito 它应该检查用户登录时输入的电子邮件地址。然后,它会将他们定向到与其域名相对应的提供商。
-
如果您希望 Amazon Cognito 在用户注销时向您的提供商发送已签名的注销请求,请选择 Add sign-out flow(添加注销流程)。您必须将 SAML 2.0 身份提供商配置为向配置托管 UI 时创建的
https://
终端节点发送注销响应。<your Amazon Cognito domain>
/saml2/logoutsaml2/logout
端点使用POST绑定。注意
如果选择了此选项,并且您的SAML身份提供商需要签名的注销请求,则您还需要配置 Amazon Cognito 随您SAML的 IdP 一起提供的签名证书。
SAMLIdP 将处理已签名的注销请求,并将您的用户从 Amazon Cognito 会话中注销。
-
选择 Metadata document source(元数据文档源)。如果您的身份提供者在公共场合提供SAML元数据URL,则可以选择元数据文档URL并输入该公开文档URL。否则,请选择 Upload metadata document(上载元数据文档),然后选择您之前从提供商下载的元数据文件。
注意
URL如果您的提供商有公共端点,我们建议您输入元数据文档,而不是上传文件。这允许 Amazon Cognito 自动刷新元数据。通常,元数据刷新操作每 6 小时执行一次或在元数据过期前执行(以时间较早者为准)。
-
选择 “在您的SAML提供商和应用程序之间映射属性”,将SAML提供商属性映射到用户池中的用户个人资料。在属性映射中包含用户池必需属性。
例如,当您选择 “用户池” 属性时
email
,请输入身份提供商提供的SAML断言中显示的SAML属性名称。您的身份提供商可能会提供示例SAML断言以供参考。一些身份提供者使用简单名称,例如email
,而另一些身份提供者则使用URL格式化的属性名称,例如以下示例:http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
-
选择创建。