【问题标题】:Maintaining Facebook User ID in Session在会话中维护 Facebook 用户 ID
【发布时间】:2012-10-29 13:14:41
【问题描述】:

我正在尝试将 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;
};

【问题讨论】:

  • 解决了..代码中存在重复创建 cookie 的错误。
  • 我真的不希望您使用这些 cookie 进行身份验证,您知道任何用户都可以创建相同的 cookie,具有任意值吗?
  • 如果你的问题已经解决了,你能回答你自己的问题吗?谢谢:)

标签: javascript facebook cookies session-cookies


【解决方案1】:

注意:只是帮助回答 OP 的问题。

根据上面的 cmets,用户创建的代码中存在重复创建 cookie 的错误。这不是 Facebook SDK 的错误。

解决问题后,Facebook cookie 工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 2013-11-27
    • 2014-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多