JSON Web Token与单页应用架构解析
1. JSON Web Token(JWT)概述
JWT声明集是一个经过Base64URL编码的JSON对象,携带断言信息。以下是Base64URL解码后的声明集示例:
{
"sub": "peter",
"aud": "*.ecomm.com",
"nbf": 1533270794,
"iss": "sts.ecomm.com",
"exp": 1533271394,
"iat": 1533270794,
"jti": "5c4d1fa1-7412-4fb1-b888-9bc77e67ff2a"
}
JWT规范(RFC 7519)定义了七个属性: sub
、 aud
、 nbf
、 iss
、 exp
、 iat
和 jti
,这些属性并非强制要求,具体哪些属性为必填或选填由依赖JWT的其他规范来定义。例如,OpenID Connect规范要求 iss
属性为必填项。这七个属性已在互联网号码分配机构(IANA)的Web令牌声明注册表中注册,同时,你也可以向JWT声明集中添加自定义属性。
2. JWT属性详细解析
- iss(发行者) :JWT声明集中的
iss
属性对应JW