2012-05-07 10 views
6

Podczas czytania posta na Facebooku pod numerem offline_access permission removal, byłem całkowicie zdezorientowany przez odniesienie do krótkotrwałych i długotrwałych tokenów dostępu.Żetony dostępu do Facebooka o długim i krótkotrwałym dostępie oraz ich wygasanie po usunięciu offline

This page wspomniano

czas, przez jaki dany żeton dostępu jest ważny zależy od tego jak to została wygenerowana

Ale nie udało mi się znaleźć żadnych dalszych informacji.

Ktoś ma wgląd w to, jak ten proces określania działa w szczegółach?

+1

Który scenariusz wykorzystujesz w swojej aplikacji? myślę, że wszystkie, poza najdziwaczniejszymi, przypadkami krańcowymi, są omówione w tym dokumencie: – Igy

Odpowiedz

8

Dostęp tokena aplikacja staje się dla Client-Side authentication jest krótkotrwałe (około 2 godziny), ale można go przedłużyć i dostać długo żyli żeton pomocą new endpoint z ważny token dostępu. W Handling Invalid/Expired Access Tokens mówi pod Pulpit internetowych i mobilnych aplikacji internetowych, które realizują uwierzytelnianie z JavaScript SDK:

Wywołanie FB.getLoginStatus() lub zapewnienie cywilny: prawda jest ustawiony kiedy wezwanie FB.init () oznacza, że ​​następnym razem, gdy użytkownik znajdzie się na twojej aplikacji i jest zalogowany na Facebooku, obiekt authResponse, który podałeś , zostanie przekazany w wyniku tych połączeń, będzie zawierał nowy, ważny token dostępu .

W tym przypadku jest to po prostu czynność użytkownika korzystającego z aplikacji , która niejawnie generuje nowy token dostępu.

Jeśli korzystasz z przepływu Server-Side authentication, automatycznie otrzymasz automatycznie automatycznie długi żeton (około 60 dni). Po wygaśnięciu musisz wysłać użytkownika, aby ponownie się uwierzytelnił w tym samym przepływie (wymiana kodu).

Można oczywiście użyć obu metod iw ten sposób można uzyskać długo trwający token na serwerze i krótki żeton w kliencie.

+0

Jakieś wskazówki w następujących kontekstach? Uwierzytelnianie w natywnych aplikacjach na Androida Uwierzytelnianie w natywnych aplikacjach na iOS Uwierzytelnianie w zakładce Strona na www.facebook.com Uwierzytelnianie w obrębie strony Canvas na apps.facebook.com –

+0

[Obsługa nieważnych i wygasłych tokenów dostępu] (http://developers.facebook.com/docs/authentication/access-token-expiration/) przewodnik mówi o tym wszystkim. Wewnątrz karty strony możesz użyć js sdk, który w tym kontekście jest taki sam jak aplikacja canvas. –

+0

Dzięki Nitzan. Z twojej odpowiedzi mogę założyć, że Android/iOs/Server-flow odbiera długotrwały token (60dni), Klient-przepływ/Strona-kartę/Płótno otrzymuje krótkotrwały token (kilka godzin)? –

Powiązane problemy