将使用 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 控制台
对于一些 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 凭证。 -
选择 User Pools(用户池)。
-
从列表中选择一个现有用户池,或创建一个用户池。
-
选择 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 身份提供商需要已签名的注销请求,则您还需要为您的 SAML IdP 配置 Amazon Cognito 提供的签名证书。
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
-
选择 Create(创建)。
有关更多信息,请参阅向用户池添加 SAML 身份提供商。