2011-02-25 61 views
1

我已经使用rails服务器实现了web服务。 服务器使用rails默认身份验证方案进行用户登录。与json的rails认证相关的安全问题

现在,我正在为该服务开发原生移动应用程序,并且该应用程序正在使用json请求和响应与服务器进行通信。

由于原生移动应用程序是基于Safari的,因此身份验证可以正常工作,因为会话ID可以设置为Cookie,但我担心它存在CSRF攻击的风险,因为rails只处理对html请求的此类攻击CSRF令牌。

我的问题是以下几点: - 你知道解决这个问题的方法吗? - 我应该为移动应用程序实现不同的控制器,因为它更像是封闭(私人)API?如果是的话,认证的标准方式是什么?

很多谢谢

回答

0

基于HTTPS的基本HTTP认证应该有所斩断。

客户端代码照常执行json API请求,并使用基本凭据(假设客户端应用程序已登录并且可以访问用户名/密码)设置Authentication标头。

这实质上是纯文本的,但如果使用HTTPS传输,将会安全无虞。

Rails有一些内置的助手用于检查用户名/密码。

或者,双腿OAuth也可以做到这一点,但实施起来会更复杂。

+0

谢谢你的回复! 根据我的理解,通过https进行身份验证需要一些证书,并且还需要一些性能? 由于原生移动应用程序不处理任何敏感数据,这是不理想的原因。 双腿OAuth似乎很有趣。我会研究这一点。 – katsuya 2011-02-25 22:36:46