第2章 术语 - Identity Server 4 中文文档(v1.0.0)
规范、文档和对象模型等都使用特定的术语来表述。
2.1 IdentityServer
IdentityServer是OpenID Connect提供程序 - 它实现OpenID Connect和OAuth 2.0协议。
对于相同的角色,不同的文献将使用不同的术语 —— 你可能也发现了安全令牌服务(Security Token Service),身份提供程序(Identity Provider),授权服务器(Authorization Server),IP-STS 等。
但它们完全相同:一种向客户发放安全令牌的软件。
IdentityServer 包含一些职责和功能:
- 保护你的资源
- 使用本地帐户存储或外部身份提供程序对用户进行身份验证
- 提供会话管理和单点登录(SSO)
- 管理和验证客户端
- 向客户端发放身份和访问令牌
- 验证令牌
2.2 用户
用户是使用注册客户端访问资源的人。
2.3 客户端
客户端是从IdentityServer请求令牌的软件 - 用于验证用户(请求身份令牌)或访问资源(请求访问令牌)。客户端必须首先向IdentityServer注册,然后才能请求令牌。
客户端可以是Web应用程序、移动客户端或桌面应用程序、单页面应用程序(SPA,Single Page Application)、服务器进程等等。
2.4 资源
您希望使用IdentityServer保护资源 - 用户的身份数据或API。
每个资源都有一个唯一的名称 - 客户端使用此名称来指定他们希望访问哪些资源。
身份数据 关于用户的身份信息(也称为声明),例如姓名或电子邮件地址。
API API资源表示客户端要调用的功能 - 通常建模为Web API,但不一定。
2.5 身份令牌
身份令牌表示身份验证过程的结果。它至少包含用户的标识符(称为sub aka subject声明)以及有关用户如何以及何时进行身份验证的信息。它可以包含其他身份数据。
2.6 访问令牌
访问令牌允许访问API资源。客户端请求访问令牌并将其转发给API。访问令牌包含有关客户端和用户(如果存在)的信息。API使用该信息来授权访问其数据。