[jboss-cvs] Picketlink SVN: r884 - federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Apr 13 01:08:54 EDT 2011


Author: anil.saldhana at jboss.com
Date: 2011-04-13 01:08:53 -0400 (Wed, 13 Apr 2011)
New Revision: 884

Modified:
   federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/STSClient.java
   federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/STSClientConfig.java
Log:
add ws-a issuer and ws-p applies to

Modified: federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/STSClient.java
===================================================================
--- federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/STSClient.java	2011-04-13 05:08:24 UTC (rev 883)
+++ federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/STSClient.java	2011-04-13 05:08:53 UTC (rev 884)
@@ -57,18 +57,22 @@
  */
 public class STSClient
 {
-   private ThreadLocal<Dispatch<Source>> dispatchLocal = new InheritableThreadLocal<Dispatch<Source>>();
+   private final ThreadLocal<Dispatch<Source>> dispatchLocal = new InheritableThreadLocal<Dispatch<Source>>();
 
-   private String targetNS = "http://org.picketlink.trust/sts/";
+   private final String targetNS = "http://org.picketlink.trust/sts/";
 
+   private String wsaIssuerAddress;
+
+   private String wspAppliesTo;
+
    /**
     * Constructor
     * @see {@link #setDispatch(Dispatch)} for the setting of the {@link Dispatch} object
     */
    public STSClient()
-   {   
+   {
    }
-   
+
    /**
     * <p>
     * Constructor that creates the {@link Dispatch} for use.
@@ -84,6 +88,9 @@
       QName service = new QName(targetNS, config.getServiceName());
       QName portName = new QName(targetNS, config.getPortName());
 
+      wsaIssuerAddress = config.getWsaIssuer();
+      wspAppliesTo = config.getWspAppliesTo();
+
       Service jaxwsService = Service.create(service);
       jaxwsService.addPort(portName, SOAPBinding.SOAP11HTTP_BINDING, config.getEndPointAddress());
       Dispatch<Source> dispatch = jaxwsService.createDispatch(portName, Source.class, Mode.PAYLOAD);
@@ -95,20 +102,20 @@
          // add the username and password to the request context.
          reqContext.put(BindingProvider.USERNAME_PROPERTY, config.getUsername());
          reqContext.put(BindingProvider.PASSWORD_PROPERTY, config.getPassword());
-      } 
-      setDispatch(dispatch); 
+      }
+      setDispatch(dispatch);
    }
-   
+
    /**
     * Set the {@link Dispatch} object for use
     * @param dispatch
     */
-   public void setDispatch( Dispatch<Source> dispatch )
+   public void setDispatch(Dispatch<Source> dispatch)
    {
-      if( dispatch == null )
-         throw new IllegalArgumentException( "dispatch is null" );
-      
-      dispatchLocal.set( dispatch ); 
+      if (dispatch == null)
+         throw new IllegalArgumentException("dispatch is null");
+
+      dispatchLocal.set(dispatch);
    }
 
    /**
@@ -122,6 +129,15 @@
       // create a custom token request message.
       RequestSecurityToken request = new RequestSecurityToken();
       setTokenType(tokenType, request);
+
+      if (wsaIssuerAddress != null)
+      {
+         request.setIssuer(WSTrustUtil.createIssuer(wsaIssuerAddress));
+      }
+      if (wspAppliesTo != null)
+      {
+         request.setAppliesTo(WSTrustUtil.createAppliesTo(wspAppliesTo));
+      }
       // send the token request to JBoss STS and get the response.
       return issueToken(request);
    }
@@ -232,7 +248,7 @@
          request.setRequestType(URI.create(WSTrustConstants.ISSUE_REQUEST));
       if (request.getContext() == null)
          request.setContext("default-context");
-      
+
       validateDispatch();
       DOMSource requestSource = this.createSourceFromRequest(request);
       Source response = dispatchLocal.get().invoke(requestSource);
@@ -333,7 +349,7 @@
 
       Node rstr = nodes.item(0);
 
-      return (Element) rstr.getFirstChild(); 
+      return (Element) rstr.getFirstChild();
    }
 
    /**
@@ -441,13 +457,13 @@
          throw new WSTrustException("Error creating source from request: " + e.getMessage(), e);
       }
    }
-   
+
    /**
     * Validate that we have a {@code Dispatch} to work with
     */
    private void validateDispatch()
    {
-      if( getDispatch() == null )
-         throw new RuntimeException( "Dispatch has not been set" );
+      if (getDispatch() == null)
+         throw new RuntimeException("Dispatch has not been set");
    }
 }
\ No newline at end of file

Modified: federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/STSClientConfig.java
===================================================================
--- federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/STSClientConfig.java	2011-04-13 05:08:24 UTC (rev 883)
+++ federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/STSClientConfig.java	2011-04-13 05:08:53 UTC (rev 884)
@@ -69,6 +69,10 @@
 
    public static final String TOKEN_TYPE = "tokenType";
 
+   public static final String WSA_ISSUER = "wsaIssuer";
+
+   public static final String WSP_APPLIES_TO = "wspAppliesTo";
+
    private final String serviceName;
 
    private final String portName;
@@ -79,6 +83,10 @@
 
    private final String password;
 
+   private final String wsaIssuer;
+
+   private final String wspAppliesTo;
+
    private STSClientConfig(final Builder builder)
    {
       serviceName = builder.serviceName;
@@ -86,6 +94,8 @@
       endpointAddress = builder.endpointAddress;
       username = builder.username;
       password = builder.password;
+      wsaIssuer = builder.wsaIssuer;
+      wspAppliesTo = builder.wspAppliesTo;
    }
 
    public String getServiceName()
@@ -113,6 +123,16 @@
       return password;
    }
 
+   public String getWsaIssuer()
+   {
+      return wsaIssuer;
+   }
+
+   public String getWspAppliesTo()
+   {
+      return wspAppliesTo;
+   }
+
    public String toString()
    {
       return getClass().getSimpleName() + "[serviceName=" + serviceName + ", portName=" + portName
@@ -131,6 +151,10 @@
 
       private String password;
 
+      private String wsaIssuer;
+
+      private String wspAppliesTo;
+
       public Builder()
       {
       }
@@ -170,6 +194,18 @@
          return this;
       }
 
+      public Builder wsaIssuer(final String wsa)
+      {
+         this.wsaIssuer = wsa;
+         return this;
+      }
+
+      public Builder wspAppliesTo(final String wsp)
+      {
+         this.wspAppliesTo = wsp;
+         return this;
+      }
+
       public String getServiceName()
       {
          return serviceName;



More information about the jboss-cvs-commits mailing list