获取认证用户信息

接口描述:

根据令牌 access_token 获取用户信息

接口地址:

地址示例:

https://cas_server_url/oauth2.0/profile?access_token=AT-3-rX4WfOiCgiF6qMNt52PfqDaQj-F4I9LK

请求方式:

  • GET

请求头:

参数名称 参数说明 请求类型 是否必须 数据类型 schema
X-App-Key 客户端应用ID header true string

请求参数:

参数名称 参数说明 请求类型 是否必须 数据类型 schema
access_token 上一步返回的access_token query true integer

响应状态

状态码 说明 schema
200 OK

其他状态码参见:全局状态码

响应示例:

正确时返回:

{
  "service" : "service_url",
  "attributes" : {
    "credentialType" : "LoginCredential"
  },
  "id" : "admin",
  "client_id" : "client"
}

错误时返回:

{
    "code": 500,
    "data": {},
    "message": "成功或异常消息",
    "status": "fail"
}

响应参数:

参数名称 参数说明 类型 schema
code 成功或异常编码 integer(int32)
data 成功或异常数据 array UserProfile
message 成功或异常消息 string
status 旧接口成功、失败或异常辅助判断标记,可用值:success,fail,error string
Schema 属性:

UserProfile

参数名称 参数说明 类型 schema
service 应用地址 string
attributes 用户属性值 integer(int64)
id 用户唯一ID string
client_id 应用客户端ID string

调用示例:

JavaScript - Fetch 示例

var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  redirect: 'follow'
};

fetch("https://cas_server_url/oauth2.0/profile?access_token=AT-8-dJTIv5RIciPET1bJsHNZHYs51m9FzJba", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Java - OkHttp 示例

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://cas_server_url/oauth2.0/profile?access_token=AT-8-dJTIv5RIciPET1bJsHNZHYs51m9FzJba")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .build();
Response response = client.newCall(request).execute();
作者:Jeebiz  创建时间:2022-10-23 16:52
最后编辑:Jeebiz  更新时间:2024-05-07 20:29