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

注销端点

/logout 终端节点将用户注销并重定向到您的应用程序客户端的授权退出 URL,或重定向到 /login 终端节点。

GET /logout

/logout 终端节点只支持 HTTPS GET。用户池客户端通常通过浏览器发出此请求。浏览器在 Android 中通常是自定义 Chrome 标签页,在 iOS 中是 Safari 视图控件。

请求参数

client_id

您的应用程序的应用程序客户端 ID。要获取应用程序客户端 ID,您必须在用户池中注册该应用程序。有关更多信息,请参阅配置用户池应用程序客户端

必需。

logout_uri

使用 logout_uri 参数将用户重新导向到自定义注销页面。将其值设置为应用程序客户端 sign-out URL(注销 URL),您要在用户退出后将其重新导向到此 URL。仅将 logout_uriclient_id 参数一起使用。有关更多信息,请参阅配置用户池应用程序客户端

您也可以使用 logout_uri 参数将用户重定向到另一个应用程序客户端的登录页面。将其他应用程序客户端的登录页面设置为您的应用程序客户端中的 Allowed callback URL(允许的回调 URL)。在对 /logout 终端节点的请求中,将 logout_uri 参数的值设置为 URL 编码的登录页面。

Amazon Cognito 要求在您对 /logout 终端节点的请求中使用 logout_uriredirect_uri 参数。logout_uri 参数会将您的用户重定向到另一个网站。

redirect_uri

使用 redirect_uri 将用户重新导向到登录页以进行身份验证。将其值设置为应用程序客户端 Allowed callback URL(允许的回调 URL),您要在用户再次登录后将其重新导向到此 URL。添加您要传递给 /login 端点的 client_idscopestateresponse_type 参数。

Amazon Cognito 要求在您对 /logout 终端节点的请求中使用 logout_uriredirect_uri 参数。当您要将用户重定向到 /login 终端节点以重新验证身份并将令牌传递给您的应用程序时,请添加 redirect_uri 参数。

response_type

您希望在用户登录后从 Amazon Cognito 接收的 OAuth 2.0 响应。codetokenresponse_type 参数的有效值。

在您使用 redirect_uri 参数时是必需的。

state

当应用程序向请求添加 state 参数时,如果 /oauth2/logout 端点重新导向您的用户,则 Amazon Cognito 将此参数的值返回给您的应用程序。

将此值添加到您的请求中以防止 CSRF 攻击。

不能将 state 参数的值设置为 URL 编码的 JSON 字符串。要在 state 参数中传递与此格式匹配的字符串,请将该字符串编码为 Base64,然后在应用程序中对其进行解码。

如果您使用 redirect_uri 参数,强烈推荐使用此参数。

scope

在您使用 redirect_uri 参数将其注销后,您希望从 Amazon Cognito 请求的 OAuth 2.0 范围。Amazon Cognito 使用您对 /logout 终端节点的请求中的 scope 参数将您的用户重定向到 /login 终端节点。

在您使用 redirect_uri 参数时是可选的。如果不包括 scope 参数,Amazon Cognito 会使用 scope 参数将您的用户重定向到 /login 终端节点。当 Amazon Cognito 重定向用户并自动填充 scope 时,该参数包括应用程序客户端的所有授权范围。

示例请求

示例 1:注销并将用户重新导向到客户端

此示例将清除现有会话并将用户重定向到客户端。像这样带有 logout_uri 参数的示例请求,还需要 client_id 参数。

GET https://mydomain.auth.us-east-1.amazoncognito.com/logout? client_id=ad398u21ijw3s9w3939& logout_uri=https://myclient/logout

示例 2:注销并提示用户以其他用户身份登录

此示例清除现有会话并显示登录屏幕。该示例使用您在对 对端点授权发出请求时使用的相同参数。

GET https://mydomain.auth.us-east-1.amazoncognito.com/logout? response_type=code& client_id=ad398u21ijw3s9w3939& redirect_uri=https://YOUR_APP/redirect_uri& state=STATE& scope=openid+profile+aws.cognito.signin.user.admin