Fusion OAuth 提供标准 OAuth2 授权码模式,支持第三方网站通过本平台实现统一账号登录。同时提供 REST API,支持通过 Client ID + API KEY 验证应用身份后获取用户信息。
标准的授权码模式,共三步:
GET /authorize.php?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT&scope=basic&state=STATE
参数说明:
response_type:固定为 codeclient_id:你的应用 Client IDredirect_uri:回调地址(需与注册时一致)scope:权限范围,目前仅支持 basicstate:可选,用于防止 CSRFPOST /token.php
请求参数(application/x-www-form-urlencoded):
grant_type:authorization_codeclient_id:应用 Client IDclient_secret:应用 Client Secretcode:上一步获取的授权码redirect_uri:回调地址成功响应:
{
"access_token": "...",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "...",
"scope": "basic"
}
GET /api/user.php?client_id=YOUR_CLIENT_ID&api_key=YOUR_API_KEY
Header 中需携带:Authorization: Bearer ACCESS_TOKEN
成功响应:
{
"id": 1,
"username": "username",
"email": "user@example.com",
"role": "user",
"created_at": "2025-01-01 00:00:00"
}
GET /api/refresh.php?client_id=YOUR_CLIENT_ID&api_key=YOUR_API_KEY&refresh_token=REFRESH_TOKEN
或使用 POST 传参。成功返回新的 access_token 与 refresh_token。
所有 API 请求(除 OAuth2 授权/Token 端点外)都需要同时提供:
client_id:标识你的应用api_key:验证应用身份API KEY 在创建应用时仅显示一次,请妥善保存。若丢失,可在控制台重新生成。