扫码登录成功后, 如何维护浏览器登录状态?

服务器A中使用用户session判断用户,但是在扫码登录中, 浏览器通过websocket服务器获取是否扫码成功, 如果app端扫码成功, 服务器A是通过什么方式告知浏览器登录成功, 并在后续请求中如何知道浏览器当前的角色?是服务器A传递一个token(是否需要新建一个token表)?

不过我感觉新建一个token不正确 因为维护用户session表和token表比较麻烦

阅读 932
avatarAI BotBETA

在扫码登录成功后,可以使用令牌(token)来维护浏览器的登录状态。令牌是一种标识用户身份和授权信息的凭证,可以用来验证用户身份并确保其具有相应的访问权限。

以下是一种可能的实现方式:

  1. 当用户成功扫码登录后,服务器A生成一个令牌,并将其发送给浏览器。
  2. 浏览器将令牌存储在本地(例如,使用LocalStorage)并将其用于后续的请求。
  3. 在后续的请求中,浏览器将令牌发送给服务器A。
  4. 服务器A验证令牌的有效性。如果令牌有效,则服务器A可以确认用户的身份并授予相应的访问权限。
  5. 对于角色信息,可以在令牌中包含角色信息,或者在服务器A中维护一个映射表,将令牌与角色相关联。

在实现令牌时,可以考虑使用JWT(JSON Web Token)等标准化的令牌格式和规范,以简化实现过程和安全性。同时,对于令牌的存储和安全传输,也需要采取适当的措施,例如加密存储、防止令牌泄露等。

需要注意的是,令牌的使用需要结合具体的业务场景和安全需求进行考虑和设计。在某些情况下,可能需要使用其他的技术或方案来维护浏览器的登录状态,例如使用cookies等。

2 个回答

正常流程就是建立token,基本上主流项目,都是通过token来进行登陆校验,不过不需要建立token表,你可以存redis里,或者使用jwt生成token,这样就直接通过算法来确定token是否正确,不需要额外进行存储

问题描述有些混乱,似乎并没有太多头绪。显然这个提问并不能解决实际问题,只是在摸索中存在的一些疑问。

建议你找找类似扫码登录原理,以及结合实际场景来实现功能。或者说你是想实现功能,还是想了解,或者是做调研?对比各实现利弊?

而你的表述不过我感觉新建一个token不正确 因为维护用户session表和token表比较麻烦 似乎已经有自认为正确的实现方式。

之前写的一篇文章:https://segmentfault.com/a/1190000042913462

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏