关于前端:每日灵魂一问JWK是啥实现原理

2次阅读

共计 504 个字符,预计需要花费 2 分钟才能阅读完成。

JWT (Json web token)

基于 token 的鉴权机制

JWT 是由三段信息形成的

header
申明算法的字段名为 alg,同时还有一个 typ 的字段,默认 JWT 即可

payload
载荷即音讯体,这里会寄存理论的内容,也就是 Token 的数据申明,例如用户的 id 和 name

Signature
签名是对头部和载荷内容进行签名,设置一个 secretKey,对前两个的后果进行 HMACSHA25 算法

实现

生成 token:登录胜利的时候,颁发 token
验证 token:拜访某些资源或者接口时,验证 token

// 生成 token
// 借助第三方库 jsonwebtoken,通过 jsonwebtoken 的 sign 办法生成一个 token:const token = jwt.sign(  
        {name: result.name},
        "test_token", // secret
        {expiresIn: 60 * 60} // 过期工夫:60 * 60 s
      );

// 校验 token
// 应用 koa-jwt 中间件进行验证

/ 留神:放在路由后面
app.use(koajwt({secret: 'token'}).unless({ // 配置白名单
  path: [/\/api\/login/]
}))

正文完
 0