我想在多个设备(iOS,Android,Web)上使用AWS Cognito,并且希望能够从某个设备(例如我的手机)登出,但不能从我的Web帐户登出。我不想进行全局注销。 1. AWS Cognito是否可以实现? 2.如何实现此功能?
答案 0 :(得分:0)
是的,可以使用Cognito的LOGOUT端点来实现此功能。一个示例cURL请求如下:
## Set constants ##
CLIENT_ID="USER_POOL_CLIENT_ID"
REDIRECT_URI="https://example.com/"
## Hit /logout endpoint ##
curl -v "https://${AUTH_DOMAIN}/logout?client_id=${CLIENT_ID}&logout_uri=${REDIRECT_URI}"
您也可以在移动或Web应用程序中以编程方式实现此功能。
答案 1 :(得分:0)
有点。您能得到的最好方法是从您的 cookie 中删除您的 refresh_token
和任何 id_token
。如果您没有在设备之间共享任何这些令牌(很有可能),那么您将获得大部分所需的东西。
Cognito 确实应该有一个注销端点,它接受一个 refresh_token
并杀死它。如果没有这个,如果您共享令牌供外部使用,即使在注销后,这些令牌也可以继续使用。