前提・実現したいこと
laravelでjwtを使った認証機能の作成を行っています。ですが、どんな値を渡してもうまくいきません
発生している問題・エラーメッセージ
必要なコードを記入しPOSTMANでトークンが返ってくるかの検証をしているのですが、常に
html
1{ 2 "error": "Unauthorized" 3}
と返ってきます。
なぜ成功しないのか助言をいただきたいです。
該当ソースコード
PHP
1Route::group(["middleware" => "guest:api"], function () { 2 Route::post('/login', 'AuthController@login'); 3});
PHP
1class AuthController extends Controller 2{ 3 function login() { 4 $credentials = request(['email', 'password']); 5 6 if (! $token = auth("api")->attempt($credentials)) { 7 return response()->json(['error' => 'Unauthorized'], 401); 8 } 9 10 return $this->respondWithToken($token); 11 } 12 13 public function me() 14 { 15 return response()->json(auth()->user()); 16 } 17 18 protected function respondWithToken($token) 19 { 20 return response()->json([ 21 'access_token' => $token, 22 'token_type' => 'bearer', 23 'expires_in' => auth("api")->factory()->getTTL() * 60 24 ]); 25 } 26}
PHP
1'defaults' => [ 2 // 'guard' => 'web' 3 'guard' => 'api', 4 'passwords' => 'users', 5 ], 6 7 8 9 'guards' => [ 10 'web' => [ 11 'driver' => 'session', 12 'provider' => 'users', 13 ], 14 15 'api' => [ 16 // 'driver' => 'token' 17 'driver' => 'jwt', 18 'provider' => 'users', 19 'hash' => false, 20 ], 21 ],
補足情報(FW/ツールのバージョンなど)
Laravel Framework 7.22.4
参考にさせていただいた記事: https://qiita.com/tkt989/items/15b49e9ea8d31d8228ce
追記
質問文にどんな値もと書いてしまいましたが今し方passwordをハッシュ化して保存しているユーザーでのログインを試みた結果また違ったエラーが出てしまい私では解決できそうにないです
Argument 1 passed to Tymon\JWTAuth\JWTGuard::login() must be an instance of Tymon\JWTAuth\Contracts\JWTSubject, instance of Illuminate\Auth\GenericUser given, called in /Applications/MAMP/htdocs/laravel/task_app/taskback/vendor/tymon/jwt-auth/src/JWTGuard.php on line 127
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。