JWT 令牌未保存在数据库中
JWT token not saved on database
用户的身份验证returns令牌,但未保存在数据库中
AuthController:
'use strict'
const User = use("App/Models/User");
class AuthController {
async registrar({ request }) {
const data = request.only(["username", "email", "password"]);
const user = await User.create(data);
return user;
}
async autenticar({ request, auth }) {
const { email, password } = request.all();
const retorno = {};
let token;
if (token = await auth.attempt(email, password)) {
const user = await User.findBy('email', email)
retorno.token = token.token;
retorno.user = user.username;
retorno.id = user.id;
} else {
retorno.data = "E-mail ou senha Incorretos";
}
return retorno;
}
}
module.exports = AuthController
我的要求
POST http://localhost:3333/autenticar
{
"email":"c@gmail.com",
"password": "123456"
}
我的回复
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjEsImlhdCI6MTYxNTI5Njk4MH0.O0X4gGIEtMiZfEH3VxWbffsCZQDUhgEv0CymA0dB6z8",
"user": "gui",
"id": 1
}
request and response auth
我的代币table请求后
0 tokens
我在另一个网站上发现了同样的问题,但我找不到有帮助的答案。
AdonisJS 不存储 JWT token in the db. Only refresh token 存储。
Why JWT token are not stored?
^ JWT 没有保存在数据库中,因为它没有用。所有 JWT 令牌都经过签名,因此服务器可以轻松检查令牌是否有效。有用的答案
JWT 令牌不像不透明令牌那样工作。不透明令牌保存在数据库中,后端检查令牌是否存在,然后授予访问权限。
有用link:https://medium.com/@piyumimdasanayaka/json-web-token-jwt-vs-opaque-token-984791a3e715
了解 JSON 网络令牌:
用户的身份验证returns令牌,但未保存在数据库中
AuthController:
'use strict'
const User = use("App/Models/User");
class AuthController {
async registrar({ request }) {
const data = request.only(["username", "email", "password"]);
const user = await User.create(data);
return user;
}
async autenticar({ request, auth }) {
const { email, password } = request.all();
const retorno = {};
let token;
if (token = await auth.attempt(email, password)) {
const user = await User.findBy('email', email)
retorno.token = token.token;
retorno.user = user.username;
retorno.id = user.id;
} else {
retorno.data = "E-mail ou senha Incorretos";
}
return retorno;
}
}
module.exports = AuthController
我的要求
POST http://localhost:3333/autenticar
{
"email":"c@gmail.com",
"password": "123456"
}
我的回复
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjEsImlhdCI6MTYxNTI5Njk4MH0.O0X4gGIEtMiZfEH3VxWbffsCZQDUhgEv0CymA0dB6z8",
"user": "gui",
"id": 1
}
request and response auth
我的代币table请求后 0 tokens
我在另一个网站上发现了同样的问题,但我找不到有帮助的答案。
AdonisJS 不存储 JWT token in the db. Only refresh token 存储。
Why JWT token are not stored?
^ JWT 没有保存在数据库中,因为它没有用。所有 JWT 令牌都经过签名,因此服务器可以轻松检查令牌是否有效。有用的答案
JWT 令牌不像不透明令牌那样工作。不透明令牌保存在数据库中,后端检查令牌是否存在,然后授予访问权限。
有用link:https://medium.com/@piyumimdasanayaka/json-web-token-jwt-vs-opaque-token-984791a3e715
了解 JSON 网络令牌: