2016-12-18 12 views
1

Я создаю приложение Laravel, которое соединяется с Grafana после определенных шагов. Я хочу, чтобы пользователи перенаправлялись на страницу Grafana с проверкой подлинности после выполнения нескольких шагов.Перенаправление в grafana изнутри Laravel Controller с использованием AuthProxy

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

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

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

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

ответ

0

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

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

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

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

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

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

Ближайшая вещь, которую вы можете найти, будет действовать как прокси-сервер. Сделайте запрос на второй URL самостоятельно, а затем верните ответ клиенту вместо перенаправления.

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