验证 Token

‌JWT Token 是用户登录后的唯一凭证,验证 Token 合法性和用户的登录状态有三种方法:‌

请根据以下信息选择验证 Token 的方式:

  1. 如果你直接调用了登录方法(Login),这时由 Authing 签发 Token,那么请使用第一种方式验证;

  2. 如果你使用了 OIDC 流程,那么请使用第二种方式验证 OIDC 签发的 Token;

  3. 如果你使用了 OIDC 流程接入了其他 SaaS,该 SaaS 想要通过 API 验证 Token,请使用第三种方法的 OIDC 部分;

  4. 如果你使用了 OIDC 流程,同时想让服务期变得无状态,请使用第三种方法的 OIDC 部分;

  5. 如果你使用了 OAuth 2.0 流程,那么请使用第三种方式的 OAuth 部分;

  6. 注意,不论是 OIDC 还是 OAuth 流程,Authing 都会签发一个由 Authing 签发的 Token,该 Token 也可以用来验证用户的登录状态,该 Token 保存在登录成功后返回的用户信息中,字段名称为 Token。

注:如果你的 Token 中带有自定义字段,请使用 https://users.authing.cn/authing/token 接口,否则无法得到自定义 Token 字段。

关于如何往 Token 中加入自定义字段,请见自定义 Pipeline 中的 user 对象

发送 Token 给 Authing 服务器验证

此方式适用于验证扫码登录直接调用登录接口后获取到的 Token。

get
验证 Authing 签发的 Token

https://users.authing.cn/authing/token
此方式适用于验证扫码登录或者直接调用登录接口后获取到的 Token
Request
Response
Request
Path Parameters
access_token
required
string
Authing 签发的 Token
Response
200: OK
{
"status": true,
"message": "已登录",
"code": 200,
"token": {
"data": {
"email": "YOUR_EMAIL@domain.com",
"id": "YOUR_USER_ID",
"clientId": "YOUR_UESR_POOL_ID"
},
"iat": "Token 签发时间"
"exp": "Token 过期时间"
}
}

请求示例

$ curl https://users.authing.cn/authing/token?access_token=YOUR_TOKEN

返回结果示例

{
"status": true,
"message": "已登录",
"code": 200,
"token": {
"data": {
"email": "YOUR_EMAIL@domain.com",
"id": "YOUR_USER_ID",
"clientId": "YOUR_UESR_POOL_ID"
},
"iat": "Token 签发时间"
"exp": "Token 过期时间"
}
}

字段解释:

  1. status:Token 状态,true 为正常,false 为非法;

  2. code:状态代码,200 正常,非 200 不正常;