SAML 注销流程 - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

SAML 注销流程

亚马逊 Cognito 支持 SAML 2.0 单点注销。当您将 SAML IdP 配置为支持注销流程时,Amazon Cognito 会将您的用户通过已签名的 SAML 注销请求重定向到您的 IdP。Amazon Cognito 根据你的 IdP 元数据中的SingleLogoutService网址确定重定向位置。Amazon Cognito 使用您的用户池签名证书签署退出请求。


                        亚马逊 Cognito SAML 注销的身份验证流程图。用户请求注销,然后 Amazon Cognito 通过 SAML 注销请求将其重定向到提供商。

当您将具有 SAML 会话的用户定向到您的用户池/saml2/logout终端节点时,Amazon Cognito 会通过以下请求将您的 SAML 用户重定向到他们的 IdP 注销终端节点。

https://[SingleLogoutService endpoint]? SAMLRequest=[encoded SAML request]& RelayState=[RelayState]& SigAlg=http://www.w3.org/2001/04/xmldsig-more#rsa-sha256& Signature=[User pool RSA signature]

然后,您的用户使用他们的 IdP 返回LogoutResponse到您的saml2/logout终端节点。Amazon Cognito 将他们从最初的退出请求重定向到重定向目的地。

您的 SAML 提供商可能会发送LogoutResponse包含多个内容AuthnStatement的。此类响应sessionIndexAuthnStatement中的第一个必须与最初对用户进行身份验证的 SAML 响应sessionIndex中的相匹配。如果sessionIndex是其他会话AuthnStatement,Amazon Cognito 将无法识别该会话,您的用户也不会被注销。

Amazon Web Services Management Console
配置 SAML 注销
  1. 创建用户池应用程序客户端和 SAML IdP。

  2. 创建或编辑 SAML 身份提供商时,在 “身份提供者信息” 下,选中标题为 “添加注销流程” 的复选框。

  3. 在用户池的登录体验选项卡中,在联合身份提供商登录下,选择您的 IdP 并找到签名证书。

  4. 选择下载为.crt。

  5. 将您的 SAML 提供商配置为支持 SAML 单点注销和请求签名,然后上传用户池签名证书。您的 IdP 必须重定向到您的用户池域/saml2/logout中。

API/CLI

配置 SAML 注销

使用CreateIdentityProviderUpdateIdentityProviderAPI 请求的IDPSignout参数配置单次注销。以下是支持 SAML ProviderDetails 单点注销的 IdP 示例。

"ProviderDetails": { "MetadataURL" : "https://myidp.example.com/saml/metadata", "IDPSignout" : "true",, "RequestSigningAlgorithm" : "rsa-sha256", "EncryptedResponses" : "true", "IDPInit" : "true" }