Author: prabath
Date: Wed Feb 13 04:40:19 2008
New Revision: 13698

Log:

'remember me' functionality added 

Modified:
   
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthenticationAction.java

Modified: 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthenticationAction.java
==============================================================================
--- 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthenticationAction.java
   (original)
+++ 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthenticationAction.java
   Wed Feb 13 04:40:19 2008
@@ -1,5 +1,16 @@
 package org.wso2.solutions.identity.user.ui.action;
 
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.apache.struts2.StrutsStatics;
+import org.openid4java.message.ParameterList;
+import org.wso2.solutions.identity.user.ui.util.UserUtil;
+
+import com.opensymphony.xwork2.ActionContext;
+
 public class OpenIDAuthenticationAction extends ManagedAction {
 
     private static final long serialVersionUID = 2379986821364538695L;
@@ -10,7 +21,52 @@
      */
     public String execute() throws Exception {
 
+        ActionContext context = null;
+        HttpServletRequest request = null;
+        HttpServletResponse response = null;
+        ParameterList requestParam = null;
+        HttpSession session = null;
+        String openID = null;
+
+        context = ActionContext.getContext();
+        request = (HttpServletRequest) context.get(StrutsStatics.HTTP_REQUEST);
+        response = (HttpServletResponse) context
+                .get(StrutsStatics.HTTP_RESPONSE);
+        session = request.getSession();
+        requestParam = (ParameterList) session.getAttribute("parameterlist");
+        openID = requestParam.getParameter("openid.identity").getValue();
+
         loadMessages();
+
+        // Check whether the remember me option is set
+        Cookie[] cookies = request.getCookies();
+
+        boolean remembereme = false;
+        String openidurl = null;
+        String password = null;
+
+        if (cookies != null) {
+
+            Cookie curCookie = null;
+            for (int x = 0; x < cookies.length; x++) {
+                curCookie = cookies[x];
+                if (curCookie.getName().equalsIgnoreCase("rememberme")) {
+                    remembereme = true;
+                } else if (curCookie.getName().equalsIgnoreCase("openid")) {
+                    openidurl = curCookie.getValue();
+                } else if (curCookie.getName().equalsIgnoreCase("password")) {
+                    password = new String(new sun.misc.BASE64Decoder()
+                            .decodeBuffer(curCookie.getValue()), "UTF-8");
+                }
+            }
+
+            if (remembereme && openidurl != null && openidurl.equals(openID)
+                    && password != null) {           
+                session.setAttribute("password", password);
+                response.sendRedirect("OpenIDAuthVerification.action");
+            }
+        }
+
         return SUCCESS;
     }
 

_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev

Reply via email to