You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2014/10/06 15:37:54 UTC

svn commit: r1629651 - in /openmeetings: branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/oauth/ branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/ trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/...

Author: solomax
Date: Mon Oct  6 13:37:54 2014
New Revision: 1629651

URL: http://svn.apache.org/r1629651
Log:
[OPENMEETINGS-1098] base url is taken into account while redirecrUri construction

Modified:
    openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
    openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java

Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java?rev=1629651&r1=1629650&r2=1629651&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java Mon Oct  6 13:37:54 2014
@@ -50,8 +50,7 @@ public class OAuthForm extends AdminBase
 		add(new TextField<String>("iconUrl").setLabel(Model.of(WebSession.getString(1575))));
 		add(new RequiredTextField<String>("clientId").setLabel(Model.of(WebSession.getString(1576))));
 		add(new RequiredTextField<String>("clientSecret").setLabel(Model.of(WebSession.getString(1577))));
-		redirectUriText = (TextField<String>) new TextField<String>("redirectUri", Model.of("")).setLabel(Model.of(WebSession.getString(1587)));
-		add(redirectUriText);
+		add(redirectUriText = (TextField<String>) new TextField<String>("redirectUri", Model.of("")).setLabel(Model.of(WebSession.getString(1587))));
 		add(new RequiredTextField<String>("requestKeyUrl").setLabel(Model.of(WebSession.getString(1578))));
 		add(new RequiredTextField<String>("requestTokenUrl").setLabel(Model.of(WebSession.getString(1579))));
 		add(new RequiredTextField<String>("requestTokenAttributes").setLabel(Model.of(WebSession.getString(1586))));
@@ -69,8 +68,7 @@ public class OAuthForm extends AdminBase
 	@Override
 	protected void onModelChanged() {
 		super.onModelChanged();
-		String redirectUri = SignInPage.getRedirectUri(getModelObject(), this);
-		redirectUriText.setModelObject(redirectUri);
+		redirectUriText.setModelObject(SignInPage.getRedirectUri(getModelObject(), this));
 	}
 
 	@Override
@@ -137,5 +135,4 @@ public class OAuthForm extends AdminBase
 		// TODO Auto-generated method stub
 		
 	}
-	
 }

Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java?rev=1629651&r1=1629650&r2=1629651&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java Mon Oct  6 13:37:54 2014
@@ -27,6 +27,8 @@ import java.io.DataOutputStream;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.HttpURLConnection;
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.net.URL;
 import java.net.URLConnection;
 import java.net.URLEncoder;
@@ -74,7 +76,7 @@ import org.red5.logging.Red5LoggerFactor
 import org.slf4j.Logger;
 
 public class SignInPage extends BaseInitedPage {
-	private static final long serialVersionUID = -3843571657066167592L;
+	private static final long serialVersionUID = 1L;
 	private static final Logger log = Red5LoggerFactory.getLogger(SignInPage.class, webAppRootKey);
 	private SignInDialog d;
 	
@@ -173,9 +175,15 @@ public class SignInPage extends BaseInit
 	}
 		
 	public static String getRedirectUri(OAuthServer server, Component component) {
-		String baseUrl = RequestCycle.get().getUrlRenderer().renderFullUrl(Url.parse(component.urlFor(SignInPage.class,null).toString()));
-		
-		return baseUrl + "?oauthid=" + server.getId();
+		String result = "";
+		try {
+			String base = getBean(ConfigurationDao.class).getBaseUrl();
+			URI uri = new URI(base + component.urlFor(SignInPage.class, new PageParameters().add("oauthid", server.getId())));
+			result = RequestCycle.get().getUrlRenderer().renderFullUrl(Url.parse(uri.normalize().toString()));
+		} catch (URISyntaxException e) {
+			log.error("Unexpected error while getting redirect URL", e);
+		}
+		return result;
 	}
 		
 	private void prepareConnection(URLConnection connection) {

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java?rev=1629651&r1=1629650&r2=1629651&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java Mon Oct  6 13:37:54 2014
@@ -50,8 +50,7 @@ public class OAuthForm extends AdminBase
 		add(new TextField<String>("iconUrl").setLabel(Model.of(WebSession.getString(1575))));
 		add(new RequiredTextField<String>("clientId").setLabel(Model.of(WebSession.getString(1576))));
 		add(new RequiredTextField<String>("clientSecret").setLabel(Model.of(WebSession.getString(1577))));
-		redirectUriText = (TextField<String>) new TextField<String>("redirectUri", Model.of("")).setLabel(Model.of(WebSession.getString(1587)));
-		add(redirectUriText);
+		add(redirectUriText = (TextField<String>) new TextField<String>("redirectUri", Model.of("")).setLabel(Model.of(WebSession.getString(1587))));
 		add(new RequiredTextField<String>("requestKeyUrl").setLabel(Model.of(WebSession.getString(1578))));
 		add(new RequiredTextField<String>("requestTokenUrl").setLabel(Model.of(WebSession.getString(1579))));
 		add(new RequiredTextField<String>("requestTokenAttributes").setLabel(Model.of(WebSession.getString(1586))));
@@ -69,8 +68,7 @@ public class OAuthForm extends AdminBase
 	@Override
 	protected void onModelChanged() {
 		super.onModelChanged();
-		String redirectUri = SignInPage.getRedirectUri(getModelObject(), this);
-		redirectUriText.setModelObject(redirectUri);
+		redirectUriText.setModelObject(SignInPage.getRedirectUri(getModelObject(), this));
 	}
 
 	@Override
@@ -137,5 +135,4 @@ public class OAuthForm extends AdminBase
 		// TODO Auto-generated method stub
 		
 	}
-	
 }

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java?rev=1629651&r1=1629650&r2=1629651&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java Mon Oct  6 13:37:54 2014
@@ -27,6 +27,8 @@ import java.io.DataOutputStream;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.HttpURLConnection;
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.net.URL;
 import java.net.URLConnection;
 import java.net.URLEncoder;
@@ -173,9 +175,15 @@ public class SignInPage extends BaseInit
 	}
 		
 	public static String getRedirectUri(OAuthServer server, Component component) {
-		String baseUrl = RequestCycle.get().getUrlRenderer().renderFullUrl(Url.parse(component.urlFor(SignInPage.class,null).toString()));
-		
-		return baseUrl + "?oauthid=" + server.getId();
+		String result = "";
+		try {
+			String base = getBean(ConfigurationDao.class).getBaseUrl();
+			URI uri = new URI(base + component.urlFor(SignInPage.class, new PageParameters().add("oauthid", server.getId())));
+			result = RequestCycle.get().getUrlRenderer().renderFullUrl(Url.parse(uri.normalize().toString()));
+		} catch (URISyntaxException e) {
+			log.error("Unexpected error while getting redirect URL", e);
+		}
+		return result;
 	}
 		
 	private void prepareConnection(URLConnection connection) {