验证 JWT Token
JWT Token 是用户登录后的唯一凭证,验证 Token 有三种方法:
发送 Token 给 Authing 服务器验证
Authing 使用 GraphQL 进行数据交换,以下以 JavaScript 为例,演示如何发送 Token 给 Authing 服务器:
import axios from 'axios'
axios({
method: 'POST',
operationName: 'checkLoginStatus',
query: `query checkLoginStatus($token: String) {
checkLoginStatus(token: $token) {
status
code
message
token {
data {
email
id
clientId
unionid
}
iat
exp
}
}
}`,
variables: {
token: 'USER_JWT_TOKEN'
},
}).then((res) => {
const d = res.data;
if (d.errors) {
throw d.errors[0];
}
return d.data.checkLoginStatus;
});
.then((loginStatus) => {
// handle login status
})
.catch((error) => {
// handle error
});若你使用了 Web SDK,使用上可以简单一些,如下所示:
若 Token 合法,则返回数据为:
当 status 为 false 时,有三种情况,分别返回:
若你使用的为非 JavaScript 语言,请参考以下链接查看如何发送 GraphQL 请求:
各语言使用 GraphQL 的方法
验证 JWT Token 合法性的 GraphQL
字段解释:
status:Token 状态,true 为正常,false 为非法;
code:状态代码,200 正常,非 200 不正常;
message:提示信息;
token:
data:用户信息,email 为用户邮箱,id 为用户的唯一标识,clientId 为用户池 id,unioind 为用户使用三方登录时用户在三方登录平台的 id;
iat:Token 签发时间;
exp:Token 过期时间;
使用 OIDC 应用的密钥验证 Token
密钥在控制台中 OIDC 应用的详情中可以获取到,如下图所示:


以下验证合法性的代码以 Node 为例(需要安装 jsonwebtoken)。
如果你对如何在后端处理 OIDC 有困惑,请参考 Github 上的示例代码:oidc-demo。
在线验证
验证 OIDC access_token 或 id_token 的合法性
GET https://oauth.authing.cn/oauth/oidc/validate_access_token
验证 OIDC 相关 token 合法性的线上接口。
Path Parameters
access_token
string
值为 access_token 或 id_token
验证 OAuth access_token 合法性
GET https://oauth.authing.cn/authenticate
验证 OAuth token 合法性的线上接口
Path Parameters
access_token
string
OAuth 签发的 access_token
Last updated
Was this helpful?