/** * The human-readable name of the consumer application. */ public String getConsumerName() { if (token.hasProperty("alternate.consumer.name")) { return token.getProperty("alternate.consumer.name"); } return token.getConsumer().getName(); }
private List<OrphanedTrustCertificate> findOrphanedOAuthServiceProviders() { final List<OrphanedTrustCertificate> orphanedTrustCertificates = new ArrayList<OrphanedTrustCertificate>(); final List<String> registeredServiceProviders = findRegisteredServiceProviders(); final Iterable<Consumer> allServiceProviders = consumerService.getAllServiceProviders(); for (Consumer serviceProvider : allServiceProviders) { if (!registeredServiceProviders.contains(serviceProvider.getKey())) { log.debug("Found orphaned Service Provider with consumer key '" + serviceProvider.getKey() + "' and name '" + serviceProvider.getName() + "'"); orphanedTrustCertificates.add( new OrphanedTrustCertificate(serviceProvider.getKey(), serviceProvider.getDescription(), OrphanedTrustCertificate.Type.OAUTH_SERVICE_PROVIDER) ); } } return orphanedTrustCertificates; }
/** * Converts a {@code Consumer} to an {@code OAuthConsumer}, uses the {@code sharedSecret} in the * {@code OAuthConsumer}s constructor so that it is suitable for signing. * * @param consumer {@code Consumer} to be converted to an {@code OAuthConsumer} * @param sharedSecret shared secret to use to sign requests * @param oauthServiceProvider {@code OAuthServiceProvider} to set as the {@link OAuthConsumer#serviceProvider} attribute * @return {@code OAuthConsumer} converted from the {@code Consumer} */ public static OAuthConsumer asOAuthConsumer(Consumer consumer, String sharedSecret, OAuthServiceProvider oauthServiceProvider) { checkNotNull(consumer, "consumer"); checkNotNull(oauthServiceProvider, "oauthServiceProvider"); String callback = consumer.getCallback() != null ? consumer.getCallback().toString() : null; OAuthConsumer oauthConsumer = new OAuthConsumer(callback, consumer.getKey(), sharedSecret, oauthServiceProvider); oauthConsumer.setProperty(ConsumerProperty.NAME, consumer.getName()); oauthConsumer.setProperty(ConsumerProperty.DESCRIPTION, consumer.getDescription()); if (consumer.getSignatureMethod() == SignatureMethod.RSA_SHA1) { oauthConsumer.setProperty(OAuth.OAUTH_SIGNATURE_METHOD, OAuth.RSA_SHA1); oauthConsumer.setProperty(RSA_SHA1.PUBLIC_KEY, consumer.getPublicKey()); } else { oauthConsumer.setProperty(OAuth.OAUTH_SIGNATURE_METHOD, OAuth.HMAC_SHA1); } return oauthConsumer; }
LOG.info("2-Legged-OAuth with Impersonation request has been attempted but 2-Legged-OAuth with Impersonation is not enabled for consumer:'{}'. Cannot access resource as user '{}'", consumer.getName(), userId); sendError(response, HttpServletResponse.SC_UNAUTHORIZED, message); return new Authenticator.Result.Failure(new OAuthProblem.PermissionDenied(userId)); LOG.info("2-Legged-OAuth request has been attempted but 2-Legged-OAuth is not enabled for consumer:'{}'.", consumer.getName()); sendError(response, HttpServletResponse.SC_UNAUTHORIZED, message); return new Authenticator.Result.Failure(new OAuthProblem.PermissionDenied());
final boolean twoLoIEnabled = twoLoEnabled ? Boolean.parseBoolean(request.getParameter(TWO_LO_IMPERSONATION_ENABLED)) : false; Consumer updatedConsumer = new Consumer.InstanceBuilder(consumer.getKey()) .name(consumer.getName()) .description(consumer.getDescription()) .publicKey(consumer.getPublicKey())
/** * Add an Outgoing Consumer for a 3rdParty link. */ private Consumer add3rdPartyOutgoingConsumer(final ConsumerEntity consumerEntity) { final Consumer consumer = Consumer.key(consumerEntity.getKey()) .name(consumerEntity.getName()) .signatureMethod(Consumer.SignatureMethod.HMAC_SHA1) .description(consumerEntity.getDescription()) .build(); consumerService.add(consumer.getName(), consumer, consumerEntity.getSharedSecret()); return consumer; }
} else { builder.put(CONSUMER_KEY_PARAMETER, consumer.getKey()) .put(NAME_PARAMETER, consumer.getName()) .put(DESCRIPTION_PARAMETER, consumer.getDescription()) .put(SHARED_SECRET_PARAMETER, "")
@Nonnull public ConsumerEntity build() { String publicKey; if (consumer.getPublicKey() != null) { publicKey = RSAKeys.toPemEncoding(consumer.getPublicKey()); } else { publicKey = null; } return new ConsumerEntity(self, consumer.getKey(), consumer.getName(), consumer.getDescription(), consumer.getSignatureMethod().name(), publicKey, consumer.getCallback(), consumer.getTwoLOAllowed(), consumer.getExecutingTwoLOUser(), consumer.getTwoLOImpersonationAllowed() ); } }
/** * Convert a given {@code token} to an {@link net.oauth.OAuthConsumer} * * @param token the {@link com.atlassian.oauth.serviceprovider.ServiceProviderToken} to convert * @return the {@link net.oauth.OAuthConsumer} */ public static OAuthConsumer toOAuthConsumer(ServiceProviderToken token) { String callback = token.getCallback() != null ? token.getCallback().toString() : null; final OAuthConsumer consumer = new OAuthConsumer(callback, token.getConsumer().getKey(), null, null); consumer.setProperty(NAME, token.getConsumer().getName()); consumer.setProperty(DESCRIPTION, token.getConsumer().getDescription()); consumer.setProperty(OAuth.OAUTH_SIGNATURE_METHOD, OAuth.RSA_SHA1); consumer.setProperty(RSA_SHA1.PUBLIC_KEY, token.getConsumer().getPublicKey()); return consumer; }
public static Consumer.InstanceBuilder consumerBuilder(@Nonnull Consumer consumer) { checkNotNull(consumer, "consumer"); Consumer.InstanceBuilder builder = new Consumer.InstanceBuilder(consumer.getKey()) .name(consumer.getName()) .description(consumer.getDescription()) .signatureMethod(consumer.getSignatureMethod()) .callback(consumer.getCallback()) .twoLOAllowed(consumer.getTwoLOAllowed()) .executingTwoLOUser(consumer.getExecutingTwoLOUser()) .twoLOImpersonationAllowed(consumer.getTwoLOImpersonationAllowed()); if (consumer.getPublicKey() != null) { builder.publicKey(consumer.getPublicKey()); } return builder; } }
public RestConsumer(@Nonnull Consumer consumer) { checkNotNull(consumer, "consumer"); put(KEY, consumer.getKey()); put(NAME, consumer.getName()); putIfNotNull(DESCRIPTION, consumer.getDescription()); put(SIGNATURE_METHOD, consumer.getSignatureMethod().name()); if (consumer.getPublicKey() != null) { put(PUBLIC_KEY, RSAKeys.toPemEncoding(consumer.getPublicKey())); } putAsString(CALLBACK, consumer.getCallback()); put(TWO_LO_ALLOWED, consumer.getTwoLOAllowed()); putIfNotNull(EXECUTING_TWO_LO_USER, consumer.getExecutingTwoLOUser()); put(TWO_LO_IMPERSONATION_ALLOWED, consumer.getTwoLOImpersonationAllowed()); }
@Test public void testServiceProviderConsumerStoreCanStoreConfiguration() throws Exception { PublicKey publicKey = RSAKeys.fromPemEncodingToPublicKey(CONSUMER_PUBLIC_KEY); final Consumer consumer = Consumer.key(CONSUMER_KEY) .name("Test Consumer Name") .publicKey(publicKey) .description("Consumer Description") .callback(URI.create(appProp.getBaseUrl() + "/consumer/oauthcallback1")) .build(); consumerStore.put(consumer); final Consumer savedConsumer = consumerStore.get(CONSUMER_KEY); assertEquals(CONSUMER_KEY, savedConsumer.getKey()); assertEquals("Test Consumer Name", savedConsumer.getName()); assertEquals(publicKey, savedConsumer.getPublicKey()); assertEquals("Consumer Description", savedConsumer.getDescription()); assertEquals(URI.create(appProp.getBaseUrl() + "/consumer/oauthcallback1"), savedConsumer.getCallback()); }
fieldErrorMessages.put(CONSUMER_KEY_PARAMETER, messageFactory.newI18nMessage("auth.oauth.config.consumer.serviceprovider.consumer.key.exists", existingConsumerDuplicatedKey.getName()));