2 Stimmen

Wie würde offline_access nach der Abschaffung am 1. Mai funktionieren?

Ich habe einige Tests durchgeführt, und das Ergebnis widerspricht der Dokumentation von Facebook. https://developers.facebook.com/roadmap/offline-access-removal/

Wenn wir die Option "Deprecate offline access:" aktivieren und beim mobilen Client nach offline_access fragen, erhalten wir automatisch ein Token, das 60 Tage lang gültig ist, ohne das SDK zu aktualisieren. Es scheint, dass Facebook es den Kunden leichter gemacht hat, es ist kein Upgrade erforderlich. Dies ist, was auf Facebook gesagt wird. "Apps, die auf diese Funktion migrieren, werden nicht mehr nach offline_access gefragt. Sie erhalten langlebige Zugriffstoken, die ablaufen, wenn der Nutzer die App eine Zeit lang nicht verwendet hat. "Wie lange die "eine Weile" ist, ist nicht dokumentiert.

Wenn ich das SDK aktualisiere, wird die Methode extendingToken nicht ausgelöst, da das Token 60 Tage lang gültig ist. Wenn wir zwingen, das Token zu verlängern, erhalten wir die folgende Fehlermeldung von Facebook, von der ich keine Ahnung habe, was sie bedeutet.

Error Domain=facebookErrDomain Code=10 "The operation couldn’t be completed. (facebookErrDomain error 10.)" UserInfo=0x1404bb70 {request_args=(
        {
        key = method;
        value = "auth.extendSSOAccessToken";
    },
        {
        key = sdk;
        value = ios;
    },
        {
        key = "sdk_version";
        value = 2;
    },
        {
        key = "access_token";
        value = AAACiLiBjLHABAOo3NZCSSLlRddFZCQUsky0q9sogtzHIFGpNNoeYUqtt2X2QUvxMg8AwsQqSLP3oe0cxUoLIXwVZC3xDGuBC3QOvFgELwZDZD;
    },
        {
        key = format;
        value = json;
    }
), error_code=10, error_msg=The access token was not obtained using single sign-on}

Wenn wir nicht "offline_access" anfordern, läuft das Token in 2 Stunden ab.

Was ist Ihre Beobachtung? Ein Gedanke? Irgendwelche Erkenntnisse von Facebook?

1voto

Igy Punkte 43583

Der Abschnitt "Wenn Sie vorher NICHT um Offline-Zugang gebeten haben" in dieses Dokument erklärt, wie man diesen 2-Stunden-Token in einen 60-Tage-Token umtauscht: (Beachten Sie, dass sich die Werte für 2 Stunden und 60 Tage in Zukunft ändern können)

https://developers.facebook.com/roadmap/offline-access-removal/#extend_token

Einfacher Zugang

https://graph.facebook.com/oauth/access_token?             
        client_id=APP_ID&
        client_secret=APP_SECRET&
        grant_type=fb_exchange_token&
        fb_exchange_token=EXISTING_ACCESS_TOKEN 

Und das zurückgegebene Token hat eine längere Gültigkeitsdauer (es kann das gleiche Token mit einer längeren Gültigkeitsdauer oder ein neues Token sein, Sie sollten beide Fälle behandeln)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X