单点登录SSO授权流程(未登录先跳转统一的登录页面授权),重定向回客户端获取授权码code,再用code获取访问token
请求参数 (URL传参)
| 参数 |
类型 |
必填 |
描述 |
备注 |
| response_type | String | 是 | 授权响应类型 | 默认值: code |
| client_id | String | 是 | 客户端ID | 授权中心分配 |
| redirect_uri | String | 是 | 客户端回调地址 | 需授权中心配置 需精准匹配 #哈希路由不支持 |
| scope | String | 是 | 请求权限范围 | 参考值: openid profile email phone (按需组合 空格分隔) |
| state | String | 是 | 防CSRF攻击令牌 | 客户端唯一随机数 |
| code_challenge_method | String | 按需 | PKCE算法 | 参考值: S256 (PKCE安全模式 建议SHA256算法) |
| code_challenge | String | 按需 | 加密code | 参考值: BASE64URL(SHA256(原始码code_verifier值)) (PKCE安全模式 仅客户端保存 确保加密正确) |
响应示例
登录与授权同意后,浏览器重定向配置的回调地址redirect_uri示例(附带code授权码): https://client-redirect-uri?code=一次性授权码&state=客户端生成的状态值
获取客户端凭证信息
适用于服务器与服务器之间的软件互信交互
请求头 ( 二选一: 推荐client_secret_basic 或 client_secret_post )
Authorization: Basic base64(client_id:client_secret)
请求参数 (使用 application/x-www-form-urlencoded 编码)
| 参数 | 必填 | 描述 | 值 |
| grant_type | 是 | 授权类型 | client_credentials |
| client_id | 按需 | 客户端ID | - |
| client_secret | 按需 | 客户端密钥 | - |
响应示例
{
"access_token": "访问授权令牌",
"token_type": "Bearer",
"expires_in": 7200 // 令牌有效期 (秒)
}
获取当前认证用户的详细信息
请求头
Authorization: Bearer ${ACCESS_TOKEN}
响应示例
{
"sub": "用户唯一标识",
"name": "admin", // 登录用户名
"preferred_username": "张三", // 首选用户名
"gender": "1", // 性别 1:男 2:女
"updated_at": "2025-09-02 16:12:35",
"roles": "ADMIN,USER",
"email": "zhangsan@example.com",
"email_verified": true,
"phone_number": "18888888888",
"phone_number_verified": true
}
验证当前访问token信息 如是否有效 签发用户
过期时间等
请求头 ( 二选一: 推荐client_secret_basic 或 client_secret_post )
Authorization: Basic base64(client_id:client_secret)
请求参数 (使用 application/x-www-form-urlencoded 编码)
| 参数 | 必填 | 描述 |
| token | 是 | access_token / refresh_token / id_token |
| client_id | 按需 | 客户端ID |
| client_secret | 按需 | 客户端密钥 |
响应示例
{
"active": true, // 是否有效 失效只返回这一个字段 为false
"sub": "admin",
"aud": [
"oidc-client"
],
"nbf": 1756350268,
"scope": "address phone openid profile email",
"iss": "http://127.0.0.1:9000",
"exp": 1756357468, // 令牌过期时间 (秒)
"iat": 1756350268, // 令牌签发时间 (秒)
"jti": "602df3fe-2c2b-410b-8ca7-6955a271e907",
"client_id": "oidc-client",
"token_type": "Bearer"
}
撤销access token 或 refresh token令牌有效性
立刻生效
请求头 ( 二选一: 推荐client_secret_basic 或 client_secret_post )
Authorization: Basic base64(client_id:client_secret)
请求参数 (使用 application/x-www-form-urlencoded 编码)
| 参数 | 必填 | 描述 |
| token | 是 | 要撤销的令牌 |
| token_type_hint | 否 | access_token / refresh_token |
| client_id | 按需 | 客户端ID |
| client_secret | 按需 | 客户端密钥 |
响应示例
HTTP 200 状态码,表示撤销成功 (无正文或空JSON)