You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by we...@apache.org on 2004/05/31 16:35:29 UTC
cvs commit: ws-fx/wss4j/src/org/apache/ws/security WSSecurityEngine.java WSSecurityEngineResult.java
werner 2004/05/31 07:35:29
Modified: wss4j/src/org/apache/ws/security WSSecurityEngine.java
WSSecurityEngineResult.java
Log:
Enhancement to forward the detected SAML token to the application.
Revision Changes Path
1.23 +6 -6 ws-fx/wss4j/src/org/apache/ws/security/WSSecurityEngine.java
Index: WSSecurityEngine.java
===================================================================
RCS file: /home/cvs/ws-fx/wss4j/src/org/apache/ws/security/WSSecurityEngine.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- WSSecurityEngine.java 26 May 2004 19:15:37 -0000 1.22
+++ WSSecurityEngine.java 31 May 2004 14:35:29 -0000 1.23
@@ -369,10 +369,10 @@
if (doDebug) {
log.debug("Found SAML Assertion element");
}
- handleSAMLToken((Element) elem);
+ SAMLAssertion assertion = handleSAMLToken((Element) elem);
wsDocInfo.setAssertion((Element) elem);
returnResults.add(0,
- new WSSecurityEngineResult(null, WSConstants.ST_UNSIGNED, null));
+ new WSSecurityEngineResult(WSConstants.ST_UNSIGNED, assertion));
} else if (el.equals(TIMESTAMP)) {
if (doDebug) {
log.debug("Found Timestamp list element");
@@ -763,7 +763,7 @@
return principal;
}
- public void handleSAMLToken(Element token) throws WSSecurityException {
+ public SAMLAssertion handleSAMLToken(Element token) throws WSSecurityException {
boolean result = false;
SAMLAssertion assertion = null;
try {
@@ -773,13 +773,13 @@
log.debug("SAML Assertion issuer " + assertion.getIssuer());
}
} catch (SAMLException e) {
- // TODO: Fix me.
- e.printStackTrace();
+ throw new WSSecurityException(WSSecurityException.FAILURE,
+ "invalidSAMLsecurity", null, e);
}
if (!result) {
throw new WSSecurityException(WSSecurityException.FAILED_AUTHENTICATION);
}
- return;
+ return assertion;
}
public void handleEncryptedKey(Element xencEncryptedKey, CallbackHandler cb, Crypto crypto) throws WSSecurityException {
1.3 +18 -6 ws-fx/wss4j/src/org/apache/ws/security/WSSecurityEngineResult.java
Index: WSSecurityEngineResult.java
===================================================================
RCS file: /home/cvs/ws-fx/wss4j/src/org/apache/ws/security/WSSecurityEngineResult.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- WSSecurityEngineResult.java 18 Mar 2004 20:13:08 -0000 1.2
+++ WSSecurityEngineResult.java 31 May 2004 14:35:29 -0000 1.3
@@ -17,6 +17,7 @@
package org.apache.ws.security;
+import org.opensaml.SAMLAssertion;
import java.security.Principal;
import java.security.cert.X509Certificate;
@@ -29,18 +30,23 @@
private int action;
private Principal principal;
private X509Certificate cert;
+ private SAMLAssertion assertion;
- WSSecurityEngineResult(
- Principal princ,
- int act,
- X509Certificate certificate) {
+ WSSecurityEngineResult(int act, SAMLAssertion ass) {
+ principal = null;
+ cert = null;
+ action = act;
+ assertion = ass;
+ }
+
+ WSSecurityEngineResult(Principal princ, int act, X509Certificate certificate) {
principal = princ;
action = act;
cert = certificate;
}
/**
- * @return the actions vector. These actions were performed
- * by the the security engine.
+ * @return the actions vector. These actions were performed by the the
+ * security engine.
*/
public int getAction() {
return action;
@@ -61,4 +67,10 @@
return cert;
}
+ /**
+ * @return Returns the assertion.
+ */
+ public SAMLAssertion getAssertion() {
+ return assertion;
+ }
}