[英]How to detect another session is ongoing from another browser tab using Parse Server error
如果用戶從另一個選項卡或瀏覽器登錄,我正在嘗試自動注銷應用程序。 我正在使用 react-idle-timer 和 Parse Server。
我不確定這行代碼是否有用
Parse.Error.INVALID_SESSION_TOKEN
我可以通過 localStorage 訪問 session 令牌
const res = await Parse.Cloud.run('login', values);
console.log(res.session);
您無法區分來自同一瀏覽器中不同選項卡的請求。 它將共享相同的 session 令牌,並且與任何其他請求無法區分。 來自不同瀏覽器的請求將具有不同的 session 令牌,如果它們存儲一些用戶信息,您可以確定哪些屬於哪個用戶。
如果我們重新構建您的問題,聽起來您只想允許每個用戶進行一次活動登錄。 這需要一個支持防止多個並發會話的集中式或集群式 session 管理解決方案。
如果您只有一台后端服務器,或者您使用共享數據庫來存儲會話,那么您可以根據您用於 session 管理的內容來更輕松地執行此操作,因為所有會話都將在一台服務器上可用。
我不清楚您的用戶是否直接連接到解析服務器。 如果是這樣,您很可能需要直接修改 parse-servers 代碼來支持這一點。
一般來說,這是一個愚蠢的想法。 除非您有法律要求,否則我不會提倡對此感到擔憂。 繞過這個通常就像復制 session 令牌一樣簡單。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.