Jwt 身份验证问题 - 凭据无效
Jwt authentication problem - invalid credentials
当我在 Laravel 中对创建的用户使用身份验证时,它是有效的,但是...当我更改为我的数据库时,我无法再验证它。
用户的密码是用bcrypt加密的,当做Hash::check()时,return是true,但是 JWT 验证总是 return 告诉我错误。
我在使用以下代码时遇到问题:
$credentials = $request->only('email', 'senha');
try {
if(! $token = JWTAuth::attempt($credentials)){
return response()->json(['error' => 'invalid_credentials'], 400);
}
}catch(JWTException $e){
return response()->json(['error' => 'could_not_create_token'], 500);
}
return response()->json([
'access_token' => $token,
'token_type' => 'bearer',
'expires_in' => auth()->factory()->getTTL() * 60
]);
我从资源页面本身检查了一些文章,例如 this,而其他一些文章找不到解决方案!
laravel版本是5.2!
编辑
数据库中的字段称为 'email' 和 'senha'(pt-br 语言)。当我更改字段时,错误是相同的!
JWTAuth::attempt($credentials)
部分将查找输入值 'email' 和 'passowrd'.
所以在凭据中你必须通过 $request->only('email', 'password');
而不是 $request->only('email', 'senha');
我使用 Laravel 标准在银行中创建了一个新的 table 解决了这个问题。
当我在 Laravel 中对创建的用户使用身份验证时,它是有效的,但是...当我更改为我的数据库时,我无法再验证它。
用户的密码是用bcrypt加密的,当做Hash::check()时,return是true,但是 JWT 验证总是 return 告诉我错误。
我在使用以下代码时遇到问题:
$credentials = $request->only('email', 'senha');
try {
if(! $token = JWTAuth::attempt($credentials)){
return response()->json(['error' => 'invalid_credentials'], 400);
}
}catch(JWTException $e){
return response()->json(['error' => 'could_not_create_token'], 500);
}
return response()->json([
'access_token' => $token,
'token_type' => 'bearer',
'expires_in' => auth()->factory()->getTTL() * 60
]);
我从资源页面本身检查了一些文章,例如 this,而其他一些文章找不到解决方案!
laravel版本是5.2!
编辑
数据库中的字段称为 'email' 和 'senha'(pt-br 语言)。当我更改字段时,错误是相同的!
JWTAuth::attempt($credentials)
部分将查找输入值 'email' 和 'passowrd'.
所以在凭据中你必须通过 $request->only('email', 'password');
而不是 $request->only('email', 'senha');
我使用 Laravel 标准在银行中创建了一个新的 table 解决了这个问题。