summaryrefslogtreecommitdiffstats
path: root/java/coldfusion/src/CFLasso.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/coldfusion/src/CFLasso.java')
-rw-r--r--java/coldfusion/src/CFLasso.java58
1 files changed, 57 insertions, 1 deletions
diff --git a/java/coldfusion/src/CFLasso.java b/java/coldfusion/src/CFLasso.java
index 5de95f2d..9233379c 100644
--- a/java/coldfusion/src/CFLasso.java
+++ b/java/coldfusion/src/CFLasso.java
@@ -40,19 +40,32 @@
*/
import com.entrouvert.lasso.AuthnRequest;
+import com.entrouvert.lasso.Identity;
import com.entrouvert.lasso.lassoConstants;
import com.entrouvert.lasso.lasso;
import com.entrouvert.lasso.Login;
import com.entrouvert.lasso.Server;
+import com.entrouvert.lasso.Session;
public class CFLasso {
/* A simple service provider */
+ protected Login login = null;
protected Server server = null;
public String idpProviderId = null;
+ public void acceptSso() {
+ login.acceptSso();
+ }
+
+ public void assertionConsumer(String queryString) {
+ login = new Login(server);
+ login.initRequest(queryString, lassoConstants.httpMethodRedirect);
+ login.buildRequestMsg();
+ }
+
public void configure(String metadataPath, String publicKeyPath, String privateKeyPath,
String idpProviderId, String idpMetadataPath, String idpPublicKeyPath) {
server = new Server(metadataPath, publicKeyPath, privateKeyPath, null,
@@ -61,9 +74,40 @@ public class CFLasso {
server.addProvider(idpMetadataPath, idpPublicKeyPath, null);
}
+ public String getIdentityDump() {
+ Identity identity = login.getIdentity();
+ if (identity != null)
+ return identity.dump();
+ else
+ return null;
+ }
+
+ public String getMsgBody() {
+ return login.getMsgBody();
+ }
+
+ public String getMsgRelayState() {
+ return login.getMsgRelayState();
+ }
+
+ public String getMsgUrl() {
+ return login.getMsgUrl();
+ }
+
+ public String getNameIdentifier() {
+ return login.getNameIdentifier();
+ }
+
+ public String getSessionDump() {
+ Session session = login.getSession();
+ if (session != null)
+ return session.dump();
+ else
+ return null;
+ }
+
public String login(String relayState) {
AuthnRequest authnRequest;
- Login login;
String authnRequestUrl;
login = new Login(server);
@@ -92,4 +136,16 @@ public class CFLasso {
System.out.print("Identity provider single sign-on URL = ");
System.out.println(ssoUrl);
}
+
+ public void processResponseMsg(String responseMsg) {
+ login.processResponseMsg(responseMsg);
+ }
+
+ public void setIdentityFromDump(String identityDump) {
+ login.setIdentityFromDump(identityDump);
+ }
+
+ public void setSessionFromDump(String sessionDump) {
+ login.setSessionFromDump(sessionDump);
+ }
}