2011-12-04 10 views
8

Używam Facebook iOS SDK. W moim kodzie autoryzowałem moją aplikację z domyślnymi uprawnieniami, więc moja sesja jest ważna do daty wygaśnięcia. Jednak po upływie daty wygaśnięcia próbuję ponownie autoryzować, aby "odświeżyć swój token OAuth", jako asked before.Pakiet SDK na Facebooku iOS: odświeżenie tokenu z wygasłem dostępu bez wyświetlania okna dialogowego

Gdy jednak spróbuję ponownie autoryzować, wyświetli się okno dialogowe z informacją, że już autoryzowałem moją aplikację, mimo że oczekuję, że po prostu zaktualizuje token OAuth bez okna dialogowego. Według facebook, this is possible:

Po przekierować użytkownika do okna auth, użytkownik nie jest zapytany o uprawnieniach jeśli użytkownik ma już zezwolenie aplikacji . Facebook zwróci Ci ważny token dostępu bez żadnego użytkownika.

jednak zrobić uzyskać dialog i chciałbym wiedzieć, w jaki sposób można odświeżyć token dostępu bez coraz okno.

+0

Mam do czynienia z tym samym problemem zbyt. Daj mi znać, jeśli to rozgryźć – Lance

+0

Uważam, że zachowanie Facebook opisuje w postu, który łączysz działa tylko dla aplikacji internetowych. –

Odpowiedz

5

Niedawny projekt commit w projekcie Facebook iOS SDK zawierał metodę "rozszerzania dostępu" do przedłużania wygasłego tokena.

Więcej informacji na temat tego i wycofania "offline_access" znajduje się na Facebooku Developer's blog post.

+0

To rozszerzenie dostępu do pliku APK nie działa dla mnie w ogóle – nbransby

0

Możliwym obejściem jest żądanie dostępu offline jako pozwolenia. Następnie token dostępu tylko wygasa, gdy:

użytkownik loguje się z Facebook zmieni hasło Cofa uprawnienia do aplikacji za pośrednictwem strony internetowej facebook

Jeśli ktoś ma lepszą odpowiedź id lubią wiedzieć zbyt. Żądanie dostępu offline do mojej aplikacji może wyglądać trochę podejrzanie (mimo że jedynym powodem, dla którego potrzebuję tego dostępu, jest to, że nie tracę ważności tokena dostępu, w rzeczywistości nie uzyskuję dostępu do konta użytkowników, gdy nie korzystają z mojej aplikacji).

+2

offline_access jest teraz przestarzałe, niestety. –

Powiązane problemy