我想写使用PhoneGap的与我的Rails3中的应用程序进行通信的iOS应用。 我无法弄清楚如何处理身份验证。 我在我的Rails应用程序中使用设计/狱长。
我能够在通过AJAX但随后后续调用是给了我一个“未授权”我的iOS应用程序成功登录。 看来,会话cookie是没有得到我的iOS应用程序设置。
如何让我的iOS应用程序知道我轨验证会话?
我想写使用PhoneGap的与我的Rails3中的应用程序进行通信的iOS应用。 我无法弄清楚如何处理身份验证。 我在我的Rails应用程序中使用设计/狱长。
我能够在通过AJAX但随后后续调用是给了我一个“未授权”我的iOS应用程序成功登录。 看来,会话cookie是没有得到我的iOS应用程序设置。
如何让我的iOS应用程序知道我轨验证会话?
答案是双重的。
首先,我不得不加入到我的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