JWT(Java Web Token)详解

JWT(JSON Web Token)的基本信息
 作用

  1. 可以用鉴权(Authorization)
  2. 可以用来信息交换 信息主要负载在PayLoad 段(Information Exchange)
    数据格式为: Header.Payload.Signature 例如:xxxxxxx.yyyyyy.zzzzzz
     Header部分由两部分组成:token的类型(“JWT”)和算法名称
    例如:{
    “alg”: “HS256”,
    “TYP”: “JWT”
    }
     PayLoad部分主要是信息的载体,base64URL是对称加密,所以客户端也可以解,base64URL和base64的区别是:因为我们有时候会把token加到请求的url后面,Base64 有三个字符+、/和=,在 URL 里面有特殊含义,所以要被替换掉:=被省略、+替换成-,/替换成_ 。这就是 Base64URL 算法。
     Signature部分是由header部分制定的算法加上secret计算出来的,
    Signature = HMACSHA256(
    base64UrlEncode(header) + “.” +
    base64UrlEncode(payload),
    secret)
    HMACSHA256就是前面header部分alg指定的算法 HS256是其缩写
    Header是header部分字符串
    Payload是payload字符串
    Secret是存放在服务器端的密码,
    计算出来的就是Signature部分,
    完整流程是
    JWT(Java Web Token)详解_第1张图片
    当用户收到返回的token字段之后,通常下次访问服务器资源的时候会把Token加在请求头部,直至过期如Authorization: Bearer

你可能感兴趣的:(网络常识)