jwt学习

作者: whynotybb | 来源:发表于2019-07-12 20:36 被阅读0次

    jwt是如何验证的?

    jwt保存在客户端,每次请求时都将其放在header中,这样服务器接收到请求后,取出jwt进行验证。

    服务器应用在接受到JWT后,会首先对头部和载荷的内容用同一算法再次签名。那么服务器应用是怎么知道我们用的是哪一种算法呢?别忘了,我们在JWT的头部中已经用alg字段指明了我们的加密算法了。

    如果服务器应用对头部和载荷再次以同样方法签名之后发现,自己计算出来的签名和接受到的签名不一样,那么就说明这个Token的内容被别人动过的,我们应该拒绝这个Token,返回一个HTTP 401 Unauthorized响应。

    jwt如何利用payload保存数据:

    获取token

    JWTCreator:

    JWTCreator 内部类Builder

    一般header中的数据是固定的,属性有alg(加密算法)和type(“jwt”)

    可以从上图看到,通过内部类Builder存储payload的claims。通过WithClaim()添加数据。

    签名:

    构成JWT字符串

    获取数据方法:

    String username=JWT.decode(token).getClaims().get("username").asString();

    JWTDecoder

    获取数据:getClaim

    getClaims

    相关文章

      网友评论

          本文标题:jwt学习

          本文链接:https://www.haomeiwen.com/subject/yohykctx.html