我想弄清楚如何爲我的React應用程序構建一個基本的登錄/註冊功能。所以我正在考慮創建一個HoC /父類,用於執行諸如登錄和檢查用戶是否登錄等事情。 因此,我現在已經找到了找出用戶是否登錄的最佳方式。我看到的是使用localStorage。但是,任何人都可以訪問它,所以我可以只存儲一個標誌,說isLoggedIn或什麼?我是否需要加密某個標記,如username.password,然後在每個頁面上加載對DB的調用?這似乎有點多。或者有一個missunderstacked的東西?使用本地存儲的反應認證
0
A
回答
1
您可以使用JSON Web令牌(JWT)。
當用戶登錄時,請調用後端的說/登錄以根據數據庫檢查密碼。如果成功,則發出一個包含用戶名和角色的JWT(例如,而不是的密碼)。
您可以隨時通過直接用JavaScript驗證令牌的加密簽名(如果可讀內容(例如用戶名)已被更改,則簽名將不再匹配)來通知用戶是否已登錄, 。這樣,在令牌到期之前,您不需要詢問數據庫。
我看到的是使用localStorage。但任何人都可以訪問
不可以,也可以,只有在同一個域中才可以訪問的Cookie數量爲advantage。原則上,是一種令牌被盜的方式(例如XSS attacks,或者在您離開時從您的筆記本電腦上的開發工具中複製而來),但是您添加到它的過期時間只會使其有效幾個小時。
相關問題
- 1. 反應本地存儲
- 2. 角度2認證與本地存儲
- 3. 使用FB JS sdk進行反應本地用戶認證
- 4. 將用戶憑證存儲在本地存儲|中反應過來,終極版
- 5. 使本地存儲庫落入默認存儲庫
- 6. 認證使用令牌反應
- 7. HTML5:使用本地存儲
- 8. 使用HTML5本地存儲
- 9. MD5認證本地用戶
- 10. Maven默認本地存儲庫
- 11. 使用解析反應查詢轉到本地存儲,而不是Parse.com
- 12. 無法在移動設備上設置本地存儲,反應
- 13. 使用的RAM作爲本地存儲
- 14. 的JavaScript Array.indexOf()使用本地存儲
- 15. 使用HTML5存儲的本地開發
- 16. 使用Android Webview的PouchDB本地存儲
- 17. 使用jQuery解析本地存儲中存儲的JSON
- 18. iPhone:本地應用程序與本地存儲的Web應用程序?
- 19. 如何在本地存儲中存儲登錄憑證
- 20. 使用備份本地身份驗證的Apache radius認證
- 21. Android庫使用本地Maven存儲庫
- 22. 無法從本地存儲使用JSON
- 23. maven - 如何使用本地存儲庫
- 24. 如何正確使用本地存儲?
- 25. 空使用本地存儲和JQuery
- 26. getS3使用aws-sdk和本地存儲
- 27. 在phonegap應用程序中使用瀏覽器本地存儲
- 28. 注意使用本地存儲器拍攝應用程序
- 29. 使用2個html5本地存儲應用程序問題
- 30. 存儲用戶的反應授權
雖然在瀏覽器控制檯,我不能做一些像受害者計算機上的localStorage.getItem(),然後在我的電腦上設置值? – user1009698
@ user1009698是的,你可以使用它,直到它到期。與cookie相同的是,這不是localStorage的錯誤:不是'localStorage.getItem(。)',而是'document.cookie'。當你離開時鎖定你的屏幕! – JulienD