
通过
OAuth2
和
OpenIDConnect
实现安全的登录
|
95
表
4
-
5
:ID 令牌的基本内容
a
参数
必要性
说明
iss
必须
签发方标识符
,
以
URL
形式指明
,
使用
https
模式
,
包括主机
、
端口和路径
,
例如
https://example.com
sub
必须
使用者标识符
,
不能超出
ASCII
定义的
255
个字符
aud
必须
ID
令牌的受众
,
必须包含
OAuth
client_id
exp
必须
过期时间
iat
必须
签发令牌的时间
nonce
必须
*
如有
,
必须确认
auth_time
可选
验证用户身份的时间
acr
可选
身份验证上下文类引用
amr
可选
身份验证方法引用
azp
可选
授权方
,
必须包含
OAuth client_id
a.
http://openid.net/specs/openid-connect-core-1_0.html#IDToken
。
OpenID Connect
令牌是
JSON Web Token
,必须使用
JWS
签名,随后可以选
择使用
JWS
和
JWE
签名和加密。处理
JWT
常用的
Node
模块是 njwt,这个
模块默认使用 HS256 签名令牌。
注
34
ID
令牌模式
跟之前一样,我们要新建一个
Mongoose
模式,通过它生成
ID
令牌以及检查
令牌是否过期:
var mongoose = require('mongoose');
var uuid = require('node-uuid');
var IdTokenModel = function() {
var idTokenSchema ...