Использование файла cookie laravel 11 для ручной аутентификации запроса

я пытаюсь аутентифицировать запрос, отправленный из внешнего интерфейса из другого домена я попытался установить заголовок «Cookie» со значением cookie, но он был заблокирован браузером, поэтому я сделал следующее

headers: {
                'Authorization': 'Bearer ' + sessionStorage.getItem('Cookie'),
            }

мой план сейчас — создать промежуточное программное обеспечение, и я знаком с этим методом

$request->bearerToken() 

но я не уверен, как использовать файл cookie, который мне нужен для аутентификации запроса, я использую laravel 11

Не уверен, что вы здесь спрашиваете. Мне кажется, вы пытаетесь отправить файлы cookie через заголовок авторизации, что немного странно (и, вероятно, не сработает).

apokryfos 25.05.2024 09:17

сохраненное значение - это фактический файл cookie сеанса пользователя, и у меня нет проблем с переименованием имени заголовка, я не знаю, есть ли в laravel настраиваемое поле заголовка, такое как X-LARAVEL-COOKIE или что-то еще, что может вызвать аутентификацию, но что я хочу добиться идентификации пользователя на основе значения этого заголовка (который является фактическим файлом cookie)

naoru 25.05.2024 09:21

Это трудно понять. Откуда взялось печенье? Как оно хранилось в sessionStorage?

Olivier 25.05.2024 09:34

я поддерживаю устаревший код, пользователь перенаправляется в другой домен, и там код js выполняет это sessionStorage.setItem('Cookie', document.cookie); позже в потоке кода js он отправляет запрос на сервер, как только он был размещен на собственном хостинге, поэтому запрос был аутентифицирован, однако каким образом он находится в другом домене, но я все равно могу передать значение cookie, надеюсь, это поможет прояснить ситуацию

naoru 25.05.2024 09:48

Если пользователь перенаправляется на другой домен, файл cookie больше не доступен. document.cookie предоставляет только файлы cookie, связанные с текущим доменом.

Olivier 25.05.2024 10:06

Если я правильно понял, вам нужно что-то вроде этого: pastebin.com/n3DkEsLT

Maksim 25.05.2024 11:05
Стоит ли изучать 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 и хотите разрабатывать...
0
6
187
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

поскольку у меня уже был файл cookie, я изменил клиентский код следующим образом

$.ajax({
            type: 'POST',
            url: _apiUrl,
            data: JSON.stringify(new _Model(packageName)),
            success: _receive,
            error: function(){setTimeout(function(){_send(packageName);}, 1000);},
            contentType: 'application/json',
            xhrFields: {
                withCredentials: true
            }
        });

флаг withCredentials устанавливает заголовок cookie в запросе, позволяя механизму аутентификации laravel проверять этот запрос

было бы здорово и идеально, если бы вы использовали middleware

Abdulla Nilam 25.05.2024 20:29

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