目录

JWT 应用原理

目录

由于前后端分离游离于传统的基于Session的身份验证体系之外,所以需要新的安全认证体系支持,而JWT技术的应用,不但能够解决用户身份认证的安全性问题,而且简单、易用,所以逐渐成为前后端分离程序设计时不可缺少的关键技术。

一般过程:

(1)Web前端通过HTTP POST请求将自己的账号、密码提交给后端提供的登录接口,完成用户登录校验。另外,为了防止用户登录敏感信息被窃取,通常使用https协议完成数据加密传输。

(2)后端在接收用户提交的账号及密码后,完成用户身份校验,如果失败则直接返回失败信息,否则将查询的用户标识ID及其他需要信息封装成JWT的Payload对象,并将其与JWT头部信息Base64编码签名,最后形成标准的JWT对象返回。

(3)Web前端接收后端返回的JWT字符串并将该信息存储在Web前端的localStore、sessionStoreage或者Cookie等本地存储对象或内存中。另外,要求在用户执行退出登录时要同步删除本地存储信息。

(4)Web前端在后序请求时,要求在HTTP Header的Authorization对象中存储JWT信息,并发送给后端接口。

(5)后端在接收Web前端请求后,首先完成JWT有效性校验,包括是否签名、Token令牌是否过期等,如果校验失败则返回授权失败,否则将用户业务操作数据结果返回给Web前端。

参考文献:

[1]陈宇收,饶宏博,王英明,谷国栋,胡进贤.基于JWT的前后端分离程序设计研究[J].电脑编程技巧与维护,2019(09):11-12.