簡短的回答:線高達$就向401(未授權)狀態代碼響應。
龍答:我們正在消耗從單頁網站一個RESTful API。當服務器檢測到未經授權的請求時,它只返回一個401.客戶端將重定向到/ login?#requested/resource。
/login
會提示進行授權(重定向到我們的情況下,谷歌的誓言服務器),然後添加一個授權cookie,並重定向到最初請求#requested/resource
我們也發送每$阿賈克斯要求身份驗證的cookie。
希望這是有幫助的。
define(
[
'jquery',
'jquery.cookie'
],
function ($) {
var redirectToLogin = function() {
var locationhref = "/login";
if (location.hash && location.hash.length > 0) {
locationhref += "?hash=" + location.hash.substring(1);
}
location.href = locationhref;
};
var $doc = $(document);
$doc.ajaxSend(function (event, xhr) {
var authToken = $.cookie('access_token');
if (authToken) {
xhr.setRequestHeader("Authorization", "Bearer " + authToken);
}
});
$doc.ajaxError(function (event, xhr) {
if (xhr.status == 401)
redirectToLogin();
});
});
註冊,註冊及身份驗證使用Javascript?我會說不。使用Php,Erlang,Python,Asp.net使用後端框架來放置這些作品。用戶登錄後,設置一個cookie(我能想到的最佳解決方案)。 **每個**'xml http'請求都將擁有可幫助您驗證服務器端用戶的cookie。在服務器和身份驗證中需要做某些事情,授權就是其中之一。在 – Deeptechtons 2012-07-06 11:27:15
用戶登錄這就是我說的,我的問題,但我想知道如果我的方法是處理在登錄或未經授權的用戶 – jamcoupe 2012-07-06 12:38:17