Access Token 简介
我们使用 OAuth2
协议做权限验证,所以在您使用使用接口之前需要先申请 client_id
与 client_secret
。
注: 目前尚未开放申请,如需开发客户端,请联系
[email protected]
!
在访问其他接口之前,你需要先获取 access_token
,可通过两种授权方式获取。
- client_credentials
- login_token
下面我们将分别介绍这两种授权方式.
client_credentials 认证
仅需要 client_id
与 client_secret
即可,无需用户身份。此认证方式获得的 access_token
拥有大部分接口的读取权限。
接口地址 https://api.phphub.org/v1/oauth/access_token
POST 参数
key | 传入 |
---|---|
grant_type | client_credentials |
client_id | 申请 client_id |
client_secret | 申请的 client_secret |
返回样例
{
"access_token": "fnpi7B4wA4ZzTxkvjCnCESUyf6yPl7PXNgxZVne9",
"token_type": "Bearer",
"expires_in": 3600
}
返回字段说明
字段 | 说明 |
---|---|
access_token | 成功获取到的 access_token |
token_type | token 类型(始终为 Bearer) |
expires_in | token 有效期,单位为秒 |
login_token 认证
需要 client_id
, client_secret
与 用户身份
来获取,获取到的 access_token
拥有几乎所有接口的访问与写入权限。
扫描用户的登陆二维码(用户个人主页),解析后会获得用于登陆的 username
和 login_token
。
数据的格式为 {username},{login_token}
login_koken
长度为 20 - 32 个字符,例:
nauxliu,nWKEYFZ2wmSikRMjJ2Vl
然后使用 username
和 login_token
获取 access_token
接口地址 https://api.phphub.org/v1/oauth/access_token
POST 参数
key | 传入 |
---|---|
grant_type | login_token |
client_id | 申请 client_id |
client_secret | 申请的 client_secret |
username | 扫描获取的 username |
login_token | 扫描获取的 login_token |
返回
{
"access_token": "A0nVbVy9waLf2v7Tr8npQZRd7SYw0Z4WPJkL8VFm",
"token_type": "Bearer",
"expires_in": 31536000,
"refresh_token": "x1txmTcWP4l81BEbmlPdeOZWETvze13rBrDOzTmG"
}
返回字段说明
字段 | 说明 |
---|---|
access_token | 成功获取到的 access_token |
token_type | token 类型(始终为 Bearer) |
expires_in | token 有效期,单位为秒 |
refresh_token | 可用来获取新的 access_token |
刷新 access token
通过上面的返回数据可以看到,通过 login_token
认证方式获取 access_token
的时候接口会同时返回 refresh_token
。
当 access_token
过期后,通过刷新机制,无需再次扫码即可再获得一个包含用户身份的 access_token
。
接口地址 https://api.phphub.org/v1/oauth/access_token
POST 参数
key | 传入 |
---|---|
grant_type | refresh_token |
client_id | 申请 client_id |
client_secret | 申请的 client_secret |
refresh_token | 上次请求返回的 refresh_token |