Stop using logout when no locally stored user was found.

This was causing users to not be able to sign up with Netlify Identity.
This commit is contained in:
Caleb 2017-11-11 12:30:24 -07:00 committed by Shawn Erquhart
parent 0f8a74be13
commit d378488e0f
2 changed files with 11 additions and 2 deletions

View File

@ -6,6 +6,7 @@ const { notifSend } = notifActions;
export const AUTH_REQUEST = 'AUTH_REQUEST'; export const AUTH_REQUEST = 'AUTH_REQUEST';
export const AUTH_SUCCESS = 'AUTH_SUCCESS'; export const AUTH_SUCCESS = 'AUTH_SUCCESS';
export const AUTH_FAILURE = 'AUTH_FAILURE'; export const AUTH_FAILURE = 'AUTH_FAILURE';
export const AUTH_REQUEST_DONE = 'AUTH_REQUEST_DONE';
export const LOGOUT = 'LOGOUT'; export const LOGOUT = 'LOGOUT';
export function authenticating() { export function authenticating() {
@ -29,6 +30,12 @@ export function authError(error) {
}; };
} }
export function doneAuthenticating() {
return {
type: AUTH_REQUEST_DONE,
};
}
export function logout() { export function logout() {
return { return {
type: LOGOUT, type: LOGOUT,
@ -46,7 +53,7 @@ export function authenticateUser() {
if (user) { if (user) {
dispatch(authenticate(user)); dispatch(authenticate(user));
} else { } else {
dispatch(logoutUser()); dispatch(doneAuthenticating());
} }
}) })
.catch((error) => { .catch((error) => {

View File

@ -1,5 +1,5 @@
import Immutable from 'immutable'; import Immutable from 'immutable';
import { AUTH_REQUEST, AUTH_SUCCESS, AUTH_FAILURE, LOGOUT } from '../actions/auth'; import { AUTH_REQUEST, AUTH_SUCCESS, AUTH_FAILURE, AUTH_REQUEST_DONE, LOGOUT } from '../actions/auth';
const auth = (state = null, action) => { const auth = (state = null, action) => {
switch (action.type) { switch (action.type) {
@ -9,6 +9,8 @@ const auth = (state = null, action) => {
return Immutable.fromJS({ user: action.payload }); return Immutable.fromJS({ user: action.payload });
case AUTH_FAILURE: case AUTH_FAILURE:
return Immutable.Map({ error: action.payload.toString() }); return Immutable.Map({ error: action.payload.toString() });
case AUTH_REQUEST_DONE:
return state.remove('isFetching');
case LOGOUT: case LOGOUT:
return state.remove('user').remove('isFetching'); return state.remove('user').remove('isFetching');
default: default: