Author: prabath
Date: Fri Feb  8 00:16:03 2008
New Revision: 13440

Log:

records user actions approve always/once/deny

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

Added: 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDUserApprovalAction.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDUserApprovalAction.java
     Fri Feb  8 00:16:03 2008
@@ -0,0 +1,80 @@
+package org.wso2.solutions.identity.user.ui.action;
+
+import java.util.Date;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.struts2.StrutsStatics;
+import org.openid4java.message.ParameterList;
+import org.wso2.solutions.identity.IdentityConstants;
+import org.wso2.solutions.identity.admin.RelyingPartyAdmin;
+import org.wso2.solutions.identity.persistence.dataobject.OpenIDUserRPDO;
+import org.wso2.solutions.identity.user.ui.util.UserUtil;
+
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionSupport;
+
+public class OpenIDUserApprovalAction extends ActionSupport {
+
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 2836760032315263963L;
+
+    public String execute() throws Exception {
+        ActionContext context = null;
+        HttpServletRequest request = null;
+        Map map = null;
+        String action = null;
+        String authenticatedAndApproved = null;
+
+        try {
+            context = ActionContext.getContext();
+            request = (HttpServletRequest) context
+                    .get(StrutsStatics.HTTP_REQUEST);
+            map = ActionContext.getContext().getSession();
+
+            action = ((String[]) request.getParameterMap().get(
+                    IdentityConstants.OpenId.ACTION))[0];
+
+            authenticatedAndApproved = ((String[]) request.getParameterMap()
+                    
.get(IdentityConstants.OpenId.AUTHENTICATED_AND_APPROVED))[0];
+
+            ParameterList requestp = (ParameterList) request.getSession()
+                    .getAttribute("parameterlist");
+            String openidreturnto = requestp
+                    .getParameterValue("openid.return_to");
+            String openididentity = requestp
+                    .getParameterValue("openid.identity");
+
+            OpenIDUserRPDO rpdo = null;
+            rpdo = new OpenIDUserRPDO();
+
+            if (action.equalsIgnoreCase(IdentityConstants.OpenId.COMPLETE)) {
+
+                Date date = new Date();
+
+                if (authenticatedAndApproved.equalsIgnoreCase("once")) {
+                    rpdo.setIsTrustedAlways(true);
+                } else if 
(authenticatedAndApproved.equalsIgnoreCase("always")) {
+                    rpdo.setIsTrustedAlways(false);
+                }
+
+                rpdo.setRpUrl(openidreturnto);
+                rpdo.setLastVisit(date);
+                rpdo.setVisitCount(1);
+                rpdo.setUserId(UserUtil.getUserName(openididentity));
+
+                RelyingPartyAdmin admin = new RelyingPartyAdmin();
+                admin.create(rpdo);
+            } else {
+                return ERROR;
+            }
+
+        } catch (Exception e) {
+            return ERROR;
+        }
+        return SUCCESS;
+    }
+}

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

Reply via email to