From f37ed70f1014752f0a9158392780c801b48db613 Mon Sep 17 00:00:00 2001 From: Emmanuel Raviart Date: Tue, 7 Sep 2004 17:09:09 +0000 Subject: Login skeleton for ColdFusion is now fully working. --- java/coldfusion/src/CFLasso.java | 58 ++++++++++++++++++++++++++++++- java/coldfusion/web/assertionConsumer.cfm | 45 ++++++++++++++++++++++++ java/coldfusion/web/login.cfm | 19 ---------- java/coldfusion/web/singleSignOn.cfm | 19 ++++++++++ 4 files changed, 121 insertions(+), 20 deletions(-) create mode 100644 java/coldfusion/web/assertionConsumer.cfm delete mode 100644 java/coldfusion/web/login.cfm create mode 100644 java/coldfusion/web/singleSignOn.cfm (limited to 'java') 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); + } } diff --git a/java/coldfusion/web/assertionConsumer.cfm b/java/coldfusion/web/assertionConsumer.cfm new file mode 100644 index 00000000..9c882a10 --- /dev/null +++ b/java/coldfusion/web/assertionConsumer.cfm @@ -0,0 +1,45 @@ + + + Lasso + + +

Lasso

+ + + + + + + + + + + + + + + + + + + + + + +

User is now logged. RelayState = #relayState#

+
+ + + diff --git a/java/coldfusion/web/login.cfm b/java/coldfusion/web/login.cfm deleted file mode 100644 index 40c60482..00000000 --- a/java/coldfusion/web/login.cfm +++ /dev/null @@ -1,19 +0,0 @@ - - - Lasso - - -

Lasso

- - - - - - Identity provider single sing-on URL to redirect to = #ssoUrl# - - - diff --git a/java/coldfusion/web/singleSignOn.cfm b/java/coldfusion/web/singleSignOn.cfm new file mode 100644 index 00000000..a67809b5 --- /dev/null +++ b/java/coldfusion/web/singleSignOn.cfm @@ -0,0 +1,19 @@ + + + Lasso + + +

Lasso

+ + + + + + Identity provider single sing-on URL to redirect to = #ssoUrl# + + + -- cgit