Laravel API - в директорию домена

122
02 марта 2021, 05:20

Есть корпоративные сайты, к которым нужно прикрутить форум.

Я начал разрабатывать форум на Laravel 5.8 + VUE 2.6: DEMO: http://forum.kostia7alania.ru Исходники: https://github.com/kostia7alania/laravel-vue-forum

Нормально-ли работать с Ларавелом из поддиректории - site.ru/forum ? Мне легче сделать forum.site.ru.

У нас кол-во бесплатных доменов ограничено.

Ларавел у нас чисто API. Как заставить его работать api из под подпадки: site.ru/forum/api? Как он будет понимать, что это именно запрос к api? Ведь, в самом приложении VUE-ROUTER работает в режиме history mode (html5).

Напоминаю: у нас основной сайт работает на чистом php+jquery со стандартной php-сессией. Сервак на IIS 10 + mssql 16. Надо будет правила в конфиг писать...

Еще вопрос: В моем приложении JWT-токены, а в существующем - сессия php.

Вопрос: КАК скрестить JWT с php session? Или можно во VUE сделать такую же авторизацию - по кукам?

Можно как iframe вставить, надо сессии как-то сонхронизировать..

Answer 1

Вопрос: КАК скрестить JWT с php session? Или можно во VUE сделать такую же авторизацию - по кукам?

JWT существуют как замена кукам, и базируется совсем на другом алгоритме действий. Куки они же PHP SESION существуют лишь локально для одного сервера. Тогда как JWT. Может подключатся к различиным серверам. Лишь бы совпадал секрет по которому шифруют JWT.

VUE сделать такую же авторизацию - по кукам?

Вам нужно как то определять к какому серверу подключается пользователь, и просто делать REDIRECT. При авторизации пользователя. Дальше же вы так же спокойно можете делать HTTP запросы на сервер который не связан с JWT.

Если этот вариант вас не устраивает, вы можете хранить свой JWT(ключ) на front end стороне. И перезаписывать пользовательские сессии(зависит от алгоритма шифрования JWT). Это крайне не безопасно. И для этого нет библиотек. На Laravel на сколько я помню по стандарту идет SHA-256 для шифрования jwt. Вот библеотека которая позволяет шифровать https://www.npmjs.com/package/sha256 если вы все таки решитесь на это.

Так же могу вам предложить 3 вариант ваших действий. Самый простой. Это синхронизировать базы, данных сервера 1 с сервером 2. Что бы запросы для них не различались. И сделать для этого всего один фронт енд.

READ ALSO
Mikrotik php_api через safe mode

Mikrotik php_api через safe mode

Необходимо включение режима "Safe Mode" путем передачи запроса посредством php(api) на Mikrotik!

95
перехват ошибки SOAP-ERROR: Parsing WSDL: Couldn't load from

перехват ошибки SOAP-ERROR: Parsing WSDL: Couldn't load from

Не удается заблокировать ошибку после вызова функции SoapClientОшибка пишется в лог, даже если обернуть функцию в try catch

121
Вывод массива PHP

Вывод массива PHP

Есть массив:

86