次のログイン方法があります。
public function index(Request $request)
{
$request->validate([
'email' => 'required|email',
'password' => 'required',
'device_name' => 'required'
]);
$user = User::where('email', $request->email)->first();
if (! $user || ! Hash::check($request->password, $user->password)) {
throw ValidationException::withMessages([
'email' => ['The provided credentials are incorrect.'],
]);
}
return response([
'user' => $user,
'session_token' => $user->createToken($request->device_name)->plainTextToken,
], 201);
}
このメソッドは機能しており、返されるトークンは次のような形式です。
5|5lR3o7vEzlm6iOieKxTW2pco1msKLN0WHb0Ozxv2relwIB4eJetyPnADOu6Dp0griYY7U1YZJEAqk6Ct
そのトークンでauth:sanctumの背後にあるルートを使用しようとすると、取得しています
401 - "message": "Unauthenticated."
最新の Laravel 7 を使用しています。構成:
.env
APP_URL=http://localhost:9099
SANCTUM_STATEFUL_DOMAINS=http://localhost:9099
cors.php
'paths' => ['api/v1/*'],
API テストに Insomnia を使用しています。login メソッドは機能し、 auth:sanctumミドルウェアを使用しないルートも機能します。ここで何が間違っているのですか?