diff --git a/webapp/components/login/login_controller.jsx b/webapp/components/login/login_controller.jsx index c9930c406c..cef7fe4357 100644 --- a/webapp/components/login/login_controller.jsx +++ b/webapp/components/login/login_controller.jsx @@ -213,7 +213,7 @@ export default class LoginController extends React.Component { finishSignin(team) { const query = this.props.location.query; GlobalActions.loadCurrentLocale(); - if (query.redirect_to) { + if (query.redirect_to && query.redirect_to.match(/^\//)) { browserHistory.push(query.redirect_to); } else if (team) { browserHistory.push(`/${team.name}`); diff --git a/webapp/components/root.jsx b/webapp/components/root.jsx index 0332a8e0a1..9e9ed11112 100644 --- a/webapp/components/root.jsx +++ b/webapp/components/root.jsx @@ -96,7 +96,7 @@ export default class Root extends React.Component { } else if (UserStore.getCurrentUser()) { GlobalActions.redirectUserToDefaultTeam(); } else { - browserHistory.push('/login'); + browserHistory.push('/login' + window.location.search); } } } diff --git a/webapp/routes/route_team.jsx b/webapp/routes/route_team.jsx index 45494dca54..fe2b0050c1 100644 --- a/webapp/routes/route_team.jsx +++ b/webapp/routes/route_team.jsx @@ -94,7 +94,7 @@ function preNeedsTeam(nextState, replace, callback) { const team = TeamStore.getByName(teamName); if (!team) { - browserHistory.push('/'); + browserHistory.push('/?redirect_to=' + encodeURIComponent(nextState.location.pathname)); return; }