概述
本网站包含 Spring Authorization Server 的参考文档和操作指南。
Spring Authorization Server 简介
Spring Authorization Server 是一个框架,它提供了 OAuth 2.1 和 OpenID Connect 1.0 规范以及其他相关规范的实现。它构建在 Spring Security 之上,为构建 OpenID Connect 1.0 身份提供者和 OAuth2 授权服务器产品提供了一个安全、轻量且可定制的基础。
使用场景
以下列表提供了使用 Spring Authorization Server 与使用开源或商业 OAuth2 或 OpenID Connect 1.0 提供商产品相比的一些用例。
-
当需要高级定制场景时,提供对配置和自定义的完全控制。
-
与包含所有“花哨功能”的商业产品相比,更倾向于轻量级的授权服务器。
-
可能节省软件许可和/或托管成本。
-
在开发过程中,使用熟悉的 Spring 编程模型,可以快速启动且易于使用。
功能列表
Spring Authorization Server 支持以下功能:
| 分类 | 特性 | 相关规范 |
|---|---|---|
| 授权许可 | - 授权码 - 用户同意 - 客户端凭证 - 刷新令牌 - 设备码 - 用户同意 - 令牌交换 | - OAuth 2.1 授权框架 (草案) - 授权码许可 - 客户端凭证许可 - 刷新令牌许可 - OpenID Connect Core 1.0 (规范) - 授权码流程 - OAuth 2.0 设备授权许可 (规范) - 设备流程 - OAuth 2.0 令牌交换 (规范) - 令牌交换流程 |
| 令牌格式 | - 自包含式 (JWT) - 引用式 (Opaque) | - JSON Web Token (JWT) (RFC 7519) - JSON Web Signature (JWS) (RFC 7515) |
| Token 类型 | - DPoP绑定的访问令牌 | - OAuth 2.0 持有证明演示 (DPoP) (RFC 9449) |
| 客户端身份验证 | - client_secret_basic- client_secret_post- client_secret_jwt- private_key_jwt- tls_client_auth- self_signed_tls_client_auth- none (公共客户端) | - OAuth 2.1 授权框架(客户端认证) |
- 用于 OAuth 2.0 客户端认证的 JSON Web Token (JWT) 配置文件(RFC 7523)
- OAuth 2.0 相互 TLS 客户端认证和证书绑定访问令牌(RFC 8705)
- OAuth 公共客户端的代码交换证明密钥 (PKCE)(RFC 7636) |
| 协议端点| - OAuth2 授权端点
- OAuth2 推送式授权请求端点
- OAuth2 设备授权端点
- OAuth2 设备验证端点
- OAuth2 令牌端点
- OAuth2 令牌内省端点
- OAuth2 令牌吊销端点
- OAuth2 授权服务器元数据端点
- JWK 集端点
- OpenID Connect 1.0 提供方配置端点
- OpenID Connect 1.0 登出端点
- OpenID Connect 1.0 用户信息端点
- OpenID Connect 1.0 客户端注册端点| - OAuth 2.1 授权框架 (草案)
- 授权端点
- 令牌端点
- OAuth 2.0 推送式授权请求 (RFC 9126)
- 推送式授权请求端点
- OAuth 2.0 设备授权许可 (RFC 8628)
- 设备授权端点
- 设备验证端点
- OAuth 2.0 令牌内省 (RFC 7662)
- OAuth 2.0 令牌吊销 (RFC 7009)
- OAuth 2.0 授权服务器元数据 (RFC 8414)
- JSON Web 密钥 (JWK) (RFC 7517)
- OpenID Connect Discovery 1.0 (规范)
- 提供方配置端点
- OpenID Connect RP-Initiated Logout 1.0 (规范)
- 注销端点
- OpenID Connect Core 1.0 (规范)
- 用户信息端点
- OpenID Connect Dynamic Client Registration 1.0 (规范)
- 客户端注册端点
- 客户端配置端点 |