.publicKey(publicKey) .description(description) .callback(callback)
@GET public Response execute(@QueryParam("refappTaId") final String refappTrustedAppsId, @QueryParam("refappOaId") final String refappOAuthId) { final PluginSettings ps = getPluginSettings(); if (refappTrustedAppsId != null) { ps.put("trustedapps", ImmutableList.of(refappTrustedAppsId)); ps.put("trustedapp." + refappTrustedAppsId, createTrustedProperties()); } if (refappOAuthId != null) { serviceProviderConsumerStore.put(new Consumer.InstanceBuilder(refappOAuthId) .name("Test orphaned consumer") .description("Atlassian RefImpl at http://localhost:5992/refapp2") .publicKey(getTestOAuthKey()) .build()); } return noContent().build(); }
final Consumer consumer = Consumer.key(key).name(name).publicKey(publicKey).description(description).callback(callback) .twoLOAllowed(twoLOAllowed).executingTwoLOUser(executingTwoLOUser).twoLOImpersonationAllowed(twoLOImpersonationAllowed) .build();
@Test public void testServiceProviderConsumerStoreCanHandle3LOConfigurationChanges() 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")) .threeLOAllowed(false) .build(); consumerStore.put(consumer); final Consumer savedConsumer = consumerStore.get(CONSUMER_KEY); assertFalse(savedConsumer.getThreeLOAllowed()); final Consumer consumer2 = Consumer.key(CONSUMER_KEY) .name("Test Consumer Name") .publicKey(publicKey) .description("Consumer Description") .callback(URI.create(appProp.getBaseUrl() + "/consumer/oauthcallback1")) .threeLOAllowed(true) .build(); consumerStore.put(consumer2); final Consumer savedConsumer2 = consumerStore.get(CONSUMER_KEY); assertTrue(savedConsumer2.getThreeLOAllowed()); }
/** * Converts an {@code OAuthConsumer} to a {@code Consumer}. * * @param consumer {@code OAuthConsumer} to convert to a {@code Consumer} * @return {@code Consumer} converted from the {@code OAuthConsumer} */ public static Consumer fromOAuthConsumer(OAuthConsumer consumer) { checkNotNull(consumer, "consumer"); String name = (String) consumer.getProperty(ConsumerProperty.NAME); URI callback = consumer.callbackURL != null ? URI.create(consumer.callbackURL) : null; String description = (String) consumer.getProperty(ConsumerProperty.DESCRIPTION); InstanceBuilder builder = Consumer.key(consumer.consumerKey).name(name).description(description).callback(callback); if (consumer.getProperty(OAuth.OAUTH_SIGNATURE_METHOD).equals(OAuth.HMAC_SHA1)) { builder.signatureMethod(SignatureMethod.HMAC_SHA1); } else { // we could check if it's a string or byte[] and do the conversion, but for now let's keep things simple PublicKey publicKey = (PublicKey) consumer.getProperty(RSA_SHA1.PUBLIC_KEY); builder.publicKey(publicKey); } return builder.build(); }
@Test public void testServiceProviderConsumerStoreCanStoreConsumerWith2LOEnabledIndependently() 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")) .threeLOAllowed(false) .twoLOAllowed(true) .build(); consumerStore.put(consumer); final Consumer savedConsumer = consumerStore.get(CONSUMER_KEY); assertFalse(savedConsumer.getThreeLOAllowed()); assertTrue(savedConsumer.getTwoLOAllowed()); assertFalse(savedConsumer.getTwoLOImpersonationAllowed()); }
@Test public void testServiceProviderConsumerStoreCanStoreConsumerWith2LOWithImpersonationEnabledIndependently() 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")) .threeLOAllowed(false) .twoLOImpersonationAllowed(true) .build(); consumerStore.put(consumer); final Consumer savedConsumer = consumerStore.get(CONSUMER_KEY); assertFalse(savedConsumer.getThreeLOAllowed()); assertFalse(savedConsumer.getTwoLOAllowed()); assertTrue(savedConsumer.getTwoLOImpersonationAllowed()); }
public Consumer updateHostConsumerInformation(String name, String description, URI callback) { ConsumerAndSecret cas = hostCasProvider.get(); Consumer oldConsumer = cas.getConsumer(); Consumer newConsumer = Consumer.key(oldConsumer.getKey()) .signatureMethod(oldConsumer.getSignatureMethod()) .publicKey(oldConsumer.getPublicKey()) .name(name) .description(description) .callback(callback) .build(); if (newConsumer.getSignatureMethod() == SignatureMethod.HMAC_SHA1) { cas = new ConsumerAndSecret(cas.getServiceName(), newConsumer, cas.getSharedSecret()); } else { cas = new ConsumerAndSecret(cas.getServiceName(), newConsumer, cas.getPrivateKey()); } return hostCasProvider.put(cas).getConsumer(); }
@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()); }
@Test public void testDefault2LOParametersAreAppropriateIfLeftUntouched() 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); assertFalse(savedConsumer.getTwoLOAllowed()); assertNull(savedConsumer.getExecutingTwoLOUser()); assertFalse(savedConsumer.getTwoLOImpersonationAllowed()); }
@Test public void testServiceProviderConsumerStoreCanStoreOAuth2LOConfiguration() 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")) .twoLOAllowed(true) .executingTwoLOUser("2lo_user") .build(); consumerStore.put(consumer); final Consumer savedConsumer = consumerStore.get(CONSUMER_KEY); assertTrue(savedConsumer.getTwoLOAllowed()); assertEquals("2lo_user", savedConsumer.getExecutingTwoLOUser()); }
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; } }
@Test public void testServiceProviderConsumerStoreCanStoreOAuth2LOImpersonationConfiguration() 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")) .twoLOImpersonationAllowed(true) .build(); consumerStore.put(consumer); final Consumer savedConsumer = consumerStore.get(CONSUMER_KEY); assertTrue(savedConsumer.getTwoLOImpersonationAllowed()); }
@Test public void testServiceProviderConsumerStoreCanStoreOAuth3LOConfiguration() 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")) .threeLOAllowed(false) .build(); consumerStore.put(consumer); final Consumer savedConsumer = consumerStore.get(CONSUMER_KEY); assertFalse(savedConsumer.getThreeLOAllowed()); }
private void setUpOAuthConsumer() throws Exception { PublicKey publicKey = RSAKeys.fromPemEncodingToPublicKey(CONSUMER_PUBLIC_KEY); Consumer hardcodedConsumer = Consumer.key("hardcoded-consumer") .name("Hardcoded Consumer") .publicKey(publicKey) .description("Hardcoded Consumer") .callback(URI.create(appProp.getBaseUrl() + "/consumer/oauthcallback")) .twoLOAllowed(true) .executingTwoLOUser(infoProvider.getAdminUsername()) .build(); consumerStore.put(hardcodedConsumer); }
/** * Create a basic Consumer for the specified ApplicationLink */ private Consumer createBasicConsumer(final ConsumerEntity consumerEntity, ApplicationLink applicationLink) throws InvalidKeySpecException, NoSuchAlgorithmException, URISyntaxException { return Consumer.key(consumerEntity.getKey()) .name(consumerEntity.getName()) .publicKey(RSAKeys.fromPemEncodingToPublicKey(consumerEntity.getPublicKey())) .description(consumerEntity.getDescription()) .callback(consumerEntity.getCallback()) .build(); }
@Test public void testIfConsumerDoesNotHave3LOFlagDefinedThenItIsConsideredOn() 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); assertTrue(savedConsumer.getThreeLOAllowed()); }
public static Consumer createRsaConsumer(boolean threeLo, boolean twoLo, boolean twoLoi) { return Consumer.key(TEST_CONSUMER_KEY) .name(TEST_CONSUMER_NAME) .signatureMethod(Consumer.SignatureMethod.RSA_SHA1) .publicKey(TEST_KEYS.getPublic()) .threeLOAllowed(threeLo) .twoLOAllowed(twoLo) .twoLOImpersonationAllowed(twoLoi) .build(); }
/** * Convert a given {@code consumerInfo} to a {@link com.atlassian.oauth.Consumer} * * @param consumerInfo the {@link com.marvelution.jenkins.plugins.jira.model.ConsumerInfo} to convert * @return the {@link com.atlassian.oauth.Consumer} * @throws InvalidKeySpecException * @throws NoSuchAlgorithmException */ public static Consumer toConsumer(ConsumerInfo consumerInfo) throws InvalidKeySpecException, NoSuchAlgorithmException { return Consumer.key(consumerInfo.getKey()).name(consumerInfo.getName()).description(consumerInfo.getDescription()) .publicKey(RSAKeys.fromPemEncodingToPublicKey(consumerInfo.getPublicKey())).build(); }