InvalidAuthenticityToken à Concevoir::SessionsController#détruire (signe après avoir déjà signé)

Je suis en utilisant Concevoir 3.2.0 pour l'authentification et trouvé un problème, quand je fais les suivantes:

  • onglet 1: signe dans app
  • onglet 2: aller à n'importe quelle page de l'application
  • onglet 2: signe hors (succès)
  • onglet 1: signe hors (défaut - voir exception ci-dessous)

Exception soulevée:

ActionController::InvalidAuthenticityToken à Concevoir::SessionsController#détruire

Dans le développement de journal que je vois:

Ne peut pas vérifier jeton CSRF authenticité

Et les trois premières lignes de la trace de la pile sont:

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'

Comment puis-je m'assurer successives signe outs ne pas soulever une exception?

Ses pas successifs signe, vous essayez de vous connecter, si vous êtes déjà un signe. alors pourquoi ne pas déconnecter l'utilisateur de tab1 , lorsque vous vous déconnectez de tab2
Je ne suis pas sûr de savoir pourquoi vous dites que c'est pas un autre signe. Successifs signifie la suite l'un de l'autre. Si je tente de le signer dans un onglet à compter de la signature dans un autre, c'est-à successifs pour autant que je suis concerné. Le but, cependant, est que c'est un très raisonnables, l'action que les utilisateurs peuvent prendre. Par exemple, un utilisateur ouvre plusieurs onglets sur un seul site, et lors de leur inscription dans un onglet, puis passez à l'successivement fermer les autres onglets, ils pourraient essayer de vous connecter à nouveau (en raison de la signature de l'apparence de tous les autres onglets).
je comprends maintenant. Oui, Concevoir devriez avoir traité de la déconnexion scénario sans jeter erreur méchante. Mais encore une fois, ils peuvent dire que c'est ce que nous appelons customization. KirtiThorat la solution de contournement est probablement une meilleure solution jusqu'à Concevoir la met en œuvre.
Voir l'émission présentée par @freddyrangel github.com/plataformatec/devise/issues/2934 sur Concevoir dépôt Github. Vous pouvez vous joindre à la discussion en soutenant le problème.

OriginalL'auteur user664833 | 2014-03-18