OpenID Connect
User Managed Access (UMA)
资源拥有者向授权服务器进行身份认证,可以自由选择: 用户名/密码、加密证书、安全令牌、联合单点登录或其它方式
授权服务器可以保存授权决策,后续可以跳过授权环节,沿用前一次的授权决策
也可以通过客户端白名单或者黑名单的内部策略来否决用户的决策
令牌内省
记忆授权决策
授权码许可类型
隐式许可类型
客户端凭据许可类型
授权服务器和资源服务共享令牌数据库是一种简单可行的机制,但是如果授权服务器要对多个资源服务进行保护,这种共享就不合适,可以使用:结构化令牌和令牌内省
结构化令牌 - JWT
签名的 JWT

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| { "typ": "JWT", "alg": "none" }
{ "sub": "1234567890", "name": "John Doe", "admin": true }
{ "iss": "", "sub": "", "aud": "", "exp": 123456, "nbf": 123456, "iat": 123456, "jti": "" }
|
通过 JOSE 库得到最终代签名的令牌
1 2 3 4 5 6 7 8
| eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImF1dGhzZXJ2ZXIifQ.eyJpc3MiOiJodH RwOi8vbG9jYWxob3N0OjkwMDEvIiwic3ViIjoiOVhFMy1KSTM0LTAwMTMyQSIsImF1ZCI6Imh0d HA6Ly9sb2NhbGhvc3Q6OTAwMi8iLCJpYXQiOjE0NjcyNTE5NjksImV4cCI6MTQ2NzI1MjI2OSwi anRpIjoidURYMWNwVnYifQ.nK-tYidfd6IHW8iwJ1ZHcPPnbDdbjnveunKrpOihEb0JD5wfjXoY jpToXKfaSFPdpgbhy4ocnRAfKfX6tQfJuFQpZpKmtFG8OVtWpiOYlH4Ecoh3soSkaQyIy4L6p8o 3gmgl9iyjLQj4B7Anfe6rwQlIQi79WTQwE9bd3tgqic5cPBFtPLqRJQluvjZerkSdUo7Kt8XdyG yfTAiyrsWoD1H0WGJm6IodTmSUOH7L08k-mGhUHmSkOgwGddrxLwLcMWWQ6ohmXaVv_Vf-9yTC2 STHOKuuUm2w_cRE1sF7JryiO7aFRa8JGEoUff2moaEuLG88weOT_S2EQBhYB0vQ8A
|