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;
    }

Antworten auf die Frage(2)

Ihre Antwort auf die Frage