Перенаправление на графану изнутри Laravel Controller с использованием AuthProxy

Я создаю приложение Laravel, которое после определенных шагов подключается к Графане. Я хочу, чтобы после нескольких шагов пользователи перенаправлялись на аутентифицированную страницу Grafana.

Я следовал за блогом raintank, чтобы настроить графическую аутентификацию прокси.

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

Основной localhost: 3000 работает, но я не могу понять, куда вставить X-WEBAUTH-USER и имя пользователя внутри контроллера или где их установить.

Будучи новичком в Laravel, я пытаюсь понять, с чего начать.

1

Решение

Невозможно перенаправить на страницу с установленными пользовательскими заголовками, независимо от того, какой язык или рамки вы используете.

Другими словами, нет способа вызвать перенаправление HTTP и заставить клиента (браузер) добавить пользовательский заголовок. Вы можете подумать, что этот код должен работать просто отлично:

return redirect()->away('http://localhost:3000', 302, ['X-WEBAUTH-USER', 'username']);

Но это не так. Вы устанавливаете пользовательские заголовки для ответа, который инструктирует браузер перенаправлять, а не для самого перенаправления.

Единственный способ для сайта дать указание браузеру выполнить HTTP-запрос с настраиваемым заголовком — это использовать Javascript и XMLHttpRequest объект. И для реализации таких запросов AJAX необходимо реализовать CORS на целевом сервере.

Обратите внимание, что страница не может устанавливать заголовки HTTP-запроса, если она не выполняет асинхронный запрос с использованием XMLHttpRequest. Это означает, что вы не можете сделать такое перенаправление с пользовательским заголовком на стороне клиента.

Самое близкое, что вы можете придумать, — это действовать как прокси-сервер. Сделайте запрос на второй URL-адрес самостоятельно и затем верните ответ клиенту вместо перенаправления.

Вы наверняка что-то упускаете из-за этой прокси-аутентификации Grafana. Я уверен, что это не так, как это работает. Я видел, что в учебнике настраивается Apache в качестве прокси-сервера, вы можете пойти по этому пути. Я думаю, что вы должны перечитать это более внимательно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]