AdonisJs 中的 JWT 令牌验证过程 / Laravel
JWT token validation process in AdonisJs / Laravel
我使用的 AdonisJs
除了语法外与 Laravel
非常相似。我已经生成 JWT
令牌,用户模型提供 uid
作为电子邮件,password
作为密码,如下所示;
jwt: {
serializer: 'lucid',
model: 'App/Models/User',
scheme: 'jwt',
uid: 'email',
password: 'password',
options: {
secret: Env.get('APP_KEY'),
expiresIn: 1000000000,
}
}
我能够通过 API 与邮递员的通话验证该令牌来获得用户。
现在我已经手动更改了数据库中的 email
id,之前生成令牌时 uid
,我仍然能够验证以前的令牌并通过邮递员获取用户详细信息 api称呼。
我的问题是,当调用 await.auth.getUser()
时,Adonis auth
对象应该验证该令牌。但不是无效,而是返回数据和更新的电子邮件,这些电子邮件是从数据库中手动更改的。这个过程是如何进行的?我想这在 Laravel.
中也是一样的
Adonis 仅使用用户 ID 进行身份验证。
基本的 Adonis 代币:
full token
uid = 用户 ID
可以用jwtPayload
将User
对象编码成token,然后手动检查User
数据:
在负载中添加用户实例
创建令牌时启用jwtPayload:
const user = await User.find(1)
// generate(user, [jwtPayload], [jwtOptions])
const token = await auth.generate(user, true)
令牌示例:
获取负载数据
const data = auth.jwtPayload; // Get full Playload
const user = auth.jwtPayload.data; // Get user
输出(完整负载):
{
"uid": 2,
"data": {
"email": "test@crbast.ch",
"role": "admin",
"created_at": "2020-05-06 11:26:36",
"updated_at": "2020-05-06 11:26:36",
"id": 2
},
"iat": 1588757196
}
现在您可以验证电子邮件
我使用的 AdonisJs
除了语法外与 Laravel
非常相似。我已经生成 JWT
令牌,用户模型提供 uid
作为电子邮件,password
作为密码,如下所示;
jwt: {
serializer: 'lucid',
model: 'App/Models/User',
scheme: 'jwt',
uid: 'email',
password: 'password',
options: {
secret: Env.get('APP_KEY'),
expiresIn: 1000000000,
}
}
我能够通过 API 与邮递员的通话验证该令牌来获得用户。
现在我已经手动更改了数据库中的 email
id,之前生成令牌时 uid
,我仍然能够验证以前的令牌并通过邮递员获取用户详细信息 api称呼。
我的问题是,当调用 await.auth.getUser()
时,Adonis auth
对象应该验证该令牌。但不是无效,而是返回数据和更新的电子邮件,这些电子邮件是从数据库中手动更改的。这个过程是如何进行的?我想这在 Laravel.
Adonis 仅使用用户 ID 进行身份验证。
基本的 Adonis 代币:
uid = 用户 ID
可以用jwtPayload
将User
对象编码成token,然后手动检查User
数据:
在负载中添加用户实例
创建令牌时启用jwtPayload:
const user = await User.find(1)
// generate(user, [jwtPayload], [jwtOptions])
const token = await auth.generate(user, true)
令牌示例:
获取负载数据
const data = auth.jwtPayload; // Get full Playload
const user = auth.jwtPayload.data; // Get user
输出(完整负载):
{
"uid": 2,
"data": {
"email": "test@crbast.ch",
"role": "admin",
"created_at": "2020-05-06 11:26:36",
"updated_at": "2020-05-06 11:26:36",
"id": 2
},
"iat": 1588757196
}