Можно ли как-то извне авторизовать пользователя Laravel?
хочу прикрепить свой сайт на PHP к сайту Laravel, но никак не могу поставить пользователю нужную куку для общей сессии. Пробовал и просто ставить и через апи, но ничего не работает. Поэтому вопрос, можно ли всё-таки как-то это сделать?
Ответы (1 шт):
Можно сделать в лоб, чтобы куку ставил сам laravel. Таблица с пользователями у ваших сайтов одинаковая ? В nginx настроен proxy_pass на определённый урл, по которому открывается корень laravel-сайта ?
В laravel-сайте делаете некий роут /laravel/external_auth. Он должен принимать get-параметры user_id (или что-то другое, по чему пользователя можно идентифицировать), sign и redirect_back.
sign - это например md5($user_id.$secret). $secret помещаете в .env в laravel и куда-нибудь на старом сайте
В контроллере проверяете валидность sign логините пользователя штатным ларавеловским образом и делаете редирект на redirect_back, т.е. на урл на старом сайте.
На старом сайте после логина делаете редирект пользователя на ларавеловский /laravel/external_auth с нужными параметрами.
В итоге у пользователя в браузере будет нужная кука.