Ho insegnato a me stesso Redux, chiedendomi quanto è sicuro conservare i token JWT in uno stato di Redux.
Ad esempio, ecco un riduttore che è responsabile per l'impostazione e il ripristino di 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
}
Quindi, puoi memorizzare un token nel modo seguente.
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));
});
});
}
Lo scopo principale dell'uso di Redux è di organizzare gli stati in un posto, quindi ho pensato che sarebbe ragionevole mantenere i token lì.
Tuttavia, non ho trovato una buona risorsa informativa che spieghi quanto sia sicuro / vulnerabile farlo.
(Ho trovato diversi post come localStorage vs Cookies. Apparentemente i cookie sarebbero un luogo sicuro per la memorizzazione di token, per quanto Ho studiato )
Qualche consiglio sarà apprezzato!