1

我有一个可以从浏览器和移动设备访问的 rails 应用程序。我正在使用 Devise 进行身份验证,并且我正在对移动设备使用令牌身份验证。

我从移动应用程序登录时获得了身份验证令牌,并在每次从移动设备拨打电话时都使用它。

在浏览器上,我使用基于会话的 cookie。因此,碰巧两个人可以从浏览器和移动应用程序使用相同的用户名/密码同时登录,这会导致数据损坏。

我该如何解决这个问题?如果我也可以在浏览器的每次调用中发送相同的 auth_token,那么这个问题将得到解决,因为最后登录的 auth_token 将优先于另一个。

关于如何从浏览器为所有调用(get/post/put/delete)发送此身份验证令牌的任何线索?

我没有使用 jQuery 或来自浏览器的任何 Ajax 调用。

谢谢

4

1 回答 1

0

您必须将设计配置为对每个请求使用无状态令牌。

config.skip_session_storage = [:token_auth]

如果您还没有,请查看令牌可验证文档。那里定义了一些方法来确保令牌有效,如果无效则重新生成。我不确定在浏览器中使用它是否明智,但如果用户登录浏览器,您肯定可以使移动应用程序的令牌过期,这将迫使他们在移动应用程序上重新进行身份验证。

于 2013-03-17T15:16:13.373 回答