我使用Devise3.2.0
進行身份驗證,發現當我做了以下的問題:InvalidAuthenticityToken在設計:: SessionsController#破壞(登出已經有退出後)
- 標籤1:登錄在以應用
- 標籤2:去任何頁面的應用
- 片2:簽署出(成功)
- 標籤1:簽出(失敗 - 見下文除外)
發生異常:
的ActionController :: InvalidAuthenticityToken在設計:: SessionsController#破壞
在開發日誌我看到:
無法驗證CSRF令牌的真實性
和上三線的堆棧跟蹤的是:
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
actionpack (4.0.0) lib/action_controller/metal/request_forgery_protection.rb:163:in `handle_unverified_request'
actionpack (4.0.0) lib/action_controller/metal/request_forgery_protection.rb:170:in `handle_unverified_request'
devise (3.2.0) lib/devise/controllers/helpers.rb:198:in `handle_unverified_request'
我如何能確保連續標誌出局沒有引發異常?
它不是連續登出,你想退出,當你已經登出。所以爲什麼不從tab1註銷用戶,當你從tab2登出 –
我不知道你爲什麼說這是*不是*連續註銷。 *連續*表示*相互連接*。如果我在退出另一個選項卡後嘗試退出,那麼就我而言,這是連續的。但問題是,這是用戶可以採取的非常合理的行動。一個例子是,用戶在單個網站上打開多個標籤,當他們在一個標籤中註銷,然後繼續關閉其他標籤時,他們可能會嘗試再次退出(由於已登錄所有其他標籤)。 – user664833
@ user664833現在我明白了。是的,Devise應該已經處理了註銷方案而不會引發令人討厭的錯誤。但是,他們也許會說這就是我們所說的「定製」。在Devise實現它之前,KirtiThorat的解決方法可能是更好的解決方案。 – HackerKarma