在 Amazon Cognito 中每个用户只允许一个活动会话

Allow only one active session per user in Amazon Cognito

我使用 Amazon Cognito 作为我的 nodejs 应用程序的身份验证系统,并且作为安全要求,我必须只允许每个用户有一个活动会话。

我能想到的一种方法是:

  1. 用户尝试登录,因此调用 globalSignOut(params = {}, callback) 并使所有其他活动会话无效

  2. 使其他会话无效后,调用initiateAuth(params = {}, callback)和return用户的身份验证令牌。

我的问题是,还有另一种方法吗?也许再 "official" 个?

我正在为 JS 使用 aws-sdk

没有 "official" 方法可以做到这一点。您在问题中陈述的方法是实现这一点的最佳方法。

上述解决方案效果不佳。 我正在做什么来处理单一设备登录

  1. 登录成功。获取访问令牌和其他令牌。
  2. 使用上述令牌调用 globalLogout。
  3. 再次调用 Login initiateAuth 并获取新令牌并将它们return发送到服务器。

我可以在第 3 步后获得令牌。但是当我尝试使用它时说“访问令牌已被撤销”。

P.S。我确保以上 3 个步骤同步发生但仍然面临问题。