没有localStorage的情况下如何保留令牌信息? React + Redux

时间:2019-02-21 12:08:32

标签: javascript reactjs redux

我正在尝试将令牌信息保留在整个应用程序中,但是我知道的唯一方法是使用localStorage(大多数人说这是最不安全的方法)。

我该怎么做才能避免使用localStorage或将其变得更安全

Action.js

export const setarToken = (token, status) => {
  return {
    type: SETAR_TOKEN,
    token: token,
    result: status
  }
}

export const loginUsuario = (email, senha) => {
  return (dispatch) => {
    API.get('usuario/autorizar?email=' + email + '&senha='  + senha)
    .then((res) =>{
      dispatch(setarToken(res.data.token, 'success'))
    })
    .catch((error) => {
      throw(error);
    })
  }
}

Reducer.js

case SETAR_TOKEN:
            localStorage.setItem('API_TOKEN', action.token)
            return null

2 个答案:

答案 0 :(得分:1)

最好的方法是使用ReduxPersist软件包。...here

答案 1 :(得分:0)

在这里找到了一些不错的提示:https://auth0.com/docs/security/store-tokens

所以您是正确的,坚持使用local是一个坏主意。如果cookie是一个可行的选择,要么向上增大,要么随每个请求的新令牌请求持久保存在内存中。