身份与访问
OAuth 2.0
别称: OAuth2
定义
开放的授权框架,允许资源所有者在不共享凭据的情况下,授予第三方应用对 API 的有限范围访问。
OAuth 2.0 将参与方区分为资源所有者(用户)、客户端(应用)、授权服务器(签发令牌)与资源服务器(承载 API)。客户端通过特定授权流程获取访问令牌——交互式应用使用带 PKCE 的授权码,服务间调用使用 client credentials,无输入设备使用 device code——之后以 bearer 形式将令牌附加到 API 请求中。Scope 与 audience 决定令牌可执行的操作范围。OAuth 2.0 是 OpenID Connect、云平台 API 访问以及 "使用 X 登录" 按钮的基础。常见隐患包括使用 implicit grant、缺失 PKCE、redirect URI 校验不严或在客户端不安全地存储令牌。
示例
- 移动应用通过授权码 + PKCE 获取访问令牌,调用银行 API。
- 后端服务使用 client credentials 向第三方 API 发布事件。
相关术语
OpenID Connect (OIDC)
构建在 OAuth 2.0 之上的身份层,允许客户端通过签名的 ID 令牌验证用户身份并获取基本资料。
授权
在身份认证完成后,决定该身份对哪些资源、可以执行哪些操作以及在何种条件下被允许的过程。
身份认证
在授予访问权限前,验证某个实体(用户、设备或服务)确实是其所声称身份的过程。
单点登录 (SSO)
一种认证方式,用户在可信的身份提供方完成一次登录后,即可访问多个应用而无需再次输入凭据。
联合身份
一种架构,不同组织或安全域通过共同信任的身份提供方,让用户使用同一份身份跨域访问各种系统。
API Security
API Security — definition coming soon.