我有一个关于登录“记住我”、JWT 和所有相关内容的逻辑问题
Posted
技术标签:
【中文标题】我有一个关于登录“记住我”、JWT 和所有相关内容的逻辑问题【英文标题】:I have a logic question regarding login "Remember me", JWT, and everything related 【发布时间】:2020-04-27 09:35:58 【问题描述】:这是一个 SQL、Express/Node 和 ReactJS 堆栈。 我正在使用 JsonWebToken。
似乎其他人已经设置了他们的登录表单 - 如果用户登录,并且他们选中了“记住我”复选框,他们会将 JWT(令牌)存储在浏览器的“localStorage”中。 然后他们每次发出请求时都会检索 localStorage 并将其放入授权标头中。
这里的逻辑问题是,当用户离开我的网络应用程序时......然后稍后返回。安装组件时是否使用 localStorage.get('jwtToken') 执行检查? 如果它存在,尝试 JWT 登录(而不是用户名+密码登录)并在节点服务器上打开令牌以获取用户的 ID?如果用户的ID存在,从数据库中取出他们的信息并返回给浏览器?
听起来对吗? 只是感觉有点奇怪或脆弱。
【问题讨论】:
令牌是用秘密签名的,它将检查它是否对发送到服务器的每个请求都有效,所以是的,它是安全的。 【参考方案1】:您可以尝试使用 JWT 并获取用户数据,如果令牌过期,您可以将用户重定向到登录页面。
【讨论】:
以上是关于我有一个关于登录“记住我”、JWT 和所有相关内容的逻辑问题的主要内容,如果未能解决你的问题,请参考以下文章