繁体   English   中英

如何限制登录用户使用其他浏览器/选项卡再次登录?

[英]How can I restrict logged in user from logging in again using another browser/tab?

我正在使用reactjs与nodejs和redux进行身份验证,并跟踪用户是否经过身份验证(对于路由)。 我正在使用aws cognito进行用户身份验证。

该应用程序做了什么:它基本上从用户获取文件并上传到s3存储桶。

我想要完成的任务:我想限制用户打开第二个选项卡(例如在chrome中)并再次登录。 目前我没有注销按钮,但是如果他们刷新当前选项卡,他们将被注销并且必须再次登录 - 原因是,我们不需要保持登录。

除此之外,理想情况下,我们希望限制用户打开其他浏览器并登录。

有没有办法限制这个?

如果您只需要一个会话就可以激活一个特定用户。

  • 登录时,您需要生成JWT令牌或一些在所有API调用(AWS操作等)期间使用的访问密钥。
  • 在第二次登录时,您需要使先前的JWT令牌/访问令牌无效
  • 这样,即使用户在第二个选项卡中登录,第一个选项卡也将断开连接,因为第一个选项卡使用旧的访问令牌(现在无效),第二个选项卡具有最新的访问令牌。

另一种方法:

  • 您需要具有状态系统。 您何时可以分辨出哪个用户离线,哪个在线。
  • 在服务器上,您禁止登录到已经在线的用户
  • 用户可以通过关闭标签页或断开与互联网的连接来脱机
  • 您仍然需要在每次登录时提供一些JWT令牌或其他访问令牌,并使旧令牌无效
  • 您可以使用Google的Firebase创建状态系统。 也许其他系统。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM