Author: prabath
Date: Thu Mar 13 23:57:21 2008
New Revision: 14798
Log:
fixed the issue associated with when query string exceeds the limits in a GET
request and PAPE related fixes
Modified:
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthVerificationAction.java
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/OpenIDRedirectAction.java
trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/redirect.jsp
Modified:
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
==============================================================================
---
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
(original)
+++
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
Thu Mar 13 23:57:21 2008
@@ -249,9 +249,9 @@
req = new OpenIDAuthenticationRequest();
- if ("true".equals(session.getAttribute("infocardsignin"))) {
+ if
("true".equals(session.getAttribute("phishingResistanceAuthentication"))) {
req.setPhishingResistanceLogin(true);
- session.removeAttribute("infocardsignin");
+ session.removeAttribute("phishingResistanceAuthentication");
}
if ("true".equals(session.getAttribute("multifactorlogin"))) {
@@ -289,7 +289,8 @@
* @param message
*/
private void sendData(HttpServletRequest httpReq,
- HttpServletResponse httpResp, Message message) {
+ HttpServletResponse httpResp, Message message)
+ throws IdentityProviderException {
try {
String page = null;
@@ -298,12 +299,14 @@
// HTML FORM Redirection
RequestDispatcher dispatcher = httpReq.getRequestDispatcher(page);
- httpReq.setAttribute("prameterMap", message.getParameterMap());
+ httpReq.setAttribute("parameterMap", message.getParameterMap());
httpReq.setAttribute("destinationUrl", message
.getDestinationUrl(false));
dispatcher.forward(httpReq, httpResp);
-
} catch (Exception e) {
+ throw new IdentityProviderException(
+ IdentityConstants.ErrorCodes.OPENID_RESP_GENERATION_FAILED,
+ e);
}
}
Modified:
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthVerificationAction.java
==============================================================================
---
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthVerificationAction.java
(original)
+++
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthVerificationAction.java
Thu Mar 13 23:57:21 2008
@@ -123,7 +123,7 @@
// OpenID Provider needs to know which authentication mechanism
// the user went through while authenticating to the OP.
- session.setAttribute("infocardsignin", "true");
+ session.setAttribute("phishingResistanceAuthentication",
"true");
if (!isRequiredUserApproval(request)) {
// User has already agreed to accept request from this RP
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
Thu Mar 13 23:57:21 2008
@@ -81,6 +81,7 @@
if (policy
.equalsIgnoreCase(IdentityConstants.OpenId.PapeAttributes.MULTI_FACTOR)) {
multiFactorAuthentication = true;
+ phishingResistanceAuthentication = false;
}
if (policy
.equalsIgnoreCase(IdentityConstants.OpenId.PapeAttributes.MULTI_FACTOR_PHYSICAL))
{
@@ -117,12 +118,19 @@
if (useInfoCard != null && useInfoCard.equals(openID)
&& !multiFactorAuthentication
&& !multiFactorPhysicalAuthentication) {
+ // OpenID Provider needs to know which authentication mechanism
+ // the user went through while authenticating to the OP.
+ session
+ .setAttribute("phishingResistanceAuthentication",
+ "true");
response.sendRedirect("OpenIDSelfIssuedLogin.action");
return SUCCESS;
}
if (rememberme && openidurl != null && openidurl.equals(openID)
- && password != null && !phishingResistanceAuthentication
&& !multiFactorAuthentication) {
+ && password != null && !phishingResistanceAuthentication
+ && !multiFactorAuthentication
+ && !multiFactorPhysicalAuthentication) {
session.setAttribute("password", password);
response.sendRedirect("OpenIDAuthVerification.action");
}
Modified:
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDRedirectAction.java
==============================================================================
---
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDRedirectAction.java
(original)
+++
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDRedirectAction.java
Thu Mar 13 23:57:21 2008
@@ -1,5 +1,13 @@
package org.wso2.solutions.identity.user.ui.action;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.apache.struts2.StrutsStatics;
+
+import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class OpenIDRedirectAction extends ActionSupport {
@@ -9,11 +17,55 @@
*/
private static final long serialVersionUID = -1951830854960371602L;
+ private Map parameterMap;
+
+ private String destinationUrl;
+
/**
* This will get executed during OpenID login
*/
public String execute() throws Exception {
+
+ ActionContext context = null;
+ HttpServletRequest request = null;
+ HttpSession session = null;
+
+ try {
+ context = ActionContext.getContext();
+ request = (HttpServletRequest) context
+ .get(StrutsStatics.HTTP_REQUEST);
+ session = request.getSession();
+
+ parameterMap = (Map) session.getAttribute("parameterMap");
+ destinationUrl = (String) session.getAttribute("destinationUrl");
+
+ } catch (RuntimeException e) {
+ return ERROR;
+ } finally {
+
+ if (session != null) {
+ session.removeAttribute("parameterMap");
+ session.removeAttribute("destinationUrl");
+ }
+ }
+
return SUCCESS;
}
+ public Map getParameterMap() {
+ return parameterMap;
+ }
+
+ public void setParameterMap(Map parameterMap) {
+ this.parameterMap = parameterMap;
+ }
+
+ public String getDestinationUrl() {
+ return destinationUrl;
+ }
+
+ public void setDestinationUrl(String destinationUrl) {
+ this.destinationUrl = destinationUrl;
+ }
+
}
Modified:
trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/redirect.jsp
==============================================================================
--- trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/redirect.jsp
(original)
+++ trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/redirect.jsp
Thu Mar 13 23:57:21 2008
@@ -1,5 +1,5 @@
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
+ pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
@@ -7,6 +7,10 @@
<title>Insert title here</title>
</head>
<body>
-<%response.sendRedirect("OpenIDRedirect.action"); %>
+<%
+session.setAttribute("parameterMap",request.getAttribute("parameterMap"));
+session.setAttribute("destinationUrl",request.getAttribute("destinationUrl"));
+response.sendRedirect("OpenIDRedirect.action");
+%>
</body>
</html>
\ No newline at end of file
_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev