Как получить токен refre sh в весеннем клиенте OAuth2 - PullRequest
0 голосов
/ 04 августа 2020

Я разрабатываю приложение Spring, которое действует как клиент OAuth2, а Spotify является сервером ресурсов. Это моя конфигурация:

spring:
  security:
    oauth2:
      client:
        registration:
          spotify:
            client-id: ...
            client-secret: ...
            authorization-grant-type: authorization_code
            redirect-uri: '{baseUrl}/login/oauth2/code/{registrationId}'
            scope: user-read-private, user-read-email
            client-name: Spotify
            client-alias: spotify
        provider:
          spotify:
            authorization-uri: https://accounts.spotify.com/authorize
            token-uri: https://accounts.spotify.com/api/token
            user-info-uri: https://api.spotify.com/v1/me
            user-name-attribute: display_name

Моя проблема в том, что я просто не могу найти, как получить токен refre sh, который отправляется Spotify в ответе /api/token

Вот как выглядит ответ Spotify: (Источник: https://developer.spotify.com/documentation/general/guides/authorization-guide/#authorization -code-flow )

spotify response

I tried to implement my own CustomUserService like this:

.and()
  .userInfoEndpoint()
  .userService(customUserService)

внутри моего CustomUserService Я попытался перегрузить следующий метод: public OAuth2User loadUser(OAuth2UserRequest userRequest)

В этом объекте OAuth2UserRequest я могу найти токен доступа, но нет абсолютно никакой информации о токене refre sh:

Токен доступа

Я думаю о том, что мне нужна дополнительная конфигурация, чтобы поместить refresh_token в объект additionalParameters, но я не могу найти ничего подобного.

Есть ли способ я можно получить токен refre sh в моем коде и что-то с ним делать?

...