Spring Boot Oauth2 - Где хранится токен доступа? - PullRequest
2 голосов
/ 04 марта 2020

У меня есть проект jhipster (весенняя загрузка и angular), реализующий протокол oauth2 с Keycloak. Мне удалось заставить приложение перенаправить на keycloak для аутентификации. Я не совсем понимаю, где находится токен доступа в ответе после входа в систему и где он хранится после перенаправления на мой сайт? Я попытался использовать chrome inspect для просмотра сети, но не могу найти маркер доступа.

Ниже приведена ссылка, которую я использовал для настройки oauth2 для моего проекта: https://www.jhipster.tech/security/

URL-адрес при нажатии входа в систему: http://localhost: 8080 / oauth2 / разрешение / подъязычная c

Ответы [ 2 ]

2 голосов
/ 05 марта 2020

С OAuth2 аутентификация выполняется с учетом состояния, что означает, что у вас есть повар ie (JSESSIONID) для сеанса Spring.

Вы можете получить больше информации, проверив контекст, используя SecurityContextHolder.getContext().getAuthentication() в бэкэнд.

0 голосов
/ 15 марта 2020

Спасибо за все ответы. Удалось получить токены используя следующее:

SecurityContext securityContext = SecurityContextHolder.getContext();
    OAuth2AuthenticationToken oauth2Token = (OAuth2AuthenticationToken) 
securityContext.getAuthentication();

OAuth2AuthorizedClient client = clientService
            .loadAuthorizedClient(oauth2Token.getAuthorizedClientRegistrationId(), 
oauth2Token.getName());

refreshToken = client.getRefreshToken().getTokenValue();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...