2012-11-09 6 views
7

Tôi đang cố gắng thêm thông tin đăng nhập facebook vào trang web của mình. Tôi đã xác thực với facebook JavaScript SDK và tạo một cookie với id người dùng. Vấn đề là khi người dùng đăng xuất (tôi đang hủy tất cả cookie) và điều hướng đến một trang khác trên trang web, tôi vẫn có thể thấy cookie có dữ liệu.Duy trì ID người dùng Facebook trong phiên

Dưới đây là những chức năng, tôi đang sử dụng để tạo ra và tiêu diệt 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; 
}; 
+1

giải quyết vấn đề .. có lỗi trong mã liên tục tạo cookie. –

+9

Tôi thực sự không hy vọng bạn đang sử dụng các cookie này để xác thực, bạn nhận ra rằng bất kỳ người dùng nào cũng có thể tạo cùng một cookie, với các giá trị tùy ý đúng không? –

+16

Nếu bạn đã giải quyết được vấn đề của mình, bạn có thể trả lời câu hỏi của mình không? Cảm ơn :) – NT3RP

Trả lời

1

Lưu ý: Chỉ cần giúp trả lời câu hỏi OP của.

Theo nhận xét ở trên, có lỗi trong mã do người dùng tạo liên tục tạo cookie. Nó không phải là lỗi của Facebook SDK.

Sau khi giải quyết lỗi, cookie Facebook hoạt động tốt.