创建客户端并获取ClientID、ClientSecret、redirect_uri(重定向地址) 请参考 准备工作
/api/v1/oauth2/authorize用于授权操作,验证相关参数并生成授权码,重定向回客户端。
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| response_type | str | 是 | 响应类型,需为 "code",表示使用 Oauth2 - CODE (授权码)模式 |
| client_id | str | 是 | 用于验证令牌的客户端 ID |
| redirect_uri | str | 是 | 重定向 URI,在扳手平台应用授权填写的地址,准备工作 接口会携带授权码重定向到该地址,作用:自定义后端接口获取code,通过code在第二步骤中获取令牌(token) |
| state | str | 是 | 用于保持请求和回调的状态 |
| username | str | 否 | 用户名,用于检查用户是否存在 用户已登录状态下无需传递 |
无直接响应数据,会进行重定向,重定向的 URL 携带以下参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
| code | str | 生成的授权码,用于后续获取 token 等操作 |
| state | str | 保持请求和回调的状态 |
GET /api/v1/oauth2/authorize?response_type=code&client_id=your_client_id&redirect_uri=https://your_redirect_uri.com&state=your_state&username=your_username
成功响应 :重定向到 redirect_uri?code={code}&state={state},例如重定向到 https://your_redirect_uri.com?code=generated_code_here&state=your_state。
错误响应 :
response_type 不是 "code" 时,返回: { "detail": "未经允许的认证模式!请使用 Oauth2-CODE(授权码) 模式", "status_code": 404 }
client_id 对应的令牌不存在或令牌状态不为 1 时,返回: { "detail": "未经授权的令牌", "status_code": 400 }
username 对应的用户不存在时,返回: { "detail": "未经授权的令牌", "status_code": 400 }
/api/v1/oauth2/token/api/v1/oauth2/profileBearer <token>,用于提供访问令牌,以验证用户身份。如果未提供该请求头,或请求头不以 Bearer 开头,将返回 401 状态码的错误信息。{ "code": 0, "message": "success", "data": { "user": { "user_id": 123, "username": "example_user", "other_fields": "..." } } }如果访问令牌无效(如格式不正确、未提供等),返回 401 状态码,响应体示例:
{ "detail": "无效的访问令牌" }
如果未找到对应的用户信息(如用户已删除或不存在),返回 404 状态码,响应体示例:
{ "detail": "未找到对应的用户信息" }
其他异常情况,会返回 401 状态码,响应体示例:
{ "detail": "无法获取用户信息" }
GET /api/v1/oauth2/logout描述: 注销当前用户会话。
请求头:
Authorization: Bearer 访问令牌。 响应: