Laravel Passport - /oauth/token генерирует недопустимый токен

Итак, я создал клиента с помощью php artisan passport:client, и когда я делаю POST-запрос к oauth/token, я, к счастью, получаю токен.

Однако, когда я пытаюсь использовать этот токен, помещая его в свои заголовки и переходя на auth:api защищенный маршрут, я получаю 401 неавторизованный.

Однако использование другого маршрута для входа в систему, похоже, работает. Когда я использую этот маршрут в своем контроллере API:

Route::post('/login', 'Auth\LoginController@login')->name('login');

который имеет следующий код:

public function login(Request $request) {
    $input = $request->all();

    if (Auth::attempt(['email' => $input['email'], 'password' => $input['password'] ])) {
        $user = Auth::user();

        return [
            'success' => true,
            'token' => $user->createToken('test')->accessToken
        ];
    }

    return [
        'success' => false,
        'message' => 'unable to authenticate'
    ];
}

Я получаю обратно токен, который работает на защищенных маршрутах.

Я использую Postman для тестирования, у меня есть заголовки Authorization: Bearer <token> и Accept: application/json. Не уверен, почему это работает так, а не иначе.

edit: Вот защищенный маршрут:

Route::middleware('auth:api')->get('/user', function (Request $request) 
{
    return $request->user();
});

который использует:

'api' => [
    'driver' => 'passport',
    'provider' => 'users',
],

Что содержит остальная часть вашего api промежуточного программного обеспечения?

D Malan 05.03.2019 16:25

я обновил свой вопрос

janedoe 05.03.2019 16:33

Вы проверили, существует ли возвращенный токен в базе данных? Кроме того, вы передали пустые области, которые также могут повлиять на вещи.

FatBoyXPC 05.03.2019 17:11

это так, но я заметил, что столбец user_id имеет значение null для этого токена. однако клиент, который я использую для аутентификации, имеет связанный с ним user_id

janedoe 05.03.2019 17:13

Вы только что ответили на свой вопрос, вам нужно выяснить, почему user_id не устанавливается.

FatBoyXPC 05.03.2019 17:25

это не было проблемой, к сожалению. я вручную установил user_id на что-то в сиквеле про, и я все еще не аутентифицируюсь.

janedoe 05.03.2019 17:33

Какой веб-сервер вы используете, apache, nginx или artisan?

FatBoyXPC 05.03.2019 17:37

апач прямо сейчас

janedoe 05.03.2019 17:41

Apache печально известен удалением заголовка Authorization. Вы захотите убедиться, что у вас есть этот заголовок во входящем запросе.

FatBoyXPC 05.03.2019 17:42
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
9
1 302
1

Ответы 1

В моем случае удалите компонент Lsapi с сервера WHM и запустите его.

Спасибо за ваш вклад. Пожалуйста, добавьте контекст и объяснение, почему это может работать как решение. Если это имеет смысл, также объясните, как это сделать. Как есть, ваш ответ, вероятно, более полезен в качестве комментария к OP и может не считаться полным и правильным ответом в соответствии с рекомендациями SO. Полезным ответом было бы автономное решение, которое оставляет будущим посетителям дополнительные знания, которые они могут применить в своих ситуациях. Качественные информативные ответы с большей вероятностью будут одобрены, в то время как низкокачественные ответы, скорее всего, будут загружены или вообще удалены.

SherylHohman 01.05.2020 21:58

Другие вопросы по теме