我正在尝试在整个应用程序中持续存在令牌信息,但是我知道的唯一方法是使用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
最佳方法是使用reduxpersist软件包....请参阅此处
在这里找到了一些好提示:https://auth0.com/docs/security/store-tokens
因此,您是正确的,坚持本地是个坏主意。无论哪种方式,如果cookie是一个可行的选项,或者只需在每个请求带有新的令牌请求的内存中持续存在。