SAML注销流程 - Amazon Cognito

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

SAML注销流程

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

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

当您将具有SAML会话的用户定向到您的用户池/logout终端节点时,Amazon Cognito 会通过以下请求将您的SAML用户重定向到 IdP 元数据中指定的SLO终端节点。

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终端节点。您的 IdP 必须发送LogoutResponse请求。HTTP POST然后,Amazon Cognito 会将他们从最初的退出请求重定向到重定向目的地。

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

AWS 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" }