Как адаптировать Spring Security для работы с конечной точкой Ali Cloud OAuth2 - PullRequest
1 голос
/ 06 апреля 2019

Я пытаюсь настроить spring-oauth2 для работы с конечной точкой OAuth Ali Cloud. У меня в application.yml есть следующее.

  security:
    oauth2:
      client:
        registration:
          alicloud:
            clientId: foo
            clientSecret: bar
            redirectUriTemplate: "{baseUrl}/login/oauth2/code/{registrationId}"
            authorizationGrantType: authorization_code
            scope:
              - openid
              - profile
        provider:
          alicloud:
            authorizationUri: https://signin.aliyun.com/oauth2/v1/auth
            tokenUri: https://oauth.aliyun.com/v1/token
            jwkSetUri: https://oauth.aliyun.com/v1/keys

Кажется, что дело дошло до того, что код необходимо обменять на access_token. Однако DefaultAuthorizationCodeTokenResponseClient.getTokenResponse, кажется, упаковывает запрос с HTTP Basic аутентификацией. Это работает для Google, и я представляю большинство остальных крупных провайдеров. Но для конечной точки Ali Cloud требуются client_id и client_secret в теле POST. Конвертер, который, кажется, создает этот запрос OAuth2AuthorizationCodeGrantRequestEntityConverter. Кажется, это не так просто переопределить.

Что я могу сделать, чтобы преодолеть это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...