更新时间:2023-07-24 GMT+08:00
分享

OAuth获取AccessToken

用于web端OAuth登录认证场景,用户登录获得临时凭证后,SaaS服务器用临时凭证换取用户会话token。

URI

POST /api/v1/oauth2/token

请求参数

表1 FormUrlEncoded参数

参数

是否必选

参数类型

描述

client_id

String

应用标识,注册应用后,分配的ClientId。

client_secret

String

应用密钥,注册应用后,分配的ClientSecret。(解密后的明文)

code

String

授权码,认证登录后回调获取的授权码。(code值仅可使用一次)

grant_type

String

授权类型,固定值:authorization_code。

redirect_uri

String

回调地址,注册应用时填写的回调地址。

请求示例

POST {domain_name}/api/v1/oauth2/token
Content-Type: application/x-www-form-urlencoded
code=z2D...&
client_id=NzZeWuiJa91dPSRdZQChMazIh13AW...&
client_secret=******...&
redirect_uri=https://example.com&
grant_type=authorization_code

响应参数

表2 响应Body参数

参数

参数类型

描述

access_token

String

授权服务器返回给第三方应用的访问令牌。

token_type

String

访问令牌类型。固定值:Bearer。

expires_in

Long

访问令牌的有效期,以秒为单位。

scope

refresh_token

String

String

授权范围。

refresh_token String 刷新令牌,默认生成,有效期30天。

error

String

错误类型。

error_description

String

错误描述。

refresh_token有效期设置应比access_token长。

响应示例

表3 状态码

状态码

描述

200

请求成功。

400

请求错误。

状态码:200

请求成功。

示例1

{
"access_token" : "******",
"token_type" : "Bearer",
"expires_in" : 7200,
"scope" : "get_user_info"
}

示例2

{
"access_token" : "******",
"token_type" : "Bearer",
"expires_in" : 7200,
"scope" : "get_user_info",
"refresh_token" : "******"
}

状态码:400

请求错误。

{
"error" : "invalid_grant",
"error_description" : "Invalid authorization code"
}

相关文档