1

次のログイン方法があります。

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ミドルウェアを使用しないルートも機能します。ここで何が間違っているのですか?

不眠症のセットアップ

4

2 に答える 2