Rails身份验证和授权,但不保证浏览器会话?

时间:2010-12-14 19:30:36

标签: ruby-on-rails ruby authentication

现在,我正在使用RESTful身份验证框架来使用我的rails应用程序进行授权。这一切都很好(虽然从我的理解,有点过时?),但现在我需要验证可能没有http会话的用户(例如来自应用程序(不是浏览器)的用户正在访问我的rails路由)。

具体来说,我现在必须支持一个iPhone应用程序,它可以让我的一些宁静路线填充自己。但是,此应用程序需要进行身份验证,并且只是传递用户名和密码作为参数似乎不太安全。它不仅不安全,而且不是很干净(我必须更改引用current_user(存储在会话中)的所有调用来手动设置当前用户,因为没有浏览器的点击到我的应用程序似乎没有会话变形(或者我错了吗?))

有什么建议吗? RESTful身份验证可以这样做吗?他们的替代框架(例如Authlogic,或OAuth或其他)可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

CanCan几乎是Rails应用程序的事实授权工具。在这种情况下,你不应该试图重新发明轮子。

我相信它与AuthLogic和RESTful身份验证都很好。我对后者没有多少经验。

答案 1 :(得分:1)

Devise似乎能够token-based authentication

为安全起见,仅允许SSL连接。将任何非SSL HTTP请求重定向到站点的SSL版本。您可以使用Rack中间件rack-ssl进行此操作。