View Javadoc

1   package com.atlassian.sal.core.net.auth;
2   
3   import com.atlassian.sal.core.trusted.CertificateFactory;
4   import com.atlassian.security.auth.trustedapps.EncryptedCertificate;
5   import com.atlassian.security.auth.trustedapps.TrustedApplicationUtils;
6   import com.atlassian.security.auth.trustedapps.request.TrustedRequest;
7   import com.atlassian.security.auth.trustedapps.request.commonshttpclient.CommonsHttpClientTrustedRequest;
8   
9   import org.apache.commons.httpclient.HttpClient;
10  import org.apache.commons.httpclient.HttpMethod;
11  import org.apache.commons.lang.StringUtils;
12  
13  public class TrustedTokenAuthenticator implements HttpClientAuthenticator
14  {
15      private final EncryptedCertificate userCertificate;
16  
17      public TrustedTokenAuthenticator(String username, String url, CertificateFactory certificateFactory)
18      {
19          if (StringUtils.isNotBlank(username) && StringUtils.isNotBlank(url))
20          {
21              this.userCertificate = certificateFactory.createCertificate(username, url);
22          } else
23          {
24              this.userCertificate = null;
25          }
26      }
27  
28      /**
29       * @param httpClient The client to process
30       * @param method The method type
31       */
32      public void process(HttpClient httpClient, HttpMethod method)
33      {
34          if(this.userCertificate != null)
35          {
36              TrustedRequest request = new CommonsHttpClientTrustedRequest(method);
37              TrustedApplicationUtils.addRequestParameters(this.userCertificate, request);
38          }
39      }
40  
41  }