验证 Token
JWT Token 是用户登录后的唯一凭证,验证 Token 合法性和用户的登录状态有三种方法:
请根据以下信息选择验证 Token 的方式:
如果你直接调用了登录方法(Login),这时由 Authing 签发 Token,那么请使用第一种方式验证;
如果你使用了 OIDC 流程,那么请使用第二种方式验证 OIDC 签发的 Token;
如果你使用了 OIDC 流程接入了其他 SaaS,该 SaaS 想要通过 API 验证 Token,请使用第三种方法的 OIDC 部分;
如果你使用了 OIDC 流程,同时想让服务期变得无状态,请使用第三种方法的 OIDC 部分;
如果你使用了 OAuth 2.0 流程,那么请使用第三种方式的 OAuth 部分;
注意,不论是 OIDC 还是 OAuth 流程,Authing 都会签发一个由 Authing 签发的 Token,该 Token 也可以用来验证用户的登录状态,该 Token 保存在登录成功后返回的用户信息中,字段名称为 Token。
注:如果你的 Token 中带有自定义字段,请使用 https://users.authing.cn/authing/token 接口,否则无法得到自定义 Token 字段。
关于如何往 Token 中加入自定义字段,请见自定义 Pipeline 中的 user 对象。
发送 Token 给 Authing 服务器验证
此方式适用于验证扫码登录或直接调用登录接口后获取到的 Token。
验证 Authing 签发的 Token
GET
https://users.authing.cn/authing/token
此方式适用于验证扫码登录或者直接调用登录接口后获取到的 Token
Path Parameters
access_token
string
Authing 签发的 Token
请求示例
返回结果示例
字段解释:
status:Token 状态,true 为正常,false 为非法;
code:状态代码,200 正常,非 200 不正常;
message:提示信息;
token:
data:用户信息,email 为用户邮箱,id 为用户的唯一标识,clientId 为用户池 id,unioind 为用户使用三方登录时用户在三方登录平台的 id;
iat:Token 签发时间;
exp:Token 过期时间;
使用 OIDC 应用的密钥验证 Token
如果你使用了 OIDC 流程,请使用此方式验证 Token。
密钥在控制台中 OIDC 应用的详情中可以获取到,如下图所示:
以下验证合法性的代码以 Node 为例(需要安装 jsonwebtoken
)。
为了避免在客户端暴露 OIDC App Secret,建议在服务端通过 OIDC App Secret 验证 id_token 的合法性。
如果你对如何在后端处理 OIDC 有困惑,请参考 Github 上的示例代码:oidc-demo。
在线验证 OIDC 或 OAuth Token
验证 OIDC access_token 或 id_token 的合法性
GET
https://oauth.authing.cn/oauth/oidc/validate_access_token
Path Parameters
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