Token实现规范
目标
为RESTful架构的系统交互规定token的约定及提供一些建议。
技术
[约定] token的生成使用jwt 0.7.0 。以下为maven依赖示例。
<dependency> |
[约定] token的生成算法使用HS512。
[约定] claim段中的key使用小写,最多不能超过5个字符。
[建议] claim段中的常用key名建议。
key | 含义 |
---|---|
sub | 用户名 |
crt | 生成时间 |
role | 角色 |
auth | 权限 |
[建议] token的过期时间应大于12小时。
[建议] token的最大长度应小于 2 KB,因为tomcat的默认maxHttpHeaderSize是 4 KB。
[约定] 前端在向后端传递token时,应将token放入head的Authorization中,并以Bearer
开头。以下为示例。
Authorization: Bearer QWxhZGRpbjpvcGVuIHNlc2FtZQ==
[建议] 前端在获取token后应自行保存在Local/session storage或session中,不要频繁请求token。
源码示例
请参看实现案例。VSTS路径:$/BI/SourceCode/CDR_3.0/master/src/cdrcapi/src/main/java/com/winning/cdrcapi/security/
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeFer!
评论