Phonegap App使用身份validation与Rails 3 App进行通信

我正在尝试使用Phonegap编写一个iOS应用程序来与我的Rails3应用程序进行通信。 我无法弄清楚如何处理身份validation。 我在我的Rails应用程序中使用Devise / Warden。

我可以通过ajax在我的iOS应用程序中成功登录,但后来的电话给我一个“未经授权”。 似乎会话cookie未在我的iOS应用中设置。

如何让我的iOS应用程序了解我的rails认证会话?

答案是双重的。

首先,我必须在iOS应用程序中将其添加到我的ajax请求中:

xhrFields: { withCredentials: true } 

如……

 $.ajax({ url: ...., type: "GET", xhrFields: { withCredentials: true }, complete: hideLoader, error: function(xhr,txt,err) { // you can't get back anyways window.location.hash = ""; }, success: function(data,status,res) { window.location.hash = ""; } }); 

其次,我必须在Rails应用程序中将其添加到我的应用程序控制器:

 def protect_against_forgery? unless request.format.json? super end end