1.3.2. 授权码授予令牌请求

授权头部

授权方案:

BasicRFC 7617

凭证值:

{客户端标识}:{客户端秘密密钥}进行BASE64编码(RFC 4648#section-4)。

请求方式

POST

请求路径

/token

请求格式

application/json

请求数据

名称

类型

约束

描述

grant_type

字符串

必选

固定值:authorization_code

code

字符串

必选

一次性验证码。

redirect_uri

URL

条件

授权成功后的重定向地址。

如果在生成授权页面地址时传入,此处必须完全一致。

code_verifier

字符串

条件

验证码。

如果在生成授权页面地址时传入挑战字,此处必须传入相应的验证码。

响应代码

200 OK:

获取成功。

响应格式

application/json

响应数据

名称

类型

约束

描述

access_token

字符串

必选

访问令牌。

token_type

字符串

必选

访问令牌类型。

expires_in

整数

必选

访问令牌剩余有效时间(秒)。

refresh_token

字符串

可选

刷新令牌。

scope

字符串

必选

令牌包含权限条目。

如果有多个条目,使用空格符(ASCII:0x20," ")进行连接多个条目。

交互示例

备注

为方便阅读,仅展示关键信息字段,并对数据进行了仅用于显示目的格式化调整。

请求示例

POST /token HTTP/1.1
Host: oauth2.api.neusoft.edu.cn
Content-Type: application/x-www-form-urlencoded
Authorization: Basic ZHVtbXk6ZHVtbXk=

grant_type=authorization_code
&code=b19c69b1-86da-4f26-ab31-0560d0740c2d
&redirect_uri=https%253A%252F%252Fclient.example.net%252Foauth2%252Fcallback
&code_verifier=123456

响应示例

HTTP/1.1 200 OK
Content-Type: application/json

{
    "access_token": "9dd1837c-b9a3-4648-8c18-3ada97a6c167",
    "token_type": "bearer",
    "expires_in": 3600,
    "refresh_token": "1119c62c-4ed7-432f-8f1f-d2d2862c281d",
    "scope": "core:user:id"
}