add redirect feature for authentication

This commit is contained in:
Rick Watson
2019-05-19 21:22:01 +01:00
parent adeb9d27ed
commit 5c6ba73e1f
3 changed files with 28 additions and 3 deletions

View File

@ -21,7 +21,7 @@ export function fetchLoginRedirect() {
const loginSearch = localStorage.getItem(LOGIN_SEARCH);
clearLoginRedirect();
return {
pathname: loginPathname || "/",
pathname: loginPathname || "/wifi-configuration",
search: (loginPathname && loginSearch) || undefined
};
}

View File

@ -0,0 +1,24 @@
import * as React from 'react';
import {
Redirect, Route
} from "react-router-dom";
import { withAuthenticationContext } from './Context.js';
import * as Authentication from './Authentication';
class UnauthenticatedRoute extends React.Component {
render() {
const { component:Component, ...rest } = this.props;
const renderComponent = (props) => {
if (this.props.authenticationContext.jwt) {
return (<Redirect to={Authentication.fetchLoginRedirect()} />);
}
return (<Component {...props} />);
}
return (
<Route {...rest} render={renderComponent} />
);
}
}
export default withAuthenticationContext(UnauthenticatedRoute);