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',