Программный вход в систему Spring Security

Я разрабатываю приложение и использую Spring Security. Мой вопрос: есть ли способ вызвать точную логику, которая запускается, когда я отправляю почтовый запрос в / login (по умолчанию), но изнутри программы?

Обычно я отправляю свой объект LoginUserDto в конечную точку / login для входа в систему. Однако сейчас я реализую вход в facebook, поэтому я создаю свой LoginUserDto на стороне сервера из любых данных, которые я получаю из facebook, на основе токена доступа пользователя. Теперь мне просто нужно вызвать ту же логику, которую я обычно вызываю с остальным вызовом / login, но изнутри кода, чтобы вернуть токены.

Кто-нибудь знает, как это можно сделать? Спасибо

почему это нельзя сделать в методе контроллера?

4dc0 09.11.2018 23:02

как? представьте, что у меня есть настраиваемая конечная точка - / loginFB. Внутри этой конечной точки я получаю данные пользователя facebook с серверов facebook и сопоставляю их с LoginUserDto. Теперь мне нужно вызвать логику конечной точки «/ login», которая обычно автоматически настраивается spring secuirty. Итак, какой вызов мне следует сделать из моего метода контроллера custom / loginFB?

furry12 09.11.2018 23:05
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
59
1

Ответы 1

Вам следует обратить внимание на встроенную поддержку OAuth2 в Spring Security 5, так как это будет самый простой способ включить Facebook в качестве внешнего сервера авторизации. Есть некоторый хорошая документация, который проходит через то, что необходимо, через OAuth2 Login. Кроме того, я обнаружил, что работа с Пример кода oauth2login из репозитория безопасности Spring чрезвычайно полезна для понимания того, как следует настраивать приложение, и в нем есть раздел для интеграции с Facebook.

Другие вопросы по теме