【问题标题】:How can logout from all devices in AWS Cognito?如何从 AWS Cognito 中的所有设备注销?
【发布时间】:2022-11-10 03:31:17
【问题描述】:

我正在开发一个反应原生的移动应用程序。我希望我的用户使用一个帐户登录一台设备。如果用户尝试使用相同帐户登录另一台移动设备,他应该从第一台移动设备上注销。但是 AWS cognito 的官方文档提供了注销或全局注销两个选项。在全局注销中,它将用户从设备 1 和 2 中注销。预期结果 如果用户登录第二台移动设备,它应该会自动从另一台设备中注销。

请参阅随附的 SDK 链接。 see here

我已经尝试过什么?

通过 AdminUserGlobalSignOut 方法,我们只能撤销刷新令牌。它会使 Amazon Cognito 向用户发出的所有刷新令牌无效。用户当前的访问权和 ID 令牌在到期之前一直有效。默认情况下,访问和 ID 令牌在颁发后一小时到期。在https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#adminUserGlobalSignOut-property 处查看 AdminUserGlobalSignOut 的详细信息。 See here

当所有刷新令牌失效或成功调用AdminUserGlobalSignOut时,我们需要立即使用户当前的访问和ID令牌失效,不要等待过期用户当前的访问和ID令牌。

【问题讨论】:

    标签: amazon-web-services authentication amazon-cognito logout


    【解决方案1】:

    不幸的是,你不能这样做。身份验证的方法很少,JWT Cognito 使用的就是其中之一。优点是您没有跟踪自己的授权,但您在令牌中包含了到期日期。您无法选择要撤销的令牌,唯一的方法是轮换私钥,但在这种情况下,您会强制所有设备上的所有用户重新登录。

    在您的情况下,您需要在服务器端存储有关已记录设备的信息,并另外使用 Cognito 钩子验证这些设备。

    【讨论】:

      【解决方案2】:

      您是否找到从所有设备注销的解决方案?

      【讨论】:

        猜你喜欢
        • 2017-11-02
        • 2022-07-20
        • 1970-01-01
        • 2022-10-09
        • 2019-04-06
        • 1970-01-01
        • 2019-04-12
        • 2019-04-24
        • 2021-08-12
        相关资源
        最近更新 更多