From 0b40af77e4b049df965faeecb87173eced1f2849 Mon Sep 17 00:00:00 2001 From: Andrew Peebles Date: Wed, 22 Jun 2016 10:14:10 -0700 Subject: [PATCH 1/2] add support for passthru authentication --- src/components/AuthenticatedRoute.js | 2 +- src/components/LoginForm.js | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/components/AuthenticatedRoute.js b/src/components/AuthenticatedRoute.js index ac5c720..83209a7 100644 --- a/src/components/AuthenticatedRoute.js +++ b/src/components/AuthenticatedRoute.js @@ -14,7 +14,7 @@ export default class AuthenticatedRoute extends Route { var loginRoute = router.getLoginRoute(); var redirectTo = (loginRoute || {}).path || (homeRoute || {}).path || '/'; - replace(redirectTo); + replace({ nextPathname: nextState.location.pathname }, redirectTo); } callback(); }); diff --git a/src/components/LoginForm.js b/src/components/LoginForm.js index d388966..2772db6 100644 --- a/src/components/LoginForm.js +++ b/src/components/LoginForm.js @@ -153,7 +153,6 @@ export default class LoginForm extends React.Component { onFormSubmit(e) { e.preventDefault(); - e.persist(); var next = (err, data) => { if (err) { @@ -198,7 +197,13 @@ 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 logoutRoute = router.getLogoutRoute(); + + 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.context.router.push(redirectTo); } From 54912fb04b8823088bcd065ce8fca9ee3f2ba481 Mon Sep 17 00:00:00 2001 From: Andrew Peebles Date: Wed, 22 Jun 2016 10:21:37 -0700 Subject: [PATCH 2/2] put back in one line from master --- src/components/LoginForm.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/LoginForm.js b/src/components/LoginForm.js index 2772db6..f4fb773 100644 --- a/src/components/LoginForm.js +++ b/src/components/LoginForm.js @@ -153,7 +153,8 @@ export default class LoginForm extends React.Component { onFormSubmit(e) { e.preventDefault(); - + e.persist(); + var next = (err, data) => { if (err) { return this.setState({