本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将使用 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 与 POST 绑定端点联合。这使您的应用程序无需检索或解析 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 提供的签名证书。
SAML IdP 将处理已签名的注销请求,并将您的用户从 Amazon Cognito 会话中注销。
-
选择 Metadata document source(元数据文档源)。如果您的身份提供商在公有 URL 上提供 SAML 元数据,则可以选择 Metadata document URL(元数据文档 URL),然后输入该公有 URL。否则,请选择 Upload metadata document(上载元数据文档),然后选择您之前从提供商下载的元数据文件。
注意
如果您的提供商有公共端点,我们建议您输入元数据文档 URL,而不是上传文件。这允许 Amazon Cognito 自动刷新元数据。通常,元数据刷新操作每 6 小时执行一次或在元数据过期前执行(以时间较早者为准)。
-
选择 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
-
选择创建。