Spring Authorization Server 学习笔记(二)
·
项目依赖

从 spring-boot-starter-oauth2-authorization-server 的依赖树可以看到这么几个重要的依赖:
- spring-boot-start-web:这就是为什么我们创建项目时只选 Spring Authorization Server 就够了
- spring-security-oauth2-authorization-server:这正好印证了官网文档上给它的定位,Spring Authorization Server 是一个实现 OAuth 2.1 和 OpenID Connect 1.0 以及相关标准的框架
- spring-security-xxx:这些依赖对应了官网上说的另一句话:Spring Authorization Server 是基于 Spring Security 的
相关规范
- OAuth 2 相关规范
- The OAuth 2.1 Authorization Framework,OAuth 2.1 最权威的文档,到目前为止,尚处在草稿阶段,第12版
- The OAuth 2.0 Authorization Framework,OAuth 2.0,RFC 6749,发布于2012年,是OAuth规范当前最常用的版本
- OAuth 2.0 Device Authorization Grant,设备授权规范,RFC 8628
- OAuth 2.0 Authorization Server Metadata,认证服务器元数据规范,RFC 8414
- OAuth 2.0 Token Exchange,令牌交换规范,RFC 8693
- JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants,定义了 JWT 在 OAuth 2.0 客户端中的使用规则,RFC 7523
- OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens,在有 TLS 的情况下,如何处理Access Token,RFC 8705
- OAuth 2.0 Token Introspection,令牌释义,实现了这个规范的 Authorization Server 会有一个令牌释义接口,RFC 7662
- OAuth 2.0 Token Revocation,令牌销毁,实现了这个规范的 Authorization Server 会有一个令牌销毁接口,RFC 7009
- Proof Key for Code Exchange by OAuth Public Clients,PKCE,让授权码更安全的一种技术,RFC 7636
- JWX 规范
- JSON Web Token (JWT),RFC 7519
- JSON Web Signature (JWS),RFC 7515
- JSON Web Key (JWK),RFC 7517
- JSON Web Encryption (JWE),RFC 7516
- JSON Web Algorithms (JWA),RFC 7518
- Examples of Protecting Content Using JSON Object Signing and Encryption (JOSE),顾名思义,依赖里有个包—— nimbus-jose ——就是这个规范的实现,RFC 7520
- OIDC 规范
OIDC 1.0 与 OAuth 2.0 的关系

来自 openid官网 的这张图说明了一切,完整的 OIDC 就是在 OAuth 2.0 的基础上,扩展了一些易用性的功能。
所以,Spring Authorization Server 可以通过配置禁用掉 OIDC,这时 Authorization Server 就只是一个 OAuth 2 的 Authorization Server,而不是一个 OIDC 的 OP 了
更多推荐



所有评论(0)