golang 实现 json web token

json web token 简介

  1. json web token 简称 jwt.他是一种轻量级的规范.这种规范允许客户端和服务端之间传递一些非敏感信息.
  2. 常用于用户认证和授权系统.

jwt组成部分

  1. Header
  2. Claims
  3. Signature
Header 组成部分
typ: "JWT",
alg: "HS256",
  1. typ是默认的一种标识.标识这条信息采用JWT规范.
  2. alg表示签名使用的加密算法.通常有ES256,ES512,RS256等等

Claims 组成部分

Audience  string `json:"aud,omitempty"`
ExpiresAt int64  `json:"exp,omitempty"`
Id        string `json:"jti,omitempty"`
IssuedAt  int64  `json:"iat,omitempty"`
Issuer    string `json:"iss,omitempty"`
NotBefore int64  `json:"nbf,omitempty"`
Subject   string `json:"sub,omitempty"`

这段结构体是我们在golang中使用到的字段. 可以在这个的基础上进行组合,定义新的Claims部分.

1. aud 标识token的接收者.
2. exp 过期时间.通常与Unix UTC时间做对比过期后token无效
3. jti 是自定义的id号 
4. iat 签

你可能感兴趣的:(Golang小知识)