2

私は Spring Cloud OAuth を使用しています。https://github.com/spring-cloud-samples/sso/ の公式サンプルGitLab ( https://about.gitlab.com/ ) を OAuth プロバイダーとして使用しています。

問題は、GitLab がタイプ「ベアラー」のトークンを送信し、Spring Cloud SSO がトークンを取得し、形式の
Authorization bearer xxxxxxx
トークンのみを受け入れるドキュメントに従って、GitLab サーバーによって拒否される形式のヘッダーを送信することです
Authorization Bearer xxxxxxx

これはおそらく GitLab サーバーのバグですが、Spring Cloud SSO でこの問題を回避する方法はありますか。

アップデート 19.03.:

これは、SpringCloud-sample の SsoApplication.java で試したものです。

    @Autowired
    private OAuth2RestTemplate oAuth2RestTemplate;

    @PostConstruct
    private void modifyOAuthRestTemplate() {
        this.oAuth2RestTemplate.setAuthenticator(new OAuth2RequestAuthenticator() { // this line gets called
            @Override
            public void authenticate(OAuth2ProtectedResourceDetails resource, OAuth2ClientContext clientContext, ClientHttpRequest request) {
                // this line is never called
            }
        });
    }

新しく注入された OAuth2ProtectedResourceDetails の代わりに、「元の」ものが呼び出されます。サンプルアプリで認証しようとするたびに

4

1 に答える 1