Me he estado enseñando a mi mismo Redux, preguntándome qué tan seguro es almacenar tokens JWT en un estado de Redux.
Por ejemplo, aquí hay un reductor que es responsable de configurar y restablecer un token.
export default function loginReducer(state = {
token: "",
}, action) {
switch (action.type) {
case "SET_TOKEN":
{
return {
...state,
token: action.data,
}
break;
}
//other cases here
return state
}
Luego, puedes almacenar un token de la siguiente manera.
handleSubmit(values) {
//Calling an API
}).then((response) => {
response.json().then((jsonReponse) => {
//This is where the token is stored!
this.props.dispatch(loginAction.setToken(jsonReponse.token));
});
});
}
El propósito principal de usar Redux es organizar estados en un lugar, por lo que pensé que sería razonable mantener los tokens allí.
Sin embargo, no he encontrado un buen recurso de información que explique qué tan seguro / vulnerable es hacerlo.
(Encontré varias publicaciones en localStorage vs Cookies. Al parecer, las cookies serían un lugar seguro para almacenar tokens, en la medida en que He investigado )
Cualquier consejo será apreciado!