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
30
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 }