【发布时间】:2013-03-16 09:11:48
【问题描述】:
我有一个可以从浏览器和移动设备访问的 rails 应用程序。我正在使用 Devise 进行身份验证,我正在对移动设备使用令牌身份验证。
我在从移动应用登录时获得身份验证令牌,并在每次通过移动设备拨打电话时使用它。
在浏览器上,我使用的是基于会话的 cookie。因此,碰巧两个人可以从浏览器和移动应用程序使用相同的用户名/密码同时登录,这会导致数据损坏。
我该如何解决这个问题?如果我也可以在每次从浏览器调用时发送相同的 auth_token,那么这个问题将得到解决,因为最后登录的 auth_token 将优先于另一个。
关于如何从浏览器中为所有调用(get/post/put/delete)发送此身份验证令牌的任何线索?
我没有使用 jQuery 或来自浏览器的任何 Ajax 调用。
谢谢
【问题讨论】:
-
我想你的意思是“一个人可以从浏览器和移动应用程序登录”,否则你就会遇到安全问题。
-
是的。同一个人可以从浏览器和移动应用程序登录,并从其中一个继续编辑,而无需从另一个注销。
-
这与同时从两个不同的浏览器登录有何不同?
-
@rossta 这并没有太大的不同......但让我备份一下......登录不是每个人,而是每个帐户登录。并且这些人可以从浏览器或移动设备登录。理想情况下,如果我只对两种媒介都使用令牌身份验证,那么无论谁最后登录,他的令牌都是最新的,而另一个人将无法使用他的陈旧令牌进行任何交易。
标签: ruby-on-rails authentication devise