Redux的狀態在刷新後消失。我在全局的user
對象中保留了一個userToken
對象。但由於會話刷新後仍然存在,我認爲有一個更好的地方我存儲token
。Redux Keep Session
redux
管理會話的常規方式是什麼?在這種情況下,我應該在哪裏保留token
?
Redux的狀態在刷新後消失。我在全局的user
對象中保留了一個userToken
對象。但由於會話刷新後仍然存在,我認爲有一個更好的地方我存儲token
。Redux Keep Session
redux
管理會話的常規方式是什麼?在這種情況下,我應該在哪裏保留token
?
您應該將令牌保存在瀏覽器的本地存儲中。
在您分派logInSuccess動作之前添加令牌。
function parseUser(response,dispatch){
localStorage.setItem("YOUR-APP-NAME", response.token);
dispatch(logInSuccess(response.token));
}
而且,不要忘記令牌添加到您的AUTH減速的初始狀態
const initialState = {
...
token: localStorage["YOUR-APP-NAME"],
...
};
上一頁答道建議使用localStorage的,讓您的令牌,但我對localStorage的建議作爲可靠的商店。
有多個案例使localStorage不適合存儲重要數據。值得注意的是,有一個空間配額和一些瀏覽器在隱私瀏覽中關閉它。
由於令牌需要伴隨每個記錄的請求到服務器,那麼真正你想要的只是一個cookie。
在用戶縮減器中,我保留了與用戶相關的所有狀態(例如電子郵件,姓名等)。將Cookie中的'token'和所有信息一起存儲可以嗎? –
好吧,有很多人會選擇通過cookies的localStorage,檢查http://stackoverflow.com/questions/3220660/local-storage-vs-cookies或https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/ – QoP
@QoP在該鏈接中,具有超過500個upvotes的接受答案具有以下聲明:「您將希望以任何方式將會話cookie保留爲cookie雖然。」 – Buzinas