我知道答案是什麼,但我只想嘗試我的運氣。以Facebook
爲例,我使用omniauth-facebook
來允許用戶登錄到我的網站。登錄後,用戶可以在本網站上設置一些隱私數據。Omniauth Strategies - 在共享系統上管理多個用戶
考慮一個場景,我有2個用戶U1
和U2
。他們都在我的網站使用Facebook
單獨登錄並分別授權該應用。現在考慮一個共享系統,U1
來到我的網站,點擊Login using Facebook
,驗證自己,一切都好。 U1
離開,但不從Facebook
註銷。現在U2
出現,點擊Login using Facebook
並使用U1
的憑證自動登錄。我不會在任何時間儲存用戶的access_token
。
有什麼辦法可以阻止這種情況發生?我能想到的最好的辦法是在FB的身份驗證和我的站點的回調之間添加一箇中間頁面,並詢問用戶是否是FB的預期用戶。如果是這樣,繼續,否則帶她去登錄頁面。但是這並不涉及U2
仍然可以看到U1
的頁面的事實。
任何輸入將不勝感激。
編輯:我針對Facebook
,Twitter
,LinkedIn
和Google
。所以我正在尋找一個通用的解決方案。我知道Facebook
和Twitter
有強制驗證的可能性,但我想實施一個通用解決方案。
對不起,我沒有更新我的問題。我昨天才知道這個選項。我在單一提供者的腦海裏形成了這個問題,但我希望爲'Facebook','Twitter','LinkedIn'和'Google'這樣做。 –
看到我編輯的答案。沒有一個選項適用於每個omniauth寶石。您只需調查這些服務的OAuth流程及其各自的omniauth寶石。 – Ashitaka