Токен святилища Laravel после авторизации

Я использую в своем проекте Laravel Sanctum. Я создал промежуточное ПО для добавления заголовка авторизации (токена носителя) для каждого запроса API. У пользователя Auth есть токен, но он хешируется в базе данных. Я хочу отправить токен (который авторизован) для следующих запросов. Как я могу получить значение аутентифицированного токена (например, токен JWT)?

2 ответа

Вы можете получить plainTextTokenтолько когда он впервые создан. После того, как он создан, получить его снова будет невозможно. Он возвращается в теле ответа token / create. Захватите его и не потеряйте, это будет единственный способ для этого пользователя связаться / аутентифицироваться с вашими защищенными маршрутами. После создания хешированная (не дешифруемая) версия сохраняется в базе данных. Токен в виде обычного текста, который вы сохраняете из метода tokens / create, хешируется и сравнивается с ним для подтверждения личности пользователя. В отличие от JWT, вы не получите новых итераций одного и того же токена после создания.

Подробнее см. Здесь: https://laravel.com/docs/8.x/sanctum#issuing-api-tokens

Вы можете поймать токен из заголовка, подобного этому

              $token = null;
        $headers = apache_request_headers();
        if (isset($headers['Authorization'])) {
            if (strpos($headers['Authorization'], 'Bearer') !== false) {
                $token = str_replace('Bearer ', '', $headers['Authorization']);
            }
        }
Другие вопросы по тегам