我使用带有TokenAuthentication
模块的Devise。
当我未经身份验证并遵循带有?auth_token=部分的链接时,它是可以的。像这样:
我遵循链接:/orders?auth_token=q2a8w6virARzv6B2C1vR
其中q2a8w6virARzv6B2C1vR
是user1的authentication_token。现在我作为user1登录了。
但是当我通过电子邮件/密码和常见的登录页面以某个用户的身份登录,然后跟随具有另一个用户令牌的auth_token的链接时,我意外地保持为第一个用户登录状态。
就像这样:
- 我通过登录页面登录。我填写user2的电子邮件和密码。现在我作为user2登录了。
- 我遵循链接:
/orders?auth_token=q2a8w6virARzv6B2C1vR
其中q2a8w6virARzv6B2C1vR
是user1的authentication_token。但我仍然作为user2登录,而不是期望的user1。
这是一个bug吗?如何更改此行为以强制替换通过令牌进行的身份验证?
Rails 3.0.6
Devise 1.2.1
:token_authenticatable
的注释。 - petRUShka