【问题标题】:AWS Cognito Global sign-out vs non-global sign-outAWS Cognito 全局注销与非全局注销
【发布时间】:2021-06-02 06:35:08
【问题描述】:

我希望将 AWS Cognito 与多个设备(iOS、Android、Web)一起使用,并希望能够退出特定设备,例如我的手机,但不能退出我的网络帐户。我不想进行全局注销。 1. 这可以通过 AWS Cognito 实现吗? 2. 如何实现这个功能?

【问题讨论】:

    标签: amazon-cognito


    【解决方案1】:

    是的,这个功能可以通过使用 Cognito 的LOGOUT Endpoint 来实现。示例 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}"
    

    您也可以在您的移动或网络应用程序中以编程方式实现此功能。

    【讨论】:

    • 所以要做到这一点,我需要在 Cognito 中添加多个应用程序客户端对吗?这样每个客户端都可以登录和退出而不影响另一个?
    【解决方案2】:

    有点。最好的办法是从 cookie 中删除您的 refresh_token 和任何 id_tokens。如果您没有在设备之间共享任何这些令牌(很有可能),那么您将获得所需的大部分内容。

    Cognito 真的应该有一个注销端点,它接受 refresh_token 并杀死它。如果没有这个,如果您共享令牌以供外部使用,即使在注销后也可以继续使用它们。

    【讨论】:

    猜你喜欢
    • 2013-12-24
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 2019-04-12
    • 2020-10-14
    • 1970-01-01
    • 2022-11-27
    相关资源
    最近更新 更多