OAuth2.1-Endpoints
1. 开放的端点
| 序号 | 配置类 | 端点过滤器 | 功能 | 备注 |
|---|---|---|---|---|
| 1 | OAuth2AuthorizationEndpointConfigurer | OAuth2AuthorizationEndpointFilter | 获取授权码 | 使用浏览器 |
| 2 | OAuth2TokenEndpointConfigurer | OAuth2TokenEndpointFilter | 获取token | 注意redirect_uri scope需要一致 |
| 3 | OAuth2TokenEndpointConfigurer | OAuth2TokenEndpointFilter | 刷新token | 使用refresh_token 获取一个新的token |
| 4 | OAuth2TokenRevocationEndpointConfigurer | OAuth2TokenRevocationEndpointFilter | 撤销token | 使Token失效 |
| 5 | OAuth2AuthorizationServerMetadataEndpointConfigurer | OAuth2AuthorizationServerMetadataEndpointFilter | 获取授权服务器信息 | 获取授权服务器的端点接口地址等 |
| 6 | OAuth2TokenIntrospectionEndpointConfigurer | OAuth2TokenIntrospectionEndpointFilter | 校验token状态 | 校验token是否可用 |
| 7 | OAuth2AuthorizationServerConfigurer | NimbusJwkSetEndpointFilter | JWK Set | 获取JWK Set 加密密钥 |
| 8 | OidcProviderConfigurationEndpointConfigurer | OidcProviderConfigurationEndpointFilter | OIDC服务器信息 | OIDC服务器信息,类似 5 |
| 9 | OidcUserInfoEndpointConfigurer | OidcUserInfoEndpointFilter | OIDC用户信息 | 获取token对应的用户信息 scope需包含 openid |
| 10 | OidcClientRegistrationEndpointConfigurer | OidcClientRegistrationEndpointFilter | OIDC客户端注册读取 | OIDC客户端注册读取 |
| 11 | OidcLogoutEndpointConfigurer | OidcLogoutEndpointFilter | OIDC登出 | OIDC客户端注册读取 |
| 12 | OAuth2DeviceAuthorizationEndpointConfigurer | OAuth2DeviceAuthorizationEndpointFilter | 设备授权 | 获取 device_code 及 user_code |
| 13 | OAuth2DeviceVerificationEndpointConfigurer | OAuth2DeviceVerificationEndpointFilter | 设备认证 | 通过 user_code 进行认证 |
2. 访问流程示例
1. 获取授权码 OAuth2AuthorizationEndpointConfigurer
-
浏览器请求
http://127.0.0.1:8080/oauth2/authorize?response_type=code&client_id=messaging-client&scope=openid&redirect_uri=http://127.0.0.1:8080/authorized -
登录账号并授权后,浏览器自动回调到
http://127.0.0.1:8080/authorized?code=CSp513BO4bW1L6qcJknUKCca1FXns-1ri54ZHqZUGbOGEauTd0x-rn8p4DOBlmu2ER8mPb6jZfNogNljGtblRl2wvG5gWTsUPiFSxjIzyDMXlQ5S3ooS0JxvGSNL3L5D
2. 获取token OAuth2TokenEndpointConfigurer
curl -X POST "http://127.0.0.1:8080/oauth2/token?grant_type=authorization_code&redirect_uri=http://127.0.0.1:8080/authorized&code=ZOJZ" -H "Authorization: Basic bWVzc2FnaW5nLWNsaWVudDpzZWNyZXQ="