如何使Spring Security适应Ali Cloud的OAuth2端点

时间:2019-04-06 01:46:07

标签: spring spring-security spring-security-oauth2 alibaba-cloud

我正在尝试让spring-oauth2与Ali Cloud的OAuth端点一起使用。我的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,我想其余大多数大型提供商都可以使用。但是,阿里云的端点需要POST正文中的client_id和client_secret。似乎创建此请求的转换器是OAuth2AuthorizationCodeGrantRequestEntityConverter。覆盖它似乎并不容易。

该如何克服?

0 个答案:

没有答案