29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
import { connectedRouterRedirect } from 'redux-auth-wrapper/history3/redirect';
|
|
import locationHelperBuilder from 'redux-auth-wrapper/history3/locationHelper';
|
|
|
|
const locationHelper = locationHelperBuilder({});
|
|
|
|
export const userIsAuthenticated = connectedRouterRedirect({
|
|
// The url to redirect user to if they fail
|
|
redirectPath: '/login',
|
|
// Determine if the user is authenticated or not
|
|
authenticatedSelector: state => state.user.authenticated === true,
|
|
// A nice display name for this check
|
|
wrapperDisplayName: 'UserIsAuthenticated'
|
|
});
|
|
|
|
export const userIsNotAuthenticated = connectedRouterRedirect({
|
|
redirectPath: (state, ownProps) => locationHelper.getRedirectQueryParam(ownProps) || '/',
|
|
allowRedirectBack: false,
|
|
authenticatedSelector: state => state.user.authenticated === false,
|
|
wrapperDisplayName: 'UserIsNotAuthenticated'
|
|
});
|
|
|
|
export const userIsAuthorized = connectedRouterRedirect({
|
|
redirectPath: '/',
|
|
allowRedirectBack: false,
|
|
authenticatedSelector: (state, ownProps) => {
|
|
const { username } = ownProps.params;
|
|
return state.user.username === username;
|
|
},
|
|
});
|