认证与授权
外脑API使用OAuth 2.0协议进行认证和授权。支持以下授权方式:
请确保在安全的环境中处理认证信息,切勿在客户端代码中存储密钥。所有的认证请求都应该通过HTTPS进行。
授权码模式
适用场景
适用于有用户交互的应用场景,如Web应用、移动应用等。用户通过浏览器完成授权。
流程说明
GET /oauth/authorize
# 请求参数
client_id=YOUR_CLIENT_ID
redirect_uri=YOUR_REDIRECT_URI
response_type=code
scope=YOUR_SCOPE
授权码的有效期为10分钟,请确保在有效期内完成令牌交换。
客户端凭证模式
适用场景
适用于服务器间通信场景,无需用户交互。直接使用客户端凭证获取访问令牌。
POST /oauth/token
Content-Type: application/json
{
"grant_type": "client_credentials",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"scope": "YOUR_SCOPE"
}
刷新令牌
令牌刷新
当访问令牌过期时,使用刷新令牌获取新的访问令牌,避免重新走授权流程。
POST /oauth/token
Content-Type: application/json
{
"grant_type": "refresh_token",
"refresh_token": "REFRESH_TOKEN",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET"
}
使用访问令牌
所有API请求都需要在HTTP头部包含Bearer令牌进行身份验证。
GET /api/resource
Authorization: Bearer YOUR_ACCESS_TOKEN
错误码说明
认证错误码
| 错误码 | 说明 |
|---|
| 400 | 请求参数错误 |
| 401 | 未授权或令牌无效 |
| 403 | 权限不足 |
| 500 | 服务器错误 |