OAuth2-Authentifizierung mit Python
Wer auf APIs bei Google, Facebook oder GitHub zugreifen möchte, muss das Protokoll OAuth2 verwenden. Damit funktioniert sogar die Zwei-Faktor-Authentifizierung.
(Bild: HAKINMHAN / Shutterstock.com)
Um auf Daten im Google-Account zuzugreifen, müssen sich Python-Programme per OAuth2 authentifizieren und vom Benutzer die Erlaubnis für den Zugriff einholen. Der Workflow dafür ist durchaus komplex, doch glücklicherweise hilft die requests_oauthlib kräftig mit, sodass das Login mit wenigen Zeilen Python-Code gelingt. In der Dokumentation steht auch Beispielcode für die Anmeldung bei Facebook, Fitbit, GitHub und zahlreiche andere Dienste, die OAuth2 unterstützen.
Die Bibliothek startet den Anmeldevorgang und liefert fĂĽr Konsolenanwendungen die URL, mit der man anschlieĂźend auf einem beliebigen Rechner mit grafischem Browser die Anmeldung durchspielen kann. An deren Ende steht ein Code, den man einfach wieder in die Konsole kopiert.
Für unsere Qt-Anwendung mit Zugriff auf Google Fit haben wir direkt in der Anwendung ein Chromium-Widget angezeigt. Das spart Browser starten und Code kopieren. Den Trick dürfen Sie gern bei GitHub abschauen. In beiden Fällen speichert requests_oauthlib ein Zugangstoken intern und hält es auf Wunsch auch automatisch aktuell. Wer es in eine Datei schreibt, spart sich auch am nächsten Tag das Browserfenster.