OpenID Connect Provider (OP)
OAuth 2.0 Authentication Server 授权服务器,能够对终端用户进行身份验证,向Relying Party提供有关身份验证事件和最终用户的声明。
依赖方Relying Party (RP)是指OAuth 2.0客户端应用程序,需要终端用户认证并且claims是来自于OP。
Entity实体:一种有着独立和独特存在的东西,可以在上下文中识别。终端用户就是实体的一个例子。
Claim:一些关于实体的信息被包含到ID token中。一个OP(OpenID Connect Provider)要文档说明和记录哪些声明信息应该被包含在ID tokens中。
在认证事件中,以下声明是必须的:
- aud (Audience): 必须包含在颁发处(issuer)注册的RP(Relying Party)的客户端标识符。
- iss(Issuer): OP的颁发处标识符(issuer identifier).
- exp (Expiration time): RP(Relying Party)必须在有效期内验证ID token.
- iat (Issued at): ID token的颁发时间.
有关用户的必需声明(claim):
- sub (Subject):颁发处(issuer)那里有一个终端用户在本地唯一和永久(从未被重新分配)的标识符
用户可选择的声明(claim)包括:姓名,年龄,头像,性别……
Scope:表示申请的权限范围
Bearer token:从token endpoint发放的token,包括一个access token, ID token和一个refresh token。
ID token:JSON Web Token (JWT)包含了用户信息和认证事件的claims;
Refresh token:用来获取新的access token的一串字符;
Issuer: 发布一系列claims。
实战之Angular安全路由
References:
OpenID: https://openid.net/developers/specs/
angular-oauth2-oidc
Angular4 开发实战:(12) 安全路由