JWT--json web token

2017-05-13  本文已影响0人  针织衫

JWT是Json web token的缩写,用做webapi的请求校验

基本组成部分:Header.Payload.Signature

Header的组成例如:

{

"alg":"HS256",

"typ":"JWT"

}

加密方式有:HMAC SHA256 or RSA(algorithm)

上面的Json通过Base64Url加密后生成JWT的第一部分

Payload:包含认证信息,如用户,其它额外信息

有三种分别是:Reserved claims,public claims.private claims

例子

{

"sub": "1234567890",

"name": "John Doe",

"admin": true

}

iss: jwt签发者

sub: jwt所面向的用户

aud:接收jwt的一方

exp: jwt的过期时间,这个过期时间必须要大于签发时间

nbf:定义在什么时间之前,该jwt都是不可用的.

iat: jwt的签发时间

jti: jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。

Base64Url加密后生成第二部分

Signature:加密方式采用Header里配置的加密方式,加密部分由前两部分集合起来,以点号隔开再加上secret.

HMACSHA256(

base64UrlEncode(header) + "." +

base64UrlEncode(payload),

secret)

基本流程

上一篇下一篇

猜你喜欢

热点阅读