Задать вопрос
Ответы пользователя по тегу Laravel
  • Как защитить пользователя от кражи jwt токена в laravel?

    dskozin
    @dskozin
    Здравствуйте!
    Вопрос реальный (т.е. вы с такой ситуацией столкнулись) или гипотетический?

    Насколько я понимаю процесс авторизации происходит примерно следующим образом:
    1. Пользователь вводит логин и пароль - ему выдается токен1
    2. Проходит какое-то время токен1 устаревает, и в течении некоторого времени после этого сервер позволяет сделать рефреш, т.е. по токену1 получить токен2, при этом никакие функции кроме рефреша становятся недоступны.
    3. Пользователь пользуется токеном2

    Если злоумышленник крадет токен1 и делает рефреш - он получает токен2, который использует в нехороших целях. При этом он может делать и дальше рефреши по истечению срока действия токенов.

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

    Т.е., насколько понимаю я, злоумышленник может пользоваться токеном только до новой авторизации реального пользователя (или до тех пор пока реальный пользователь не сделает рефреш).
    Ответ написан
  • Как сделать правильную(гибкую, качественную) архитектуру Vue в Laravel?

    dskozin
    @dskozin
    Здравствуйте!

    Сейчас пишу приложение в связке Vue и Laravel. Изначально стал использовать подход с компонентами в отдельных файлах - это действительно правильный путь. Иначе как только приложение немного разрастется управлять им будет невозможно.
    Так же использую vue-router и vuex. Концепции не очень сложные - со временем они точно пригодятся.
    По умолчанию Лара предлагает писать так же компонентами, которые собираются в приложение встроенным механизмом - Elixir. Я пошел немного по другому пути - установил webpack с vue шаблоном компиляции и стал разрабатывать фронт как принципиально отдельное приложение (как здесь), обращающееся к Ларе за данными (REST архитектура). После компиляции файл фронта подключу к точке входа Лары (index.blade.php и в нем id="app") и сделаю проброс веб маршрута (не АПИ) в приложение (как здесь).

    Честно говоря сам не знаю почему не пошел по предложенному по умолчанию пути - Elixir так же следит и компилирует файлы на горячую. Наверное хотелось сделать полностью разделенную архитектуру фронт-бэк..
    Ответ написан
  • Как в laravel5 добавить имя таблицы в hasMany?

    dskozin
    @dskozin
    Используя QueryBuilder, видимо.

    $users = DB::table('users')->get();

    https://laravel.com/docs/5.3/queries

    Наверное лучше развернуть задачу с конкретными примерами, а то сложно так абстрагироваться.
    Вообще можно прописать boot() в модели, который (содержание boot) будет исполнен до загрузки остального кода модели, но то будет сделано до обработки роутов, следовательно не совсем понятно как передать вторую связь. И опять же не понятно - зачем?
    Ответ написан
    Комментировать