Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Maintaining Facebook User ID in Session

I'm trying to add facebook login to my site. I've authenticated with facebook JavaScript SDK and created a cookie with user id. The problem is that when user logs out (I'm destroying all cookies) and navigates to another page on site, I can still see cookie with data.

Below are the functions, I'm using to create and destroy cookies:

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;
};
like image 867
Anand Mohan Avatar asked Nov 09 '12 08:11

Anand Mohan


1 Answers

Note: Just help answering OP's question.

According to the comments above, there is a bug in user-created codes that repeatedly creating the cookie. It is not Facebook SDK's bugs.

After solving the bug, the Facebook cookies work fine.

like image 95
Raptor Avatar answered Sep 30 '22 04:09

Raptor