Wie autorisiere ich eine App (Web oder installiert) ohne Benutzereingriff?
Sagen wir mal ich habe eine web-app, die Zugriff auf Festplatte Dateien in einem hintergrund-Dienst. Es werden entweder die eigenen Dateien zugreift, oder ausgeführt werden in einem Google-Konto, mit dem der Besitzer freigegebene Dokumente.
Ich verstehe, dass meine app braucht einen refresh-token, aber will ich nicht schreiben den code zu erhalten, da ich immer nur einmal tun.
NB. Dies ist NICHT mit einem Service Account. Die app wird unter einer herkömmlichen Google-Konto. Ich sage ja nicht, das ist eine gute Idee, das Service-Konto ist ein Gültiger Ansatz, in einigen Situationen. Aber die Technik der Verwendung von Oauth Spielplatz zu simulieren, kann die app speichern Sie eine Reihe von redundanten Aufwand, und gilt für alle APIs für die gemeinsame Nutzung einer Service-Konto wird nicht unterstützt.
InformationsquelleAutor der Frage pinoyyid | 2013-11-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese kann getan werden, mit dem Oauth2 Spielplatz am https://developers.google.com/oauthplayground
Schritte:-
OAuth Client ID
nichtService Account Key
und wählen Sie dann "Web-Anwendung" aus der Auswahl)Ihre app kann nun unbeaufsichtigt ausgeführt, und verwenden Sie die Refresh-Token wie beschrieben https://developers.google.com/accounts/docs/OAuth2WebServer#offline erhalten Sie ein Access-Token.
NB. Beachten Sie, dass die refresh-token ist abgelaufen, durch Google, was bedeutet, dass Sie brauchen, wiederholen Sie die Schritte 5 an, um ein neues refresh token. Das symptom dafür wird eine Ungültige Grant zurückgegeben, wenn Sie versuchen, verwenden Sie die refresh-token.
NB2. Diese Technik funktioniert gut, wenn Sie möchten, eine web-app, die Zugriff auf Ihre eigene (und nur Ihre eigenen) account, ohne sich die Mühe zu schreiben, den Authorisierungs-code, die würden immer nur einmal ausgeführt werden. Einfach überspringen Sie Schritt 1, und ersetzen Sie "meine.- Laufwerk.app" mit Ihrem eigenen E-Mail-Adresse in Schritt 5. stellen Sie sicher, Sie sind sich der Sicherheits-Implikationen, wenn Sie die Refresh-Token gestohlen wird.
Finden Sie Woody ' s Kommentar unten, wo er links auf das Google-video - https://www.youtube.com/watch?v=hfWe1gPCnzc
.
.
.
Hier ist eine schnelle JavaScript-routine, die zeigt, wie die Refresh-Token von dem OAuth-Spielplatz zur Liste einige der Drive-Dateien. Sie können einfach kopieren und fügen Sie ihn in den Chrome dev-Konsole, oder führen Sie Sie mit Knoten. Natürlich bieten Sie Ihre eigenen Anmeldeinformationen (die, die unten sind alle gefälscht).
InformationsquelleAutor der Antwort pinoyyid