【发布时间】:2018-03-12 14:10:27
【问题描述】:
谁能解释我如何使用 React(或任何前端框架)作为入口点,然后使用 JWT 身份验证(spring boot)进行用户登录身份验证和授权,并且令牌对于所有其余 api 调用仍然有效用户 .此外,如果用户关闭浏览器(如 gmail 或 facebook),令牌仍然有效,下次如果同一用户登录,他应该直接重定向到主页。
【问题讨论】:
标签: angular spring-boot jwt
谁能解释我如何使用 React(或任何前端框架)作为入口点,然后使用 JWT 身份验证(spring boot)进行用户登录身份验证和授权,并且令牌对于所有其余 api 调用仍然有效用户 .此外,如果用户关闭浏览器(如 gmail 或 facebook),令牌仍然有效,下次如果同一用户登录,他应该直接重定向到主页。
【问题讨论】:
标签: angular spring-boot jwt
在了解之前,我们需要确切了解传统的基于 HTTP 的网站和移动设备在身份验证方面的区别。
Session 或Token 的主要区别在于Session 是基于客户端浏览器环境的。
浏览器代理会自动将Cookie 包含在请求标头中。因此后端可以提取Session ID,一旦我们有了会话ID,就可以得到当前请求者的信息。
当我们离开浏览器环境时,每个API请求都必须自己给一个身份验证token,因为HTTP协议是无状态的,所以我们需要指定一个token让服务器识别我们是谁。
JWT最大的优点是不可伪造,并且可以携带一些非敏感信息。因为它是不可伪造的,所以每个后端应用程序都可以放心使用里面的数据(例如用户 ID),这对于构建分布式身份验证非常有帮助。虽然JWT 有expired time,但是一旦我们需要撤销令牌,我们就需要持久令牌的状态。
这个答案可能不是一个准确的解决方案,但它会帮助您选择合适的技术以兼容所有平台进行身份验证。
【讨论】: