Я разрабатываю систему с тремя небольшими проектами:
- клиент
- сервер ресурсов
- сервер аутентификации
Сервер аутентификации имеет регистр и страницу входа. Сервер ресурсов защищен сервером аутентификации.
С клиента я хочу получить доступ к ресурсу через REST API. Клиент обращается к серверу ресурсов через OAuth2RestTemplate
из Spring для доступа к ресурсу. Мне удалось получить доступ к ресурсу после проверки подлинности.
Теперь к проблеме. На клиенте мне нужно знать текущего пользователя, чтобы отобразить имя пользователя и позволить пользователю изменить свой профиль.
Я пытался получить доступ к принципалу пользователя через Spring Security с
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
но он только что вернулся null
.
Итак, мой вопрос: есть ли способ получить текущего вошедшего в систему пользователя с помощью OAuth2RestTemplate
?
Edit:
Поэтому я решил изменить план, добавив ссылку на мой сервер аутентификации, которая возвращает информацию о пользователе. Проблема в том, что когда я хочу поговорить с сервером аутентификации через OAuth2RestTemplate
, сервер аутентификации просто возвращает страницу входа в систему. Все работает нормально, когда я вызываю страницу из браузера или когда я хочу поговорить с сервером ресурсов через OAuth2RestTemplate
.