簡體   English   中英

Http 僅在session過期后進行cookie用戶認證

[英]Http only cookie user authentication after session expires

堆:

  • 前端= Vue
  • 后端= Strapi(基於節點的cms)+ postgresql

我已經建立了一個僅使用 http cookies 的身份驗證機制。用戶登錄,然后將僅 http 的 cookie 發送給用戶。 用戶將其保存在瀏覽器中,但無法使用 javascript 訪問它。因此,cookie 或多或少受到了 xss 的保護。

問題是; 當用戶離開網站並在假設 2 天后回來時,客戶端的身份驗證 boolean 仍然表示用戶已通過身份驗證。 但實際上 cookie 已經過期。 我想檢查 cookie 的經驗,但這是不可能的,因為它只是 http,客戶端代碼無法訪問。

你們 go 如何解決這個問題?有哪些最佳實踐?

歡呼聲

我考慮過在分發 cookie 的那一刻設置一個計時器或日期戳。 但這意味着我會不斷檢查。

我有一個類似的設置。 正如您所提到的,JavaScript 無法訪問 http cookie,並且在 cookie 過期期間運行計時器並不是很理想。

我所做的是在用戶用戶執行需要身份驗證的操作之前什么都不做(例如,單擊一個按鈕,該按鈕執行 HTTP GET 到后端)。 一旦用戶這樣做並且 cookie 已經過期,我會從后端獲得 302、401 或 403 HTTP 狀態代碼之一,當發生這種情況時,Javascript 獲取請求中的.then 塊會重定向到身份驗證服務器因此用戶再次登錄以獲取新的 cookie,然后繼續執行原始操作。

並不是說這是最好的方法,但它對我來說效果很好。 希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM