mirror of
https://github.com/truewhile/MeBox.git
synced 2026-09-28 03:06:38 +08:00
3.5 KiB
3.5 KiB
用授权码换取access_token
基本信息
| 属性 | 内容 |
|---|---|
| 接口名称 | 用授权码换取access_token |
| 接口版本 | v1.0 |
| 接口路径 | /authCodeToToken |
| 请求方法 | POST |
| 接口状态 | 生产环境 |
接口说明
该接口用于通过授权码换取 access_token。建议在开发者服务端调用,避免泄露 AppSecret。
接口地址
https://passportapi.115.com/open/authCodeToToken
请求方式
POST
Content-Type: application/x-www-form-urlencoded
认证方式
OAuth 2.0 授权码模式
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 | 约束/示例 |
|---|---|---|---|---|---|
| client_id | string | 是 | - | AppID | YOUR_APP_ID |
| client_secret | string | 是 | - | AppSecret | YOUR_APP_SECRET |
| code | string | 是 | - | 请求授权接口重定向返回的授权码 | AUTHORIZATION_CODE_PLACEHOLDER |
| redirect_uri | string | 是 | - | 与请求授权时传入的 redirect_uri 一致,用于防止 MITM 和 CSRF 攻击 |
https://foo.com?state=123456 |
| grant_type | string | 是 | - | 授权类型,固定为 authorization_code |
authorization_code |
请求示例
curl 'https://passportapi.115.com/open/authCodeToToken' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=YOUR_APP_ID' \
--data-urlencode 'client_secret=YOUR_APP_SECRET' \
--data-urlencode 'code=AUTHORIZATION_CODE_PLACEHOLDER' \
--data-urlencode 'redirect_uri=https://foo.com?state=123456' \
--data-urlencode 'grant_type=authorization_code'
响应字段说明
| 字段 | 类型 | 描述 |
|---|---|---|
| state | int | 状态码:0-失败;1-成功 |
| code | int | 错误码 |
| message | string | 响应信息 |
| data | object | 响应数据 |
| data.access_token | string | 访问资源接口的凭证 |
| data.refresh_token | string | 刷新 access_token 的凭证,有效期 1 年 |
| data.expires_in | int | access_token 有效期,单位为秒 |
响应示例
{
"state": 1,
"code": 0,
"message": "",
"data": {
"access_token": "ACCESS_TOKEN_PLACEHOLDER",
"refresh_token": "REFRESH_TOKEN_PLACEHOLDER",
"expires_in": 7200
}
}
注意事项
- 必须在服务端安全保存并使用 AppSecret,不得在客户端代码、公开仓库或日志中泄露。
redirect_uri必须与请求授权时传入的值一致。access_token和refresh_token属于敏感凭证,应按照敏感数据规范存储。
修改历史
| 修改时间 | 修改说明 |
|---|---|
| 2025年04月01日(周二) 00:00:00 | 创建文档 |