@Override public OAuthToken getOAuthToken() { // delegate only if token doesn't exist or has expired if (secureStorage != null && (token == null || token.getExpiryTime() < System.currentTimeMillis())) { token = secureStorage.getOAuthToken(); } return token; }
public DefaultOAuthSecureStorage(String accessToken, Long expiryTime) { super(null); if (expiryTime == null) { expiryTime = System.currentTimeMillis() + TimeUnit.MILLISECONDS.convert(60, TimeUnit.DAYS); } this.token = new OAuthToken(null, accessToken, expiryTime); } }
@Override public void filter(ClientRequestContext requestContext) throws IOException { updateOAuthToken(); // add OAuth query param final String requestUri = requestContext.getUri().toString(); final StringBuilder builder = new StringBuilder(requestUri); if (requestUri.contains("?")) { builder.append('&'); } else { builder.append('?'); } builder.append("oauth2_access_token=").append(oAuthToken.getAccessToken()); requestContext.setUri(URI.create(builder.toString())); }
@Override public OAuthToken getOAuthToken() { // delegate only if token doesn't exist or has expired if (secureStorage != null && (token == null || token.getExpiryTime() < System.currentTimeMillis())) { token = secureStorage.getOAuthToken(); } return token; }
private OAuthToken getAccessToken(String refreshToken) throws IOException { final String tokenUrl = String.format(ACCESS_TOKEN_URL, refreshToken, oAuthParams.getRedirectUri(), oAuthParams.getClientId(), oAuthParams.getClientSecret()); final WebRequest webRequest = new WebRequest(new URL(tokenUrl), HttpMethod.POST); final WebResponse webResponse = webClient.loadWebResponse(webRequest); if (webResponse.getStatusCode() != HttpStatus.SC_OK) { throw new IOException(String.format("Error getting access token: [%s: %s]", webResponse.getStatusCode(), webResponse.getStatusMessage())); } final long currentTime = System.currentTimeMillis(); final ObjectMapper mapper = new ObjectMapper(); final Map map = mapper.readValue(webResponse.getContentAsStream(), Map.class); final String accessToken = map.get("access_token").toString(); final Integer expiresIn = Integer.valueOf(map.get("expires_in").toString()); return new OAuthToken(refreshToken, accessToken, currentTime + TimeUnit.MILLISECONDS.convert(expiresIn, TimeUnit.SECONDS)); }
if (oAuthToken == null || oAuthToken.getExpiryTime() < currentTime) { LOG.info("OAuth token doesn't exist or has expired"); if (oAuthToken != null && oAuthToken.getExpiryTime() > currentTime) { return;