1
我已经为JWT认证设置了Tymon包。如果有新用户注册或登录,我会成功获取令牌。但是当我将令牌传递给Laravel JWT时,我发现用户未找到错误。JWT认证user_not_found Tymon
控制器代码
public function authenticate()
{
$credentials = request()->only('user_name','password');
try{
$token = JWTAuth::attempt($credentials);
if(!$token){
return response()->json(['error'=>'invalid_credentials'],401);
}
}
catch(JWTException $e){
return response()->json(['error'=>'something went wrong'],500);
}
return response()->json(['token'=>$token],200);
}
public function register()
{
$user_name = request()->user_name;
$c_name = request()->company_name;
$accessibility_level = request()->accessability_level;
$password = request()->password;
$contact_number = request()->contact_number;
$address = request()->address;
$user = User::create([
'user_name'=>$user_name,
'c_name'=>$c_name,
'accessibility_level'=>$accessibility_level,
'password'=>bcrypt($password),
'contact_number'=>$contact_number,
'address'=>$address
]);
$token = JWTAuth::fromUser($user);
return response()->json(['token'=>$token],200);
}
与上面的代码没有问题工作正常。
但是,当我尝试访问一些数据与JWT验证我得到一个错误作为USER_NOT_FOUND。我已经通过邮递员获得了作为标题的令牌。
航线代码
Route::get('/some_route','[email protected]')->middleware('jwt.auth');
而且jwt.php也被设置与我的模型(主键)使用了正确的标识
'identifier' => 'user_name',