1

我正在尝试使用 Google OpenID 登录用户。

当我尝试对用户进行身份验证时,我总是在尝试检索 AccessToken 时遇到超时。

public class TestRun {
    public static void main(String args[]) throws OAuthSystemException, OAuthProblemException {
        OAuthClientRequest request = OAuthClientRequest
                .tokenProvider(OAuthProviderType.GOOGLE)
                .setGrantType(GrantType.AUTHORIZATION_CODE)
                .setCode("")
                .setRedirectURI(Env.REST_API_LOCATION+"/login")
                .setClientId(Env.CLIENT_ID)
                .setClientSecret(Env.CLIENT_SECRET)
                .buildQueryMessage();

        OAuthClient oac = new OAuthClient(new URLConnectionClient());
        OAuthAccessTokenResponse response = oac.accessToken(request);
        System.out.println(response.getAccessToken());
        System.out.println(response.getExpiresIn());
    }
}

当oac.accessToken(request)被调用时,我总是遇到ConnectException(超时),并且没有得到关于正在发生的事情的更多信息。

4

1 回答 1

1

所以,问题很简单。运行我的软件的系统可以从 Internet 访问,但出站流量被迫使用代理。由于代理不是透明的,我必须编写自己的HttpClient实现,它能够处理代理并用它替换URLConnectionClient

于 2015-10-19T14:21:30.753 回答