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