#java #playframework #pac4j
#java #playframework #pac4j
Вопрос:
=== Обновление 20190327 ===
Спасибо за комментарии, но демонстрация не сильно помогла. Покопавшись в исходном коде, я получил лучшее представление о фреймворке.
Что мне нужно, так это
- Пользовательский клиент, который расширяет
BasicClient
, так что пользовательский CredentialsExtractor может быть введен в фреймворк. (Поскольку мой токен доступа пользователя не может быть извлечен с помощью ParameterClient) - Пользовательский CredentialsExtractor, который реализует,
CredentialsExtractor
который вы передаете во фреймворк в пользовательском клиенте (метод переопределенияclientInit
). - Наконец, пользовательский аутентификатор, который передается в пользовательский клиент.
У меня это сработало.
=== Оригинал ===
У меня есть существующее приложение play 2.6. Я интегрирую pac4j и пытаюсь заставить аутентификацию работать. Игровой сервер предоставляет REST api. Если я правильно понимаю, то мне нужен http-клиент с аутентификатором sql.
http://www.pac4j.org/3.3.x/docs/authenticators/sql.html
Как указано в документе, необходим DbProfileService. но он предполагает определенную схему таблиц пользователей, которая не будет работать с существующей базой данных.
Итак, я полагаю, мне нужно реализовать пользовательский аутентификатор. Но я не смог найти ни одного полезного примера в Интернете.
Итак, кто-нибудь может просветить меня, или я на неправильном пути выполнения этой работы?
Комментарии:
1. Вот фиктивный пример github.com/pac4j/play-pac4j-java-demo/blob/master/app/modules / … но это показывает путь
2. @AndriyKuba Спасибо за комментарий. Я добился проверки подлинности. Теперь я пытаюсь заставить авторизацию работать. Есть ли такие вещи, как @RequiresRoles, которые предоставляет pac4j. Я не смог его найти.
3. проверьте тот же демонстрационный проект — github.com/pac4j/play-pac4j-java-demo/blob/master/app /…