Я использую Spring Security для аутентификации OAuth2 с запросом имени пользователя и пароля, как при использовании в обычном потоке. Однако я хочу добавить еще один метод аутентификации с тем же OAuth, но с другими параметрами в запросе. (например, id и clientToken — есть аутентификация, которая выполняется до того, как она дойдет до моего сервиса). В конце, когда оба типа запросов поступают в мою службу аутентификации, она должна возвращать токен oauth, который дополнительно улучшен. Возможно ли иметь 2 разных провайдера аутентификации по URL-адресу конечной точки oauth?




На самом деле в spring oauth2 есть следующая строка кода TokenEndpoint:
OAuth2AccessToken token = this.getTokenGranter().grant(tokenRequest.getGrantType(), tokenRequest);
Итак, Spring использует абстракцию TokenGranter для предоставления токенов.
Когда вы ищете конкретную реализацию, например, ResourceOwnerPasswordTokenGranter, вы можете заметить, что она использует AuthentiacionManager, что соответствует AuthenticationProviders.
Так что ответ да - можно.
спасибо, что указали мне в правильном направлении. Ваши комментарии заставили меня продолжить поиск и найти stackoverflow.com/questions/25264358/…, и я смог найти реализацию.