在进行身份验证时,机密客户端是否不允许使用请求正文?

问题描述 投票:0回答:1

我使用谷歌oauth java客户端使用授权代码获取访问令牌。我得到上述错误不确定是什么问题。这是我正在使用的代码

    TokenResponse response = new AuthorizationCodeTokenRequest(
            new NetHttpTransport(), new JacksonFactory(), 
            new GenericUrl(TOKEN_END_POINT), authorizationCode
    )
    .setRedirectUri(REDIRECT_URI)
    .setClientAuthentication(new ClientParametersAuthentication(CLIENT_ID, CLIENT_SECRET))
    .execute();
access-token
1个回答
0
投票

经过艰苦的努力,我终于找到了答案。几乎需要1天才能找到答案。这是解决方案。

final String encString = Base64.getEncoder().encodeToString((clientId+":"+clientSecret).getBytes());

    TokenResponse response = new AuthorizationCodeTokenRequest(
            new NetHttpTransport(), new JacksonFactory(), 
            new GenericUrl(TOKEN_ENDPOINT), authorizationCode
    )
    .setRequestInitializer(new HttpRequestInitializer() {
        public void initialize(HttpRequest request) throws IOException {
            request.getHeaders().setAuthorization("Basic "+encString);
        }
    })
    .setRedirectUri(REDIRECT_URI)
    .execute();
© www.soinside.com 2019 - 2024. All rights reserved.