Spring Boot OAuth2 OAuth2Authentication vs UsernamePasswordAuthenticationToken - PullRequest
0 голосов
/ 04 июля 2018

У меня проблема с получением правильного ответа от контроллера REST, который используется для отправки пользовательских данных обратно. Использование Spring Boot 1.5.10. Вот настройки:

  1. Проект OAuth2, служащий конечной точкой аутентификации и авторизации
  2. Микросервисы, которые подключаются к серверу для аутентификации и авторизации

Сервер OAuth использует WebSecurityConfigurerAdapter (порядок 2), ResourceServerConfigurerAdapter (для защиты API, отличного от oauth), AuthorizationServerConfigurerAdapter (конфигурация oauth) и * 1015 GlobalAuthenticationConfigurerAdapter (ldap против аутентификации базы данных).

У меня есть ресурс / api / v1 / me для возврата объекта Principal / Authentication как на сервере OAuth, так и на микросервисе. Микросервис работает правильно и возвращает OAuth2Authentication, когда присутствует надлежащий токен Bearer, или 401, если его нет (токен можно получить с сервера OAuth).

OAuth-сервер, с другой стороны, вызывает у меня некоторые проблемы. Он возвращает ответ / me только тогда, когда я сначала запрашиваю токен (установите JSession) или пересылает меня на страницу входа, если нет. (Я использую authorization_code grant с Thymeleaf). В этом случае я получаю UsernamePasswordAuthenticationToken.

Можно ли настроить сервер на использование Bearer для аутентификации / me и возврата OAuth2Authentication или 401 против сеанса Java на самом сервере OAuth, который мне нужен только для получения самого токена через имя пользователя auth?

Спасибо

1 Ответ

0 голосов
/ 05 июля 2018

О, чувак, после дня поисков после того, как я отправил свой вопрос, я нашел возможность ( здесь ). Ключ был в том, как был настроен http, где раньше я включал antMatchers с allowAll для тех, кого я не хотел аутентифицировать, и мне нужно было на самом деле .requestMatchers (). AntMatchers, чтобы включить только те ресурсы, которые меня интересовали + "/ login" , "/ oauth / authorize" внутри веб-адаптера. Ресурсный адаптер должен подобрать остальное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...