Apache Oltu OAuthClient.accessToken() 因超时而失败
Apache Oltu OAuthClient.accessToken() fails with timeout
我正在尝试使用 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(超时)并且不要获得有关正在发生的事情的更多信息。
所以,问题很简单。运行我的软件的系统可从互联网访问,但出站流量被迫使用代理。由于代理不是透明的,我不得不编写自己的 HttpClient 实现,它能够处理代理并替换 URLConnectionClient有了它。
我正在尝试使用 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(超时)并且不要获得有关正在发生的事情的更多信息。
所以,问题很简单。运行我的软件的系统可从互联网访问,但出站流量被迫使用代理。由于代理不是透明的,我不得不编写自己的 HttpClient 实现,它能够处理代理并替换 URLConnectionClient有了它。