3 Stimmen

Gmail IMAP OAuth für Desktop-Clients

Kürzlich kündigte Google an, dass sie OAUth für Gmail IMAP/SMTP unterstützen werden. Ich habe die verschiedenen Dokumentationen durchgesehen, aber ich bin immer noch verwirrt, ob sie OAuth für installierte Anwendungen unterstützen.

1. Unter diese Dokumentation sagen sie:

Hinweis: Obwohl das OAuth-Protokoll den Desktop/die installierte Anwendungsfall unterstützt, unterstützt Google nur nur OAuth für Webanwendungen.

Aber sie haben auch ein Dokument für OAuth für installierte Anwendungen .

2. Wenn ich die OAuth-Spezifikation auf die sie hinweisen, heißt es (in Abschnitt 11.7):

Bei vielen Anwendungen ist der Verbraucher Anwendung unter der Kontrolle von potenziell nicht vertrauenswürdigen Parteien. Für Wenn es sich bei dem Verbraucher beispielsweise um eine frei frei verfügbare Desktop-Anwendung ist, kann ein Angreifer in der Lage sein, eine Kopie Kopie zur Analyse herunterladen. In solchen Fällen Angreifer in der Lage sein, die Verbrauchergeheimnis, das zur Authentifizierung Authentifizierung des Verbrauchers gegenüber dem Dienstanbieter.

Ich denke auch, dass der Haftungsausschluss in Punkt 1 oben sich auf Google-Daten-APIs und sicherlich gehört IMAP/SMTP nicht dazu.

Ich verstehe, dass ich für installierte Anwendungen eine Einstellung wie diese haben kann:

  1. Ich habe eine kleine Web-App unter example.com für meine Anwendung. Diese Webanwendung spricht mit Google und erhält das Zugriffstoken.

  2. Die installierte Anwendung kommuniziert mit example.com nur, um das Zugriffstoken zu erhalten.

  3. Die installierte Anwendung kommuniziert dann mit Google mit dem Zugriffstoken.

Ich bin jetzt verwirrt. Ist dies der einzige Weg? Auch, wenn ich OAuth von Desktop-Anwendung tun, müssen wir die Consumer Secret Key mit der App zu liefern. Dann können wir die Geheimhaltung des Consumer-Schlüssels nicht aufrechterhalten.

2voto

systempuntoout Punkte 68725

Ja, Oauth wird für installierte Anwendungen unterstützt; siehe Gmail IMAP und SMTP mit OAuth Dokumentation.

  1. Die Dokumentation ist einfach veraltet (2008)
  2. Es ist sinnvoll, aber nur für Anwendungen, die das Zugriffs-Token nicht sicher speichern.

Ihr Setup ist gut, obwohl ich nicht denke, dass eine Web-App, die mit Google kommuniziert, zwingend erforderlich ist; zum Beispiel könnten Ihre Benutzer einfach "request token" in Ihre Desktop-Client-Anwendung kopieren und einfügen.

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