Spring Boot und soziales OAuth2-Login, refreshToken kann nicht abgerufen werden
Es gibt eine Anleitung zum Implementieren von OAuth2 mit Spring und Spring Boothttps: //spring.io/guides/tutorials/spring-boot-oauth2
Ich muss OAuth2-Informationen wie accessToken und refreshToken für die zukünftige Verwendung in meiner Datenbank speichern. Im Moment kann ich nur accessToken bekommen. Ich kann anhand dieser Anleitung nicht herausfinden, wie ich refreshToken bekomme.
Was ist der richtige Weg, um refreshToken mithilfe des in diesem Handbuch beschriebenen Ansatzes zu erhalten?
AKTUALISIER
Ich habe Zugriff aufrefreshToken
imOAuth2ClientAuthenticationProcessingFilter.attemptAuthentication
Methode aber nuraccessToken
wird an @ weitergeleitResourceServerTokenServices.loadAuthentication
Methode
Im Moment verstehe ich nicht, wie ich OAuth2-Informationen basierend auf diesem Ansatz nach erfolgreicher Autorisierung in Facebook erhalten und für Facebook-API-Aufrufe wiederverwenden kann. Bitte beraten
AKTUALISIER
Ich habe hinzugefügtJdbcClientTokenServices
zu meinem SSO-Filter, aber es funktioniert nicht
private Filter ssoFilter(ClientResources client, String path) {
OAuth2ClientAuthenticationProcessingFilter clientFilter = new OAuth2ClientAuthenticationProcessingFilter(path);
OAuth2RestTemplate oAuth2RestTemplate = new OAuth2RestTemplate(client.getClient(), oauth2ClientContext);
//
AccessTokenProviderChain tokenProviderChain = new AccessTokenProviderChain(new ArrayList<>(Arrays.asList(new AuthorizationCodeAccessTokenProvider())));
tokenProviderChain.setClientTokenServices(new JdbcClientTokenServices(dataSource));
oAuth2RestTemplate.setAccessTokenProvider(tokenProviderChain);
//
clientFilter.setRestTemplate(oAuth2RestTemplate);
clientFilter.setTokenServices(new OkUserInfoTokenServices(okService, client.getClient().getClientId(), apiUrl, eventService));
clientFilter.setAuthenticationSuccessHandler(new UrlParameterAuthenticationHandler());
return clientFilter;
}