接口描述
应用系统通过普通授权码模式获得认证门户返回的
code
之后,调用此接口获取 Access Token 和 ID Token,完成登录。支持的应用类型
Web 应用、单页应用、移动 App。
请求方法
POST
请求路径
/oauth2/token
请求 Content-Type
application/x-www-form-urlencoded
请求示例
POST /oauth2/token HTTP/1.1Host: sample.portal.tencentciam.comContent-Type: application/x-www-form-urlencodedclient_id=TENANT_CLIENT_ID&client_secret=TENANT_CLIENT_SECRET&grant_type=authorization_code&code=MOCK_CODE&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback
请求参数
参数 | 可选 | 描述 |
client_id | false | 应用的 client_id 。需要与获取授权时使用的一致。 |
client_secret | false | |
grant_type | false | 填固定值 authorization_code 。 |
code | false | 获取授权时返回的授权码。 |
redirect_uri | false | 授权成功后的重定向地址。需要与获取授权时指定的地址一致。 |
正常响应示例
HTTP/1.1 200 OKContent-Type: application/json;charset=UTF-8{"access_token" : "eyJraWQiOiJkNDliYzUwNS01NTcyLTRlZDYtOWU0OC0zODhjM2Q0NGJiNDYiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJNT0NLX1VTRVJOQU1FIiwiYXVkIjoiVEVOQU5UX0NMSUVOVF9JRCIsIm5iZiI6MTYzNjQ0OTIzMiwic2NvcGUiOlsib3BlbmlkIl0sImlzcyI6Imh0dHBzOlwvXC9URU5BTlQuUE9SVEFMLkRPTUFJTiIsImV4cCI6MTYzNjQ0OTUzMiwiaWF0IjoxNjM2NDQ5MjMyLCJqdGkiOiJmYmM0NWQ3NS1lYmRjLTQzNjUtOWU0MS01YWM1OTg5ZDdhZTIifQ.SnBaXHhZ0jz3sbo-FPcO91YJn2LqOAuBxWTFRdIzl-PChdh4oXdaxmlWlcaLPU-niBo9TqAAmeocnomkTgt6TS2hp5IOjX8FihshlgVdagQNYM6__Zr5NHw9DH2zEps0AGA_7pyGg9trbcRBkjb2xRLyJpQ5lPkpGiNKA18SfCcsBBoy9E69wrZCZaKo3Y6iHO9v5qxlOTchajR5FI5VDZlxDLX9H3njf3C-KG5NlB7VQZBa0O4TZJm6od_sh8eCmCa5TKF7s5Zhw7JU83JfEh76WKT3rD5uEb4SbFhBGP3hL7Xsj3SJMP7nA4LlQAlINWyFzntAIuJ1VryH3JmQCg","refresh_token" : "Ugvo1lO7Se8vvIPrIOwn_eBe0hoi5-5ynR3H-aFYl0e1Gej-SfUAaBDBXkWmojm_Q7utcpwz_swzLZwGGz_I5wHAkB6iaepCX3LvqZGvt5hmMXDCt3wZY3SnhridZC85","scope" : "openid","id_token" : "eyJraWQiOiJkNDliYzUwNS01NTcyLTRlZDYtOWU0OC0zODhjM2Q0NGJiNDYiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJNT0NLX1VTRVJOQU1FIiwiYXVkIjoiVEVOQU5UX0NMSUVOVF9JRCIsImF6cCI6IlRFTkFOVF9DTElFTlRfSUQiLCJpc3MiOiJodHRwczpcL1wvVEVOQU5ULlBPUlRBTC5ET01BSU4iLCJleHAiOjE2MzY0NTEwMzIsImlhdCI6MTYzNjQ0OTIzMiwianRpIjoiMDBlOWQxMjYtYmJkYi00ZjgzLWI4NTYtNTAyYjI0OWJmNjVmIn0.enLzJ-pJlnKpFCBR0gQc7bJH2GA1q_PpqWNjxJuTE1rWuQzvH9Y0oNNi-Wc1vUQ1u0hPSAC7in4E8vUpWDuDFyXrKWvwNxxj5uyLfFrAc2hnrju0ZUOT58lOqYd0Y48hA6THuxm9aA_EuOHvR3SxIS0cj_O5xJCwvhSqGUldRXGVgB4yMXXvZWkxWm5Q3B_hJc8aZtLpmo76-AKTz2OQouZ5bDE3WD89THuKN4mVxygyyIGTgpuIeyP1x14aTgvNKp2N-HGRoUwCzks_fLMcxmH5vqkI5alMi-XDfG8LWWhObM9j54oShSTpkok51B9VGTTOwbK4ZXeVRI48sCxWmg","token_type" : "Bearer","expires_in" : 299}
说明
响应参数
参数 | 数据类型 | 描述 |
access_token | String | OAuth 2.0 Access Token (JWT)。 |
token_type | String | Token 类型,目前取固定值 Bearer 。 |
expires_in | Number | Access Token 有效期,单位秒。 |
scope | String | Access Token 的 Scope。 |
refresh_token | String | OAuth 2.0 Refresh Token。 |
id_token | String | OIDC ID Token (JWT)。 |
说明
异常响应示例
client_id 参数缺失或有误。
HTTP/1.1 401 Unauthorized
client_id 与获取授权和获取 Token 时使用的不一致。
HTTP/1.1 401 UnauthorizedContent-Type: application/json;charset=UTF-8{"error" : "invalid_client"}
grant_type 参数有误。
HTTP/1.1 400 Bad RequestContent-Type: application/json;charset=UTF-8{"error" : "unsupported_grant_type","error_description" : "OAuth 2.0 Parameter: grant_type","error_uri" : "https://datatracker.ietf.org/doc/html/rfc6749#section-5.2"}
code 参数有误。
HTTP/1.1 400 Bad RequestContent-Type: application/json;charset=UTF-8{"error" : "invalid_grant"}