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 回答