View Javadoc

1   package com.atlassian.asap.core.client;
2   
3   import org.slf4j.Logger;
4   import org.slf4j.LoggerFactory;
5   
6   import java.net.URI;
7   
8   import static org.apache.commons.lang3.StringUtils.defaultIfBlank;
9   
10  /**
11   * A command line interface for {@link SimpleClient}.
12   */
13  public class SimpleClientRunner {
14      public static final String ISSUER_SYSPROP = "asap.client.issuer";
15      public static final String KEYID_SYSPROP = "asap.client.keyId";
16      public static final String AUDIENCE_SYSPROP = "asap.client.audience";
17      public static final String PRIVATE_KEY_SYSPROP = "asap.client.privateKey";
18      public static final String RESOURCE_SERVER_URL_SYSPROP = "asap.client.resource.server.url";
19  
20      private static final Logger logger = LoggerFactory.getLogger(SimpleClientRunner.class);
21  
22      /**
23       * Main function to run the client.
24       *
25       * @param args command line arguments
26       * @throws Exception if something went wrong
27       */
28      public static void main(String[] args) throws Exception {
29          String issuer = defaultIfBlank(System.getProperty(ISSUER_SYSPROP), "issuer1");
30          String keyId = defaultIfBlank(System.getProperty(KEYID_SYSPROP), "issuer1/rsa-key-for-tests");
31          String audience = defaultIfBlank(System.getProperty(AUDIENCE_SYSPROP), "test-resource-server");
32          URI privateKeyBaseUrl = URI.create(defaultIfBlank(System.getProperty(PRIVATE_KEY_SYSPROP), "classpath:/privatekeys/"));
33          URI resourceServerUrl = URI.create(defaultIfBlank(System.getProperty(RESOURCE_SERVER_URL_SYSPROP), "http://localhost:8080/"));
34  
35          SimpleClient simpleClient = new SimpleClient(issuer, keyId, audience, privateKeyBaseUrl);
36  
37          logger.info("Client Initialised with: Issuer: {}, KeyID: {}, Audience: {}, pkPath: {}, Resource Server: {}",
38                  issuer, keyId, audience, privateKeyBaseUrl, resourceServerUrl);
39  
40          simpleClient.execute(resourceServerUrl);
41      }
42  
43  }