Was bedeutet "offline" - Zugang in OAuth bedeuten?
Was genau bedeutet das Wort "offline" bedeutet mit Bezug auf den offline-Zugriff gewährt, die durch eine OAuth-server?
Bedeutet es, dass die Ressource, die vom server zurückgegebenen Daten über den Benutzer zu, selbst wenn der Benutzer angemeldet ist aus dem third-party-Anwendung, oder wenn der Benutzer angemeldet ist, aus der OAuth-Ressource-server wie Facebook oder Google oder Twitter?
InformationsquelleAutor der Frage Water Cooler v2 | 2015-06-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Offline-Zugriff ist IMO ein wirklich schlechter name für es, und ich denke, es ist ein Begriff, der nur Google verwendet, die nicht in der RFC für die Oauth-soweit ich mich erinnere.
Was ist Google offline-Zugriff?
Wenn Sie Offline-Zugriff auf die Google-Authentifizierung-server gibt eine Refresh-Token. Refresh Token verleihen Sie Ihrer Anwendung die Fähigkeit zum anfordern von Daten für einen Benutzer, wenn der Benutzer nicht anwesend ist, und vor Ihrer Anwendung.
Beispiel für eine app benötigen off-line access:
Können sagen, ich habe eine Super app, die downloads Ihrer Daten von Google Analytics macht es in eine schöne PDF-Datei und E-Mails, um Sie jeden morgen mit Ihren stats. Für diese Arbeit meine Anwendung muss die Möglichkeit haben, Zugriff auf Ihre Google Analytics-Daten, wenn Sie nicht herum, um mir die Erlaubnis, das zu tun. Also Super app würde bitten, offline-Zugriff und die Authentifizierung-server zurückkehren würde einen refresh-token mit, dass die refresh-token Super app anfordern können Sie eine neue access-token, Wann immer es will und Holen Sie sich Ihre Google Analytics-Daten.
Beispiel für eine app nicht benötigen off-line access
Können versuchen, Weniger ehrfürchtige app, mit der Sie Dateien hochladen, um Google-Laufwerk. Weniger awesome app nicht benötigen Zugriff auf Ihre Google drive-Konto, wenn Ihr nicht herum. Es muss nur darauf zugreifen, wenn Sie Ihre online. So in der Theorie, es würde nicht brauchen, den offline-Zugriff. aber in der Praxis tut es, es kommt noch ein refresh token, so dass Sie nicht haben, Fragen Sie um Erlaubnis, wieder, dies ist, wo ich denke, die Benennung ist falsch.
Dokumentation Zeug
Die Wahrheit über den offline-Zugriff
Die Sache ist die, dass in vielen Fällen der Authentifizierungs-server sendet das refresh token zu Ihnen, egal, was Sie nicht haben, um tatsächlich Fragen, für alles, was es gibt ihn dir. Geben Sie die Fähigkeit, den Zugriff auf die Benutzer-Daten, wenn Sie nicht da sind. Nutzer wissen nicht, dass Sie zugreifen können es Daten sind, ohne es. (Nur die javascript-Bibliothek und ich denke, dass die PHP-Bibliothek, die verstecken die RefreshToken von Ihnen, aber sein dort)
Beispiel: testen Sie dies mit den folgenden Anweisungen Google 3 legged-Oauth-flow
Aber nur die Entsendung
Antwort:
Habe ich jetzt off-line Zugriff auf diese Benutzer-Daten, und ich habe nie gesagt, ich würde es haben.
InformationsquelleAutor der Antwort DaImTo
Design der access-Token zurückgegeben, indem der OAuth-flow verfallen nach einer gewissen Zeit (1 Stunde für Google access Token), die als Sicherheitsmechanismus. Dies bedeutet, dass jede Anwendung, die arbeiten möchte, die Daten eines Benutzers muss der Benutzer vor kurzem Weg durch das OAuth-flow, aka online sein. Anfordern offline-Zugriff bietet die Anwendung einen refresh-token es verwenden kannst, um neue access-Token, so dass Sie Zugriff auf die user-Daten lange nach den Daten hat sich durch die OAuth-flow, aka wenn Sie offline sind.
Erste offline-Zugriff ist erforderlich, wenn Ihre Anwendung weiterhin ausgeführt wird, wenn der Benutzer nicht anwesend ist. Zum Beispiel, wenn es eine nächtliche batch-Prozess, oder wenn Ihre Anwendung reagiert auf externe Ereignisse, wie push-Benachrichtigungen. Allerdings, wenn Sie nur Zugriff auf user-Daten, während die Benutzer aktiv mit der Anwendung arbeiten, dann gibt es keine Notwendigkeit für den offline-Zugriff. Senden Sie einfach den Benutzer durch die OAuth-flow jedes mal, wenn Sie Sie brauchen n access token, und wenn Sie schon vorher Zugriff auf Ihre Anwendung die Autorisierung wird die Seite sofort schließen, damit der Prozess fast unsichtbar für den Benutzer.
Für die Google-APIs, können Sie verlangen, offline-Zugriff, indem Sie die parameter access_type=offline in der Autorisierungs-URL, die Sie für Ihre Benutzer. Offline-Zugriff, und daher refresh Token wird automatisch angefordert, wenn die mit der Installiert Application flow.
InformationsquelleAutor der Antwort Eric Koleda