Axios Token问题?

时间:2017-02-24 01:46:33

标签: redux token axios

我有注册/登录/注销问题。我正在创建一个React / Redux项目,我正在使用Axios进行GET& POST请求。我是Axios的新手并且阅读了文档无济于事。

这是问题所在。  1.我可以在注册表单中成功创建一个注册用户。  2.我可以使用基本的Redux表单发出Post请求(几个字符串)。  3.用户和帖子都在MongoDB中持久存在,我正在获取令牌。  4.当我退出该新用户并使用该新用户重新登录时,我可以登录,但我的帖子显示为401.直觉和研究告诉我,这是令牌的问题,但话说回来,我不知道为什么我能够使用新创建的用户登录,但无法再发帖。任何帮助都会非常感激。以下是我的Axios方法:

var config = {
   headers: { authorization: localStorage.getItem('token') }
}

export function signinUser({ email, password }){
    return function(dispatch){
        axios.post(`${ROOT_URL}/signin`, {email, password})
            .then(response => {

                dispatch({ type: AUTH_USER });
                localStorage.setItem('token', response.data.token);
                browserHistory.push('/newitem');

         })
      .catch(response =>  dispatch(authError("There was a something wrong with your request.")));
    }
}

export function signoutUser(){
   localStorage.removeItem('token'); 
   return {type: UNAUTH_USER};
}

export function signupUser({ email, password }) {
  return function(dispatch) {
    // Submit email/password to the server
    axios.post(`${ROOT_URL}/signup`, { email, password })
      .then(response => {
        dispatch({type: AUTH_USER});

          //update the token
          localStorage.setItem('token', response.data.token);
          browserHistory.push('/newitem');
      })
      .catch(response => dispatch(authError(response.data.error)));
  }
}


export function createPost(props) {
  return function(dispatch){
    axios.post(`${ROOT_URL}/newitem`, { props }, config )
    .then(request => {
        dispatch({
          type: CREATE_POSTS,
          payload: request
        })
      browserHistory.push('/items');
    });
  }
}

0 个答案:

没有答案