OAuth获取AccessToken
用于web端OAuth登录认证场景,用户登录获得临时凭证后,SaaS服务器用临时凭证换取用户会话token。
URI
POST /api/v1/oauth2/token
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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
响应参数
参数 |
参数类型 |
描述 |
---|---|---|
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长。
响应示例
状态码 |
描述 |
---|---|
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" }