JWT结构
``xxxxx.yyyyy.zzzzz`
- Header/头
- Payload/负载
- Signature/签名
Header
{
"alg":"HS256",
"typ":"JWT"
}
JWT负载
type StandardClaims struct {
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"` // 主题
}
- iss: 签发者
- sub: 主题,通常是JWT所面向的用户
- aud: 接收方,指定JWT的 Intended Recipient
- exp: 过期时间,指定了JWT的过期时间
- nbf: (Not Before)生效时间,指定了JWT可以被认为是有效的时间
- iat: (Issued At)签发时间,指定了JWT的签发时间
- jti: JWT ID,是JWT的唯一标识
{
"iss": "Issuer",
"sub": "Subject",
"aud": "Audience",
"exp": 1609459200,
"nbf": 1609455600,
"iat": 1609456800,
"jti": "UniqueIdentifier",
"is_admin": true,
"user_id": 123
}