token 和 服务器端auth0-JWT包的使用

移动客户端和服务器端在用户登录上经常使用的是一个叫做token的认证方法

token是什么?

token顾名思义, 令牌, 意思就是说,第一次用户登录验证之后,服务器返回一个token令牌,之后客户端与服务器的每一次交互不需要再使用用户名和密码了,直接用token,就能进行验证。

为什么要用token?

如果不用token,每次交互,用户名和密码这样的重要信息都要明目张胆的在数据流中传输,非常的不安全,被有意图的人截获, 如果该用户还习惯不同的账户用一个密码,其收到的损失就更大了。如果使用token的话,就算被截获,token是具有一定的时效性的,过了有效期,这个token就没有用了, 所以必须要实时的截获,这样的难度极大而且繁琐。所以token的使用能增加对用户信息的保护。

token是怎么生成的?

Header{
 "alg" : "HS256",
 "typ" : "JWT"


}
Payload
{
"loggedInAs" : "admin",
"iat" : 1422779638



}
signature:
HMAC-SHA256(
 encodeBase64Url(header) + '.' +
 encodeBase64Url(payload) + '.' +
 secret
)
token由这三部分的编码组成,中间用句号隔开





auth0-JWT包的使用详见:
https://github.com/auth0/java-jwt


posted @ 2018-07-27 11:24  黄志鹏Zeb  阅读(3845)  评论(0编辑  收藏  举报