Tôi hơi bối rối về cách hoạt động của facebook.logout (ngữ cảnh).Cách đăng xuất hoạt động trong Facebook SDK Android
Vì ngay cả sau khi gọi đăng xuất, tôi có thể truy cập thông tin yêu cầu auth_token. Vậy làm thế nào mà thậm chí có thể? Tôi đã xem qua chủ đề này, cho phép tôi hơi bối rối: https://stackoverflow.com/a/6597688/487940
Sau khi đọc câu trả lời, đây là câu hỏi của tôi: Vì vậy, nếu người dùng cấp quyền truy cập vào ứng dụng [của tôi], anh ấy sẽ luôn được xác thực nếu anh ấy đăng nhập ứng dụng Facebook chính thức? Ngay cả khi tôi cố gắng gọi facebook.logout (ngữ cảnh) trong ứng dụng [của tôi], anh ấy sẽ đăng nhập và ứng dụng của tôi sẽ có thể thực hiện cuộc gọi đến Facebook API? '
Rất tiếc, tôi không thể hiểu hành vi này.
CẬP NHẬT: Sau khi đọc phản hồi của Torid, tôi bị nhầm lẫn về hàm facebook.logout(). Mục đích của chức năng này là gì nếu nó không đăng nhập người dùng? Bởi vì, tôi không thấy mục đích gọi mục đích này nữa. Nó không đăng nhập người dùng.
Vì vậy, là facebook.isSessionValid() cách chính xác để kiểm tra xem người dùng có thực sự đăng nhập không? Bởi vì facebook.isSessionValid() sẽ trả về true, ngay cả khi người dùng đã đăng nhập. – harsimranb
Tôi không nghĩ SDK cung cấp cách để biết trạng thái đăng nhập của người dùng là gì khi bạn đang sử dụng SSO. logout() chỉ xóa cookie của ứng dụng/webview của bạn và vô hiệu hóa accessToken. Và isSessionValid() chỉ kiểm tra xem accessToken có hợp lệ hay không. Vì vậy, sau khi ứng dụng của bạn thực hiện đăng xuất() isSessionValid sẽ trả về false. Nhưng nếu bạn đăng nhập vào ứng dụng vẫn còn đăng nhập. Vì vậy, nếu bạn đăng nhập bằng SSO (mặc định) sẽ kiểm tra bằng ứng dụng Facebook, ứng dụng vẫn có accessToken hợp lệ, sẽ được trả về ứng dụng của bạn mà không phải thông qua người dùng đăng nhập. – Torid
facebook.isSessionValid trả về true, ngay cả sau khi gọi đăng xuất() ... – harsimranb