短い回答:401(許可されていない)ステータスコードに応答するために$ .ajaxをアップしてください。
長い回答:1ページのウェブサイトからRESTful APIを使用しています。サーバーが不正な要求を検出すると、401を返します。クライアントは/ login?#requested/resourceにリダイレクトされます。
/login
は、認可クッキーを追加し、もともと我々はまた、すべての$アヤックスの要求に認証クッキーを送っている#requested/resource
を要求にリダイレクト(私たちの場合は、Googleの誓いサーバーにリダイレクト)の承認を求めるメッセージが表示されます。
うまくいけば、これは役に立ちます。
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を使ってバックエンドフレームワークを使ってこれらの部分を入れてください。ユーザーログが入ったら、クッキーを設定してください(私が考えることができる最高のソリューション)。 **各 '' xml http 'リクエストには、サーバー側のユーザーを検証するのに役立つクッキーが含まれます。あなたがサーバ上でやるべきことがあり、Authentication、Authorizationがその一つです。ユーザーがログインした後にJsの処理を行う – Deeptechtons
私の質問ではこれが言いますが、私の方法がログインした、または許可されていないユーザーに対処する良い方法であるかどうか疑問です。 – jamcoupe