我正在尝试使用Phonegap编写一个iOS应用程序来与我的Rails3应用程序进行通信。我无法弄清楚如何处理身份验证。我在我的Rails应用程序中使用Devise / Warden。
我可以通过ajax在我的iOS应用程序中成功登录,但后来的电话给我一个“未经授权”。似乎会话cookie未在我的iOS应用程序中设置。
如何让我的iOS应用程序了解我的rails认证会话?
答案 0 :(得分:1)
答案是双重的。
首先我必须在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