public Map<String, String> newAccessTokenProperties(ServiceProviderToken requestToken) { Map<String, String> properties = Maps.newHashMap(); for (TokenPropertiesFactory propertiesFactory : propertyFactories) { try { properties.putAll(propertiesFactory.newAccessTokenProperties(requestToken)); } catch (RuntimeException e) { // ignore it and move on to the next if (!e.getClass().getSimpleName().equals("ServiceUnavailableException")) { throw e; } } } return ImmutableMap.copyOf(properties); } }
public Map<String, String> newRequestTokenProperties(Request request) { Map<String, String> properties = Maps.newHashMap(); for (TokenPropertiesFactory propertiesFactory : propertyFactories) { try { properties.putAll(propertiesFactory.newRequestTokenProperties(request)); } catch (RuntimeException e) { // ignore it and move on to the next if (!e.getClass().getSimpleName().equals("ServiceUnavailableException")) { throw e; } } } return ImmutableMap.copyOf(properties); }
public ServiceProviderToken generateRequestToken(Consumer consumer, @Nullable URI callback, OAuthMessage message, Version version) { checkNotNull(consumer, "consumer"); String token = randomizer.randomAlphanumericString(32); String secret = randomizer.randomAlphanumericString(32); return ServiceProviderToken.newRequestToken(token) .tokenSecret(secret) .consumer(consumer) .callback(callback) .version(version) .properties(propertiesFactory.newRequestTokenProperties(Requests.fromOAuthMessage(message))) .build(); }
public ServiceProviderToken generateAccessToken(ServiceProviderToken token) { checkNotNull(token, "token"); // make sure token is authorized if (token.isRequestToken() && token.getAuthorization() != Authorization.AUTHORIZED) { throw new IllegalArgumentException("token is not an authorized request token"); } String t = randomizer.randomAlphanumericString(32); return ServiceProviderToken.newAccessToken(t) .tokenSecret(token.getTokenSecret()) .consumer(token.getConsumer()) .authorizedBy(token.getUser()) .properties(propertiesFactory.newAccessTokenProperties(token)) .session(newSession(token)) .build(); }