для логина требуется POST-реквест с параметрами username и password
Как сделать логин с параметрами token и pin, каждый из которых является соответствующим полем в БД?
Также необходимо проверить, сколько прошло времени с момента отправки pin'а. (поле pin_sent_at).
Пиши свой гуард(который щас не гуард)
У меня сейчас такая конфигурация login: pattern: ^/v1/login stateless: true anonymous: true json_login: check_path: /v1/login success_handler: lexik_jwt_authentication.handler.authentication_success failure_handler: lexik_jwt_authentication.handler.authentication_failure Потом гуард просто добавить в неё?
мерси. пойду разбираться
а еще надо passwordHasher свой сделать
погоди, что-то я туплю. Ведь у тебя же там провайдер, а не гуард
а я не писал про гвард, это не про то вообще
я понял. А как мне в своём провайдере указать, чтобы брались из пост-реквеста поля token и pin?
тогда кастомный аутентификатор пишите
А зачем вам jwt? Небось в браузере в localstorage его храните?
🙂 с твоей подачи пошел переделывать на хранение токена в приложении, а рефреш в куках, гребанные куки... для дев-сервера ангуляра мудохаться, часа 2 убил на всю переделку
Зачем вообще его сохранять в spa?
не, как раз не сохранять, а держать в приложении, при релоаде страницы в браузере идет использование рефреша, а без релоада просто из памяти приложения используется
Да и рефреш хранить не надо. Токен по идее должен жить очень короткое время, соответственно пока пользователь онлайн рефреш происходит каждую минуту-пару. Если закрыл страницу, получит новый рефреш. У меня кейклок, при открытии страницы происходит редирект на кейклок, если аутентификация не протухла его вернёт обратно без ввода логина/пароля
все так, вот и переделал только рефреш храню в httpOnly куке
в кейклоаке у тебя в сессии хранится, у меня нет внешнего сервиса пока для сессии
А как в контексте СПА с этими редиректами? UX не болит?
Так оно только при открытии страницы
да там на лету же происходит все, сходил фоном на внешний сервис за парой и норм
можешь у hh.ru глянуть, шустро все для UX
Есть что почитать на эту тему? А то звучит странно рефреш 2 минуты
Не рефреш, аксесс токен по дефолту в кк 1 минуту живёт
не, рефреш живет долго просто Костя его не хранит, а получает от клоаки
https://gist.github.com/zmts/802dc9c3510d79fd40f9dc38a12bccfc
Создал собственного провайдера, но endpoint /api/login всё равно требует наличия username и password в реквесте
Не уверен, но вроде для json_login можно указать path у credential
https://symfony.com/doc/current/reference/configuration/security.html#username-parameter
для login_form вроде
да, точно 🙂
Обсуждают сегодня