Аутентификация промежуточного ПО возвращает ответ, а не ошибку - PullRequest
0 голосов
/ 24 апреля 2019

на узле у меня есть этот код

const auth = (req, res, next) => {
const token = req.header('x-auth-token');

//Check Token
if(!token) return res.status(400).json({msg: "No Token, authorizaton denied"});

//Verify Token
try {
    const decoded = jwt.verify(token, keys.JWTSecret);
    //Add user from payload
    req.user = decoded;
    next();
} catch(e) {
    res.status(400).json({error: 'Token is not valid'})
}

}

о действиях в Redux у меня есть это:

xport const loadUser = () => (dispatch, getState) => {
dispatch({type: USER_LOADING});

const token = getState().auth.token;

const config = {
    headers: {
        "Content-type": "application/json"
    }
}

if (token) {
    config.headers['x-auth-token'] = token;
}


fetch('/api/profile', config)
    .then(response => response.json())
    .then(user => dispatch({
        type: USER_LOADED,
        payload: user
    }))
    .catch(err => {
        dispatch(returnErrors(err.response.data, err.response.status))
        dispatch({
            type: USER_FAIL
        })
    })
}

но когда токена не существует и аутентификация не проходити я получаю «No Token, authrozaton denied», я получаю это при ответе и т. д. на USER_LOADED, а не на USER_FAIL. Как быть, почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...