0 レビュー
0 回答
php-ログアウトエンドポイントに到達すると、「401Unauthorized」と表示されます。なぜなのかご存知ですか?
jwtを使用してAPIにいくつかのリクエストを実行していましたが、正常に機能していました。次に、ログアウトエンドポイントを作成し、「http://app.test/api/logout/」のようにこのエンドポイントに対してPOSTリクエストを実行しました。
動作し、以下のコードに従って「「ログアウト」」と表示されました:
public function logout()
{
try {
auth('api')->logout();
return response()->json([
'msg' => 'Logout'
], 200);
} catch (Exception $e) {
return response()->json([
'error' => $e->getMessage()
]);
}
}
}
次に、ログインエンドポイントに対して再度リクエストを実行して、新しいjwtを取得しました。ただし、すべての投稿「http://app.test/api/posts/」を取得するためのgetリクエストなど、ログアウトリクエストの前に正常に機能していた他のエンドポイントにリクエストを実行しようとすると、常にこのエラーが表示されます:
"message": "Wrong number of segments",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\UnauthorizedHttpException",
Apiルートは「jwt.auth」ミドルウェアの下にあります:
Route::post('login', [JwtController::class, 'login'])
->name('login');
Route::post('logout', [JwtController::class, 'logout'])
->name('logout');
Route::group(['middleware' => 'jwt.auth'], function () {
...
}
application / jsonでAcceptキーをヘッダーから削除すると、無効な数のセグメントではなく、 401 not authorised
が表示されます。
何が問題になるか知っていますか?ありがとう!
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。