假設我有用於登錄的API,註銷。我正在使用令牌認證。 我有反應組件名稱登錄。我可以調用API並獲得令牌。但是,我不理解如何在瀏覽器中保存令牌,直到註銷或在片刻之後自動銷燬令牌。如何處理reactjs中的令牌認證?
回答
您可以使用universal-cookie
包來設置它在Cookie,
const cookies = new Cookies();
cookies.set('token', this.token, { path: '/' });
不要忘了從universal-cookie
進口(或需要)Cookies
。
你可以使用恢復回來:
cookies.get('token');
參考https://github.com/reactivestack/cookies/tree/master/packages/universal-cookie
您可以將其保存在本地存儲以及:
localStorage.setItem('token', this.token);
但保存在cookie將是一個更好的主意,參考:
您可以創建存儲模塊並檢查客戶端瀏覽器中的可用存儲。
import LocalStorage from "./localstorage"
import Cookie from "./cookie"
// Function to check availability of `localStorage`
function storageAvailable() {
try {
var storage = window["localStorage"],
x = '__storage_test__';
storage.setItem(x, x);
storage.removeItem(x);
return true;
}
catch(e) {
return false;
}
}
export default function Storage() {
return storageAvailable() ? LocalStorage : Cookie
}
使用上述模塊:
function login(redirect = '/home') {
// set your session data
storage.set({email, id})
// redirection
window.location.href = redirect
}
function logout(redirect = "/") {
storage.clear()
// redirection
window.location.href = redirect
}
const Session = {
login,
logout
}
export default Session
現在,你可以簡單地使用登錄和註銷您的Session
模塊分別Session.login()
和Session.logut()
。
如何使用的cookie: How do I create and read a value from cookie?
如何使用localStorage的:Storing Objects in HTML5 localStorage
您從「./localstorage」導入。那麼,我需要爲本地存儲編寫任何東西嗎? –
「.localstorage」和「./cookie」是用於設置localstorage和cookie的模塊。您可以創建getter和setter來設置和獲取存儲數據。我已經添加了關於如何使用localstorage和cookie的鏈接。 – madhurgarg
@AshrafulIslam是「./localstorage」。是您設置存儲數據的實際代碼。我只是向你展示了一個抽象的正確做法。 您可以在登錄存儲設備後設置您的身份驗證令牌或任何您需要的數據。 – madhurgarg
- 1. 如何在Angular Dart中處理令牌認證?
- 2. 如何驗證getOpenIdTokenForDeveloperIdentity認證令牌
- 3. WWW:Facebook:Api認證令牌
- 4. ServiceStack令牌認證
- 5. HTTP令牌認證
- 6. Twitter中的oAuth令牌:如何處理持久令牌?
- 7. 智威湯遜:在多域級別處理令牌認證
- 8. 的Web API令牌認證拋出異常,無認證處理程序被配置爲處理方案:Microsoft.AspNet.Identity.Application
- 9. 如何結合令牌認證和CRSF?
- 10. 意外令牌=在reactjs上的事件處理v15
- 11. 設計令牌認證
- 12. Web令牌認證 - 無MediaTypeFormatter
- 13. JWT令牌和Owin認證
- 14. RAILS Faye - 令牌認證
- 15. WCF定製認證 - 令牌
- 16. REST API令牌認證
- 17. Rails認證令牌和Ajax
- 18. Spring Boot - 令牌認證
- 19. Django DRF令牌認證
- 20. Rails-api HTTP令牌認證
- 21. 瞭解C2DM認證令牌
- 22. 王菲認證令牌與
- 23. 角2和令牌認證
- 24. Asp.net Web Api令牌認證
- 25. 保護與認證令牌
- 26. Owin使用令牌認證
- 27. 飛鏢中的令牌認證
- 28. expressJS中的API令牌認證?
- 29. 處理UAC管理令牌
- 30. 如何處理令牌化錯誤?
您可以同時使用的cookie和localStorage的。如果不使用cookie,您可以檢查客戶端是否支持localstorage。 – madhurgarg