7

Facebook ログインを自分のサイトに追加しようとしています。Facebook JavaScript SDK で認証し、ユーザー ID で Cookie を作成しました。問題は、ユーザーがログアウトして (すべての Cookie を破棄している)、サイトの別のページに移動しても、Cookie にデータが表示されることです。

以下は、Cookie の作成と破棄に使用している関数です。

Utils.createSessionCookie = function(id, name, access_token) {    
    if (Utils.getCookie(Consts.USER_ID) == null) {
        Utils.setCookie(Consts.USER_ID, id, 1);
        Utils.setCookie(Consts.NAME, name, 1);
        Utils.setCookie(Consts.ACCESS_TOKEN, access_token, 1);
    }
};

Utils.destroySessionCookie = function() {
    Utils.setCookie(Consts.USER_ID, '', -1);
    Utils.setCookie(Consts.NAME, '', -1);
    Utils.setCookie(Consts.ACCESS_TOKEN, '', -1);
};

Utils.setCookie = function(name, value, days) {
    var expireDate = new Date();
    expireDate.setDate(expireDate.getDate() + days);
    var cookieValue = escape(value) + ((days == null) ? "" : ";expires=" + expireDate.toUTCString() + "; path=/");
    document.cookie = name + "=" + cookieValue;
};
4

1 に答える 1

1

注:OPの質問に答えるのを手伝ってください。

上記のコメントによると、Cookie を繰り返し作成するユーザー作成コードにバグがあります。Facebook SDK のバグではありません。

バグを解決した後、Facebook の Cookie は正常に機能します。

于 2013-01-09T06:42:40.667 に答える