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