## 请求授权 ### 基本信息 | 属性 | 内容 | |:-----------|:---------------------------------| | 接口名称 | 请求授权 | | 接口版本 | v1.0 | | 接口路径 | /authorize | | 请求方法 | GET | | 接口状态 | 生产环境 | ### 接口说明 该接口用于发起 OAuth 2.0 授权码模式授权,建议由开发者服务端参与授权流程。 用户未登录时,接口会重定向到登录页面;用户已登录时,接口会自动完成授权并重定向到 `redirect_uri` 指定的地址。 ### 接口地址 ``` https://passportapi.115.com/open/authorize ``` ### 请求方式 ``` GET ``` ### 认证方式 ``` OAuth 2.0 授权码模式 ``` ### 请求参数 | 参数名 | 类型 | 必填 | 默认值 | 说明 | 约束/示例 | |:-----------|:-------|:---|:----|:-----------------------------------------------|:---------------------| | client_id | string | 是 | - | AppID | `YOUR_APP_ID` | | redirect_uri | string | 是 | - | 授权完成后的重定向地址;接口会附加授权码 `code`,并原样附加请求中的 `state` | `https://foo.com/bar` | | response_type | string | 是 | - | 授权模式,固定为 `code` | `code` | | state | string | 否 | "" | 防止 CSRF 攻击的随机值,重定向时原样返回 | `123456` | ### 请求示例 ```shell curl -G 'https://passportapi.115.com/open/authorize' \ --data-urlencode 'client_id=YOUR_APP_ID' \ --data-urlencode 'redirect_uri=https://foo.com/bar' \ --data-urlencode 'response_type=code' \ --data-urlencode 'state=123456' ``` ### 响应字段说明 接口调用成功时会重定向到 `redirect_uri`,并通过查询参数返回授权码 `code` 和请求中携带的 `state`。接口调用失败时返回以下字段: | 字段 | 类型 | 描述 | |:--------|:-------|:------------------| | state | int | 状态码:0-失败;1-成功 | | code | int | 错误码 | | data | object | 响应数据 | | message | string | 响应信息 | ### 响应示例 ```json { "state": 0, "code": 40140127, "data": {}, "message": "response_type 错误" } ``` ### 注意事项 - `redirect_uri` 需要先在[115生活开放平台](https://open.115.com/)的应用管理中配置域名,并在请求时进行 URL 编码。 - 强烈建议传入随机 `state`,并在换取 `access_token` 前验证重定向返回的 `state` 与请求值一致,以防止 CSRF 攻击。 ### 修改历史 | 修改时间 | 修改说明 | |:-----------------------------|:-----| | 2025年04月01日(周二) 00:00:00 | 创建文档 |