【发布时间】: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