Всем привет! Я использую в своём Symfony 5.3 проекте Lexik/jwt бандл Стандартно

для логина требуется POST-реквест с параметрами username и password
Как сделать логин с параметрами token и pin, каждый из которых является соответствующим полем в БД?
Также необходимо проверить, сколько прошло времени с момента отправки pin'а. (поле pin_sent_at).

32 ответов

23 просмотра

Пиши свой гуард(который щас не гуард)

Alexander- Автор вопроса
~
Пиши свой гуард(который щас не гуард)

У меня сейчас такая конфигурация 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 Потом гуард просто добавить в неё?

Alexander- Автор вопроса
Максим Федоров
screenshot

мерси. пойду разбираться

Alexander
мерси. пойду разбираться

а еще надо passwordHasher свой сделать

Alexander- Автор вопроса
Максим Федоров
screenshot

погоди, что-то я туплю. Ведь у тебя же там провайдер, а не гуард

Alexander- Автор вопроса
Максим Федоров
а я не писал про гвард, это не про то вообще

я понял. А как мне в своём провайдере указать, чтобы брались из пост-реквеста поля token и pin?

А зачем вам jwt? Небось в браузере в localstorage его храните?

Константин Грачев
А зачем вам jwt? Небось в браузере в localstorage ...

🙂 с твоей подачи пошел переделывать на хранение токена в приложении, а рефреш в куках, гребанные куки... для дев-сервера ангуляра мудохаться, часа 2 убил на всю переделку

Константин Грачев
Зачем вообще его сохранять в spa?

не, как раз не сохранять, а держать в приложении, при релоаде страницы в браузере идет использование рефреша, а без релоада просто из памяти приложения используется

Максим Федоров
не, как раз не сохранять, а держать в приложении, ...

Да и рефреш хранить не надо. Токен по идее должен жить очень короткое время, соответственно пока пользователь онлайн рефреш происходит каждую минуту-пару. Если закрыл страницу, получит новый рефреш. У меня кейклок, при открытии страницы происходит редирект на кейклок, если аутентификация не протухла его вернёт обратно без ввода логина/пароля

Константин Грачев
Да и рефреш хранить не надо. Токен по идее долже...

все так, вот и переделал только рефреш храню в httpOnly куке

Константин Грачев
Да и рефреш хранить не надо. Токен по идее долже...

в кейклоаке у тебя в сессии хранится, у меня нет внешнего сервиса пока для сессии

Константин Грачев
Да и рефреш хранить не надо. Токен по идее долже...

А как в контексте СПА с этими редиректами? UX не болит?

Oleg Okwinza
А как в контексте СПА с этими редиректами? UX не б...

да там на лету же происходит все, сходил фоном на внешний сервис за парой и норм

Константин Грачев
Да и рефреш хранить не надо. Токен по идее долже...

Есть что почитать на эту тему? А то звучит странно рефреш 2 минуты

Павел Г.
Есть что почитать на эту тему? А то звучит странно...

Не рефреш, аксесс токен по дефолту в кк 1 минуту живёт

Павел Г.
Есть что почитать на эту тему? А то звучит странно...

не, рефреш живет долго просто Костя его не хранит, а получает от клоаки

Alexander- Автор вопроса
Максим Федоров
screenshot

Создал собственного провайдера, но endpoint /api/login всё равно требует наличия username и password в реквесте

Alexander
Создал собственного провайдера, но endpoint /api/l...

Не уверен, но вроде для json_login можно указать path у credential

Alexander
Создал собственного провайдера, но endpoint /api/l...

https://symfony.com/doc/current/reference/configuration/security.html#username-parameter

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта