我正在开发一个反应本机移动应用程序。我希望我的用户使用一次帐户登录一个设备。如果用户尝试使用相同的帐户登录到另一个移动设备,他应该从第一个移动设备注销。但是 AWS cognito 的文档提供了两个选项注销或全局注销。在全局注销中,它将用户从设备 1 和 2 两者中注销。预期如果用户登录第二个移动设备,它应该自动从另一个设备注销。
请参阅附加的 SDK 链接。see here
我已经尝试了什么?
通过 AdminUserGlobalSignOut 方法,我们只能撤销刷新令牌。它使 Amazon Cognito 向用户颁发的所有刷新令牌无效。用户的当前访问和 ID 令牌在过期之前一直有效。默认情况下,访问和 ID 令牌在颁发后一小时过期。请参阅 AdminUserGlobalSignOut 的详细信息此处https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#adminUserGlobalSignOut-property。See here
当所有刷新令牌无效或成功调用 AdminUserGlobalSignOut 时,我们需要立即使用户的当前访问和 ID 令牌无效,不要等待到期用户的当前访问和 ID 令牌。
不幸的是,你不能这样做。很少有身份验证的方法,JWT Cognito 使用的是其中之一。优点是您没有跟踪您身边的授权,但您在令牌中包含到期日期。您无法选择要撤销的令牌,唯一的方法是旋转私钥,但在这种情况下,您强制所有设备上的所有用户重新登录。
在您的情况下,您需要在服务器端存储有关登录设备的信息,并使用 Cognito 钩子验证这些信息。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(74条)