Jestem nieco zdezorientowany, jak działa facebook.logout (kontekst).Jak działa wylogowanie w Facebook SDK Android
Ponieważ nawet po wywołaniu wylogowania, jestem w stanie uzyskać dostęp do informacji, która wymaga auth_token. Jak to możliwe? Natknąłem się na ten temat, co pozwoliło mi nieco pomylić: https://stackoverflow.com/a/6597688/487940
Po przeczytaniu tej odpowiedzi, to jest moje pytanie: Więc jeśli użytkownik przyzna dostęp do [mojej] aplikacji, zawsze będzie uwierzytelniony, jeśli jest zalogowany [oficjalna] aplikacja na Facebooku? Nawet jeśli spróbuję zadzwonić na facebook.logout (kontekst) w [mojej] aplikacji, zostanie on zalogowany, a moja aplikacja będzie mogła nawiązywać połączenia z interfejsem API Facebooka? "
Niestety, nie jestem w stanie zrozumieć tego zachowania.
AKTUALIZACJA: Po przeczytaniu odpowiedzi Torida, jestem zdezorientowany funkcją facebook.logout(). Jaki jest cel tej funkcji, jeśli nie rejestruje ona użytkownika? Ponieważ nie widzę celu, aby już nazywać ten cel. Nie rejestruje użytkownika.
A zatem czy facebook.isSessionValid() to właściwy sposób sprawdzenia, czy użytkownik jest rzeczywiście zalogowany? Ponieważ funkcja facebook.isSessionValid() zwróciłaby wartość true, nawet gdy użytkownik był zalogowany. – harsimranb
Nie sądzę, że pakiet SDK umożliwia określenie statusu logowania użytkownika podczas używania SSO. Logout() po prostu usuwa pliki cookie z twojej aplikacji/przeglądarki internetowej i usuwa znacznik accessToken. A isSessionValid() sprawdza, czy parametr accessToken jest poprawny. Więc po Twojej aplikacji wylogowanie() jestSessionValid zwróci false. Ale aplikacja Faceboko jest nadal zalogowana. Jeśli więc zrobisz logowanie przy użyciu SSO (domyślnie), które sprawdzisz za pomocą aplikacji Facebook, która wciąż ma ważny znacznik dostępu, który zostanie zwrócony do Twojej aplikacji bez przechodzenia przez użytkownika Zaloguj Się. – Torid
facebook.isSessionValid zwraca wartość true, nawet po wywołaniu wylogowania() ... – harsimranb