2012-04-03 1 views
0

Wenn ich ein Zugriffstoken beispielsweise am 1. März angefordert und erworben und es 30 Tage später verlängert habe, wird es dann für weitere 60 Tage gültig sein, oder muss der Endbenutzer erneut autorisiert werden?Nach dem Erweitern eines Zugriffstokens macht es das für weitere 60 Tage gültig?

Wir implementieren eine Autopost-Funktionalität, die durch ein Ereignis in unserer eigenen Anwendung ausgelöst wird. Daher kann der Endnutzer sein Cookie nicht bei Facebook präsentieren, um seine Identität zu bestätigen. Wir müssen sicherstellen, dass wir immer ein gültiges Zugriffs-Token haben.

Die offizielle Facebook-Dokumentation ist ziemlich vage zu diesem speziellen Thema.

Antwort

0

Wie erhalten Sie die Zugriffstoken? Server Side Flow oder Client-Seite? Was genau meinen Sie damit, die Token zu "erweitern"? Beziehen Sie sich auf den "neuen Endpunkt" von Facebook wegen der offline_access deprecation?

Sie richtig sind, Facebook sind ziemlich vage darüber sagen:

Wenn Sie eine noch gültig access_token erneuern möchten, werden Sie haben eine neue clientseitige Zugriffstoken und dann zu erhalten rufen der gleiche Endpunkt unten. Das zurückgegebene access_token mit der neu erweiterten Ablaufzeit kann oder kann nicht dasselbe wie das zuvor erteilte extended access_token sein.

Das bedeutet, dass Sie nicht damit rechnen können, dass das erweiterte Token tatsächlich verlängert wird. Mehr als das ist, dass Sie das Token nicht ohne Benutzerinteraktion erweitern können. Wenn der Nutzer Ihre App in den letzten 60 Tagen nicht verwendet hat, können Sie das Token für ihn nicht verlängern.

+0

Hallo und danke für die Beantwortung meiner Frage! Die Zugriffstoken werden durch Umleiten des Benutzers an den Facebook-OAuth-Dialog erworben, der sie schließlich auf eine "Handlerseite" auf unserem Server zurückleitet. Mit der Erweiterung meine ich tatsächlich den neuen Endpunkt. Also, was Sie sagen, ist im Grunde, dass es nur für 60 Tage dauern wird und dann muss der Nutzer die App erneut autorisieren? Vielen Dank! –

+0

Ich bin nicht einmal sicher, dass der neue Endpunkt für Sie arbeiten wird, da Sie die Tokens von der Serverseite erhalten und der neue Endpunkt (gemäß den Dokumenten) nur für Zugriffstoken funktioniert, die von einem clientseitigen Fluss generiert werden. Sobald der Nutzer Ihre App autorisiert hat, muss er die App nicht erneut autorisieren, der Auth-Dialog wird übersprungen und der Nutzer wird mit einem neuen Shinny-Zugangstoken zurück zur App weitergeleitet. –

+0

"Also, was Sie sagen, ist im Grunde, dass es nur für 60 Tage dauern wird und dann muss der Benutzer die App erneut autorisieren?" - Sagen wir es so, der Benutzer muss sich wieder mit Ihrer App innerhalb dieser zu engagieren 60 Tage, damit Sie ein neues Zugriffs-Token bekommen können (zB indem Sie den Auth-Dialog aufrufen, wie Nitzan bereits sagte). Wenn der Nutzer Ihre App nicht erneut besucht (oder auf einer Seite, auf der Sie das Authentifizierungsdialogfeld aufrufen können), haben Sie nach 60 Tagen ein abgelaufenes Zugriffstoken - und das ist der einzige Punkt, an dem Sie offline entfernen Zugang, dass Apps nicht mehr im Namen von Nutzern "für immer" agieren können. – CBroe

0

Sie können die App Access Token verwenden, wenn Sie im Namen der Benutzer veröffentlichen möchten. Die App Access Token läuft nicht ab, wenn Sie nicht selbst authorisieren. Wenn Sie Ihre App Access Token verwenden, müssen Sie speziell die Benutzer-ID, die Sie für veröffentlichen - /12345678/Fotos. Sie können /me/fotos nicht verwenden. Sie können mehr darüber lesen here.

Verwandte Themen