ограничение попыток oauth запросить токен в случае сбоя аутентификации с помощью Spring 5, Spring Security и Spring-Boot 2.3 - PullRequest
0 голосов
/ 20 июня 2020

Мы работаем над настраиваемым сервером oAuth2 для внутреннего использования в основном в целях авторизации доступа к API, и нам необходимо ограничить попытки запроса токена для клиента в случае сбоя аутентификации. Мы бы достигли этого, записав в таблицу базы данных, какой ip запросил токен, какой идентификатор клиента использовался и в какой момент int time. добавьте к нему, чтобы он делал то, что нам нужно

Как и вещи go, он идет на BasicAuthenticationFilter при первом запросе токена. Это вызывает вызов Authenticate () ProviderManager и, в свою очередь, DaoAuthenticationProvider, который, наконец, решает аутентифицировать или не пройти аутентификацию с помощью BadCredentialsException.

То, что мне удалось достичь, - это вставить фильтр, который срабатывает до BasicAuthenticationFilter, я думаю, мы могли бы продублировать все, что делает BasicAuthenticationFilter, вплоть до DaoAuthenticationProvider и обрабатывать попытки там и не запускать следующий BasicAuthenticationFilter, но я думаю, что это дублирует много кода.

Я бы предпочел просто расширить DaoAuthenticationProvider и обработать там logi c. Но я не нашел способа указать ProviderManager BasicAuthenticationFilter использовать другой AuthenticationProvider или как настроить BasicAuthenticationFilter ProviderManager.

Это настраивается в @EnableAuthorizationServer аннотированный @Configuration класс, который extends AuthorizationServerConfigurerAdapter.

Итак, мой вопрос: как мне go об этом? Кому-нибудь приходилось реализовывать подобное требование?

...