[Yanel-commits] rev 30575 - public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/security/impl

michi at wyona.com michi at wyona.com
Mon Jan 21 23:56:49 CET 2008


Author: michi
Date: 2008-01-21 23:56:48 +0100 (Mon, 21 Jan 2008)
New Revision: 30575

Modified:
   public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/security/impl/DefaultWebAuthenticatorImpl.java
Log:
open id impl progressed

Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/security/impl/DefaultWebAuthenticatorImpl.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/security/impl/DefaultWebAuthenticatorImpl.java	2008-01-21 22:55:43 UTC (rev 30574)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/security/impl/DefaultWebAuthenticatorImpl.java	2008-01-21 22:56:48 UTC (rev 30575)
@@ -33,6 +33,9 @@
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
 
+import org.verisign.joid.consumer.OpenIdFilter;
+import org.verisign.joid.util.UrlUtils;
+
 /**
  *
  */
@@ -91,8 +94,20 @@
                     return response;
                 }
             } else if (openID != null) {
-                // TODO: Implement OpenID ... (see for instance http://code.google.com/p/joid/)
                 log.warn("OpenID implementation not finished yet: [" + openID + "]");
+
+                // Append http scheme if missing
+                if (!openID.startsWith("http://")) {
+                     openID = "http://" + openID;
+                }
+
+                String returnToUrlString = UrlUtils.getFullUrl(request);
+                log.debug("After successful authentication return to: " + returnToUrlString);
+                String redirectUrlString = OpenIdFilter.joid().getAuthUrl(openID, returnToUrlString, returnToUrlString);
+                log.debug("OpenID Provider URL: " + redirectUrlString);
+                response.sendRedirect(redirectUrlString);
+                if (true) return response;
+
                 getXHTMLAuthenticationForm(request, response, realm, "Login failed because OpenID implementation is not finished yet!", reservedPrefix, xsltLoginScreenDefault, servletContextRealPath, sslPort, map);
                 return response;
             } else {



More information about the Yanel-commits mailing list