Author: prabath
Date: Thu Jan 10 02:53:23 2008
New Revision: 12107

Log:

OpenID integration

Modified:
   
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/servletfilter/RelyingPartyFilter.java

Modified: 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/servletfilter/RelyingPartyFilter.java
==============================================================================
--- 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/servletfilter/RelyingPartyFilter.java
   (original)
+++ 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/servletfilter/RelyingPartyFilter.java
   Thu Jan 10 02:53:23 2008
@@ -53,8 +53,10 @@
 import org.apache.ws.security.WSSConfig;
 import org.apache.ws.security.components.crypto.X509NameTokenizer;
 import org.apache.ws.security.util.DOM2Writer;
+import org.openid4java.infocard.OpenIDToken;
 import org.w3c.dom.Element;
 import org.wso2.solutions.identity.IdentityConstants;
+import org.wso2.solutions.identity.openid.relyingparty.OpenIDConsumer;
 import org.wso2.solutions.identity.relyingparty.RelyingPartyException;
 import org.wso2.solutions.identity.relyingparty.TokenVerifier;
 import org.wso2.solutions.identity.relyingparty.TokenVerifierConstants;
@@ -72,7 +74,7 @@
     private String IdpStoreType = null;
 
     private String validatePolicy = null;
-    
+
     private String issuerPolicy = null;
 
     /**
@@ -119,7 +121,12 @@
                 }
 
                 String xmlToken = request.getParameter("xmlToken");
-                if (xmlToken != null) {
+
+                boolean isOpenIDInfoCardToken = OpenIDConsumer
+                        .isOpenIDInfoCardToken(xmlToken);
+
+                // We want to treat the decryption of OpenIDInfoCard token 
differently.
+                if (xmlToken != null && !isOpenIDInfoCardToken) {
 
                     TokenVerifier verifier = new TokenVerifier();
                     Element plainTokenElem = verifier.decryptToken(xmlToken,
@@ -169,14 +176,14 @@
         String issuerName = verifier.getIssuerName();
 
         if (IdentityConstants.SELF_ISSUED_ISSUER.equals(issuerName)) {
-            
+
             if (issuerPolicy == null
                     || issuerPolicy.equals(TokenVerifierConstants.SELF_ONLY)
                     || issuerPolicy
                             .equals(TokenVerifierConstants.SELF_AND_MANGED)) {
                 validated = true;
             }
-        } else if(issuerPolicy.equals(TokenVerifierConstants.SELF_ONLY)){
+        } else if (issuerPolicy.equals(TokenVerifierConstants.SELF_ONLY)) {
             //not a self issued card when self only
             validated = false;
         } else if (validatePolicy.equals(TokenVerifierConstants.PROMISCUOUS)) {
@@ -324,16 +331,18 @@
                 .getInitParameter(TokenVerifierConstants.KEY_ALIAS);
         String keyPass = filterConfig
                 .getInitParameter(TokenVerifierConstants.KEY_PASS);
-        
+
         issuerPolicy = filterConfig
-        .getInitParameter(TokenVerifierConstants.ISSUER_POLICY);
-        
-        if(issuerPolicy != null && 
!(issuerPolicy.equals(TokenVerifierConstants.SELF_ONLY)
-                || issuerPolicy.equals(TokenVerifierConstants.MANGED_ONLY)
-                || 
issuerPolicy.equals(TokenVerifierConstants.SELF_AND_MANGED))){
+                .getInitParameter(TokenVerifierConstants.ISSUER_POLICY);
+
+        if (issuerPolicy != null
+                && !(issuerPolicy.equals(TokenVerifierConstants.SELF_ONLY)
+                        || issuerPolicy
+                                .equals(TokenVerifierConstants.MANGED_ONLY) || 
issuerPolicy
+                        .equals(TokenVerifierConstants.SELF_AND_MANGED))) {
             throw new ServletException("Invalid Issuer Policy!");
         }
-        
+
         try {
             KeyStore store = KeyStore.getInstance(storeType);
             String realPath = config.getServletContext().getRealPath(keyStore);
@@ -463,7 +472,7 @@
             } catch (Exception e) {
                 throw new RelyingPartyException(
                         "errorLoadingTrustedIdpKeystore", e);
-                
+
             }
         }
 
@@ -554,7 +563,7 @@
         }
         return null;
     }
-    
+
     private List[] readBlackWhiteList(String paramString) {
         List[] dnList = null;
         String[] array = paramString.split("\\},\\{");

_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev

Reply via email to