前端检查会话应如何进行?

问题描述

我正在开发网站的用户会话管理。流量:

  1. 会话不存在/无效,前端将用户引导至登录页面
  2. 用户登录
  3. 后端在其数据库中创建会话
  4. 后端创建会话ID cookie
  5. 前端在每次身份验证请求中传递会话ID cookie

我的问题:前端将如何知道会话是否不存在/无效?当用户更改密码时,需要处理这种情况,然后所有设备间的会话都将被撤消。因此,前端需要以某种方式检查后端。

可能的方法

  1. 后端提供了一个GET / session API,用于告知会话是否处于活动状态。前端在每个请求之前调用它,如果会话处于非活动状态,则重定向登录名。但这似乎有很多额外的要求。

  2. 前端在每次浏览器加载网站(CTRL-R)时调用GET / session。如果会话在经过身份验证的页面上无效,则该页面将在重新加载后才能工作,然后重新登录。如果未认证和已认证的页面完全分开,这可能就足够了。

  3. 如果会话处于非活动状态,则
  4. 后端API返回HTTP 401。当前端看到该消息时,它将指示用户登录。这比#2更实时,并且不需要额外的GET / session请求。我不知道这是否有我看不到的问题。

哪种方法最好?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)