From dbdfc9fb8df8d733a409f539e709f3172e2ab6dc Mon Sep 17 00:00:00 2001 From: Andrew Peebles Date: Sat, 16 Apr 2016 10:39:46 -0700 Subject: [PATCH 1/2] support for passthru authentication --- src/components/LoginForm.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/LoginForm.js b/src/components/LoginForm.js index 1e9101a..7b8ef71 100644 --- a/src/components/LoginForm.js +++ b/src/components/LoginForm.js @@ -196,7 +196,9 @@ export default class LoginForm extends React.Component { var router = context.getRouter(); var homeRoute = router.getHomeRoute(); var authenticatedHomeRoute = router.getAuthenticatedHomeRoute(); - var redirectTo = this.props.redirectTo || (authenticatedHomeRoute || {}).path || (homeRoute || {}).path || '/'; + var { location } = this.props; + var passthru = (location && location.state) ? location.state.nextPathname : null; + var redirectTo = this.props.redirectTo || passthru || (authenticatedHomeRoute || {}).path || (homeRoute || {}).path || '/'; this.history.pushState(null, redirectTo); } From f05e7ea4e662badc68fbce18c5edff3e66ecbb3d Mon Sep 17 00:00:00 2001 From: Andrew Peebles Date: Fri, 22 Apr 2016 13:01:25 -0700 Subject: [PATCH 2/2] If the passthru auth route is the louout route, ignore it (or we will immediately logout apon login) --- src/components/LoginForm.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/LoginForm.js b/src/components/LoginForm.js index 7b8ef71..348da17 100644 --- a/src/components/LoginForm.js +++ b/src/components/LoginForm.js @@ -195,9 +195,11 @@ export default class LoginForm extends React.Component { _performRedirect() { var router = context.getRouter(); var homeRoute = router.getHomeRoute(); + var logoutRoute = router.getLogoutRoute(); var authenticatedHomeRoute = router.getAuthenticatedHomeRoute(); var { location } = this.props; var passthru = (location && location.state) ? location.state.nextPathname : null; + if ( passthru == ( logoutRoute || {} ).path ) passthru = null; var redirectTo = this.props.redirectTo || passthru || (authenticatedHomeRoute || {}).path || (homeRoute || {}).path || '/'; this.history.pushState(null, redirectTo);