我有一个可以从浏览器和移动设备访问的rails应用程序。我正在使用Devise进行身份验证,我正在为移动设备使用令牌身份验证。
我从移动应用程序登录时获得了身份验证令牌,我将其用于我从移动设备拨打的所有电话。
在浏览器上,我使用基于会话的cookie。因此,两个人可以同时使用浏览器和移动应用程序中的相同用户名/密码登录,这会导致数据损坏。
如何解决此问题?如果我也可以通过浏览器的每次调用发送相同的auth_token,那么这个问题将得到修复,因为上次登录的auth_token将优先于另一个。
有关如何从浏览器为所有通话发送此身份验证令牌的任何线索(get / post / put / delete)?
我没有使用浏览器中的jQuery或任何Ajax调用。
由于
答案 0 :(得分:0)
您必须配置设计为每个请求使用无状态令牌。
config.skip_session_storage = [:token_auth]
如果您还没有,请查看token authenticable文档。这里定义了一些方法来确保令牌有效,如果没有则重新生成。我不确定在浏览器中使用它是否明智,但如果用户登录浏览器会迫使他们在移动应用程序上重新进行身份验证,那么您肯定可以使移动应用程序的令牌失效。