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 2017/10/10 08:48:58 UTC
openmeetings git commit: [OPENMEETINGS-1717] get URL seems to be fixed
Repository: openmeetings
Updated Branches:
refs/heads/master 0684a2f90 -> 91f600601
[OPENMEETINGS-1717] get URL seems to be fixed
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/91f60060
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/91f60060
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/91f60060
Branch: refs/heads/master
Commit: 91f600601f64bcf1006cb96ae876404b3f041f2a
Parents: 0684a2f
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Tue Oct 10 15:48:50 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Tue Oct 10 15:48:50 2017 +0700
----------------------------------------------------------------------
.../openmeetings/web/admin/oauth/OAuthForm.java | 5 ++--
.../openmeetings/web/app/Application.java | 2 +-
.../web/pages/auth/ForgetPasswordDialog.java | 16 +++++++------
.../web/pages/auth/SignInDialog.java | 2 +-
.../openmeetings/web/pages/auth/SignInPage.java | 25 +++++++-------------
5 files changed, 23 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/91f60060/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
index f3cfdb9..73659b1 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
@@ -18,6 +18,8 @@
*/
package org.apache.openmeetings.web.admin.oauth;
+import static org.apache.openmeetings.web.pages.auth.SignInPage.getRedirectUri;
+
import java.util.Arrays;
import org.apache.openmeetings.db.dao.server.OAuth2Dao;
@@ -26,7 +28,6 @@ import org.apache.openmeetings.db.entity.server.OAuthServer.RequestMethod;
import org.apache.openmeetings.web.admin.AdminBaseForm;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
-import org.apache.openmeetings.web.pages.auth.SignInPage;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -74,7 +75,7 @@ public class OAuthForm extends AdminBaseForm<OAuthServer> {
@Override
protected void onModelChanged() {
super.onModelChanged();
- redirectUriText.setModelObject(SignInPage.getRedirectUri(getModelObject(), this));
+ redirectUriText.setModelObject(getRedirectUri(getModelObject()));
}
@Override
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/91f60060/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index 26dae7c..c97a507 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -825,7 +825,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica
if (!new UrlValidator(new String[] {"http", "https"}).isValid(baseUrl) && !Strings.isEmpty(_baseUrl)) {
baseUrl = _baseUrl;
}
- return rc.getUrlRenderer().renderFullUrl(Url.parse(baseUrl + rc.urlFor(clazz, pp)));
+ return rc.getUrlRenderer().renderFullUrl(Url.parse(baseUrl + rc.mapUrlFor(clazz, pp)));
}
@Override
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/91f60060/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
index 08c0d33..a6d9165 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
@@ -20,6 +20,7 @@ package org.apache.openmeetings.web.pages.auth;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.Application.urlForPage;
import java.util.Arrays;
import java.util.Date;
@@ -216,8 +217,7 @@ public class ForgetPasswordDialog extends AbstractFormDialog<String> {
protected void onSubmit(AjaxRequestTarget target) {
String nm = name.getModelObject();
Type type = rg.getModelObject();
- resetUser(type == Type.email ? nm : "", type == Type.login ? nm : ""
- , getBean(ConfigurationDao.class).getBaseUrl() + getRequestCycle().urlFor(ResetPage.class, new PageParameters()).toString().substring(2));
+ resetUser(type == Type.email ? nm : "", type == Type.login ? nm : "");
}
/**
@@ -229,7 +229,7 @@ public class ForgetPasswordDialog extends AbstractFormDialog<String> {
* @param appLink
* @return <code>true</code> in case reset was successful, <code>false</code> otherwise
*/
- private boolean resetUser(String email, String username, String appLink) {
+ private boolean resetUser(String email, String username) {
try {
UserDao userDao = getBean(UserDao.class);
log.debug("resetUser " + email);
@@ -238,13 +238,13 @@ public class ForgetPasswordDialog extends AbstractFormDialog<String> {
if (!Strings.isEmpty(email)) {
User us = userDao.getByEmail(email);
if (us != null) {
- sendHashByUser(us, appLink, userDao);
+ sendHashByUser(us, userDao);
return true;
}
} else if (!Strings.isEmpty(username)) {
User us = userDao.getByLogin(username, User.Type.user, null);
if (us != null) {
- sendHashByUser(us, appLink, userDao);
+ sendHashByUser(us, userDao);
return true;
}
}
@@ -254,12 +254,14 @@ public class ForgetPasswordDialog extends AbstractFormDialog<String> {
return false;
}
- private void sendHashByUser(User us, String appLink, UserDao userDao) {
+ private void sendHashByUser(User us, UserDao userDao) {
log.debug("User: " + us.getLogin());
us.setResethash(UUID.randomUUID().toString());
us.setResetDate(new Date());
userDao.update(us, null);
- String resetLink = appLink + "?hash=" + us.getResethash();
+ String resetLink = urlForPage(ResetPage.class
+ , new PageParameters().add("hash", us.getResethash())
+ , getBean(ConfigurationDao.class).getBaseUrl());
String email = us.getAddress().getEmail();
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/91f60060/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
index 6b56edd..24892ca 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
@@ -279,7 +279,7 @@ public class SignInDialog extends NonClosableDialog<String> {
@Override
public void onSubmit() {
- showAuth(s, SignInDialog.this);
+ showAuth(s);
}
};
Component icon = new Image("icon", Model.of(""))
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/91f60060/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
index fdde19b..5f6754c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
@@ -23,13 +23,12 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_IGNORE_B
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_FRONTEND;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.Application.urlForPage;
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;
@@ -56,7 +55,6 @@ import org.apache.openmeetings.util.OmException;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.pages.BaseInitedPage;
-import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.request.IRequestParameters;
import org.apache.wicket.request.cycle.RequestCycle;
@@ -102,7 +100,7 @@ public class SignInPage extends BaseInitedPage {
Map<String, String> authParams = getAuthParams(authInfo.accessToken, code, server);
loginViaOAuth2(authParams, serverId);
} else { // redirect to get code
- showAuth(server, this);
+ showAuth(server);
}
} catch (IOException|NoSuchAlgorithmException e) {
log.error("OAuth2 login error", e);
@@ -149,8 +147,8 @@ public class SignInPage extends BaseInitedPage {
}
// ============= OAuth2 methods =============
- public static void showAuth(final OAuthServer s, Component c) {
- String authUrl = prepareUrlParams(s.getRequestKeyUrl(), s.getClientId(), getRedirectUri(s, c), null, null, null);
+ public static void showAuth(final OAuthServer s) {
+ String authUrl = prepareUrlParams(s.getRequestKeyUrl(), s.getClientId(), getRedirectUri(s), null, null, null);
log.debug("redirectUrl={}", authUrl);
throw new RedirectToUrlException(authUrl);
}
@@ -179,16 +177,11 @@ public class SignInPage extends BaseInitedPage {
return result;
}
- public static String getRedirectUri(OAuthServer server, Component component) {
+ public static String getRedirectUri(OAuthServer server) {
String result = "";
if (server.getId() != null) {
- try {
- String base = getBean(ConfigurationDao.class).getBaseUrl();
- URI uri = new URI(base + component.urlFor(SignInPage.class, new PageParameters().add("oauthid", server.getId())));
- result = uri.normalize().toString();
- } catch (URISyntaxException e) {
- log.error("Unexpected error while getting redirect URL", e);
- }
+ String base = getBean(ConfigurationDao.class).getBaseUrl();
+ result = urlForPage(SignInPage.class, new PageParameters().add("oauthid", server.getId()), base);
}
return result;
}
@@ -232,7 +225,7 @@ public class SignInPage extends BaseInitedPage {
String requestTokenBaseUrl = server.getRequestTokenUrl();
// build url params to request auth token
String requestTokenParams = server.getRequestTokenAttributes();
- requestTokenParams = prepareUrlParams(requestTokenParams, server.getClientId(), getRedirectUri(server, this)
+ requestTokenParams = prepareUrlParams(requestTokenParams, server.getClientId(), getRedirectUri(server)
, server.getClientSecret(), null, code);
// request auth token
HttpURLConnection urlConnection = (HttpURLConnection) new URL(requestTokenBaseUrl).openConnection();
@@ -279,7 +272,7 @@ public class SignInPage extends BaseInitedPage {
String lastname = server.getLastnameParamName();
// prepare url
String requestInfoUrl = server.getRequestInfoUrl();
- requestInfoUrl = prepareUrlParams(requestInfoUrl, server.getClientId(), getRedirectUri(server, this)
+ requestInfoUrl = prepareUrlParams(requestInfoUrl, server.getClientId(), getRedirectUri(server)
, server.getClientSecret(), token, code);
// send request
URLConnection connection = new URL(requestInfoUrl).openConnection();