OAuth 2.0 接入文档
通过 OAuth 2.0,第三方应用可以让用户授权访问其 EHXALI API Key,无需用户直接分享密钥。
授权流程
- 开发者在 EHXALI 创建 OAuth 应用,获取
client_id和client_secret - 用户访问开发者应用时,跳转到授权页面
- 用户确认授权后,平台生成授权码并回调开发者地址
- 开发者使用授权码换取
access_token和用户的api_key - 开发者使用
api_key调用 EHXALI API
步骤详解
1. 创建应用
登录后进入 OAuth 应用管理,创建应用获取:
client_id:应用标识client_secret:应用密钥(请妥善保存)
2. 发起授权请求
引导用户访问以下地址:
https://ai.hx12.top/oauth/authorize?
client_id=YOUR_CLIENT_ID&
redirect_uri=YOUR_REDIRECT_URI&
response_type=code&
scope=api&
state=RANDOM_STATE
| 参数 | 必填 | 说明 |
|---|---|---|
client_id | 是 | 应用的 Client ID |
redirect_uri | 是 | 回调地址,需与应用配置一致 |
response_type | 是 | 固定值 code |
scope | 否 | 授权范围,默认 api |
state | 推荐 | 随机字符串,防止 CSRF |
3. 用户授权后回调
用户同意授权后,平台会重定向到 redirect_uri,并携带授权码:
YOUR_REDIRECT_URI?code=AUTHORIZATION_CODE&state=RANDOM_STATE
4. 换取 Token
使用授权码换取 access_token 和 API Key:
curl -X POST https://ai.hx12.top/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "authorization_code",
"code": "AUTHORIZATION_CODE",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"redirect_uri": "YOUR_REDIRECT_URI"
}'
响应示例:
{
"access_token": "xxxxxxxx",
"token_type": "Bearer",
"expires_in": 86400,
"refresh_token": "xxxxxxxx",
"api_key": "sk-xxxxxxxx"
}
5. 使用 API Key
获取到 api_key 后,即可按照 API 文档 调用 EHXALI API。
获取用户信息
使用 access_token 获取用户信息:
curl https://ai.hx12.top/oauth/userinfo \
-H "Authorization: Bearer ACCESS_TOKEN"
安全建议
client_secret仅在服务端使用,不要暴露给前端- 使用
state参数防止 CSRF 攻击 - 验证回调中的
state参数 - 使用 HTTPS 保护所有通信
重要:获取的
api_key 关联用户账户,调用 API 将消耗用户余额。请合理使用。