JWT--json web token

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)

基本流程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的...
    Dearmadman阅读 1,063,909评论 214 1,020
  • 什么是 JWT? JWT(Json Web Token),是一个开源biaozhun,轻量,携带者用户信息的 js...
    芝麻香油阅读 4,082评论 0 2
  • JWT是URL-safe的,可以用来查询字符参数 JWT分成三部分,每部分之间用.隔开。header.payloa...
    losspm阅读 7,517评论 0 1
  • 常规用户认证需求 用户先通过账号密码登录获取授权后,再获取用户详情信息 对比传统Session和JWT实现该需求的...
    hellsam阅读 8,089评论 0 8
  • 分享今日一事例 我撞见一个萝莉 她说她非常美丽 却说话有气无力 她抢我一颗板栗 还骗我说有魔力 她看似很有来历 曾...
    desperate_L阅读 2,224评论 0 3

友情链接更多精彩内容