Alle Artikel
Veröffentlicht Aktualisiert 7 Min. Lesezeit

OAuth erklärt für Menschen, die es ausliefern müssen

Von Das Alt-Auth-Team

zwei Menschen geben sich vor einem Laptop die Hand
Foto von Radission US auf Unsplash

Die OAuth-Dokumentation ist für Menschen geschrieben, die Anbieter implementieren. Fast alle, die sie lesen, wollen stattdessen einen Button »Mit Google fortfahren« hinzufügen, und die Kluft zwischen diesen beiden Zielgruppen ist der Grund, warum das Thema schwerer wirkt, als es ist.

Was tatsächlich passiert

Sie schicken den Nutzer zu Google mit einer Notiz darüber, wer Sie sind und wohin er zurückgeschickt werden soll. Er meldet sich auf der Seite von Google an — Ihre App sieht das Passwort nie. Google schickt ihn mit einem kurzlebigen Code zurück. Ihr Server tauscht diesen Code über einen Rückkanal gegen ein Token, das belegt, wer der Nutzer ist. Das ist die ganze Form des Ablaufs.

Wo es schiefgeht

  • Den Code-Austausch im Browser durchführen, wodurch das Client Secret austritt.
  • Den state-Parameter auslassen, der genau das verhindert, was beim Callback eine Cross-Site-Request-Forgery wäre.
  • Der E-Mail-Angabe trauen, ohne zu prüfen, ob sie bestätigt ist — eine unbestätigte E-Mail ist eine Kontoübernahme, die nur darauf wartet, zu passieren.
  • Annehmen, die Nutzer-ID des Anbieters sei eine E-Mail-Adresse. Ist sie nicht, und Menschen ändern ihre E-Mail.
  • Den Fall der Kontoverknüpfung vergessen: derselbe Mensch, zweiter Anbieter, zwei Konten.
“Das Gefährliche an OAuth ist nicht das Protokoll. Es sind die fünf kleinen Entscheidungen, die das Tutorial nicht erwähnt hat.”

Jeder dieser Punkte wird für Sie übernommen, wenn die Anbieter-Integration Konfiguration statt Code ist. Google-OAuth ist auf jedem Alt-Auth-Tarif verfügbar, auch im kostenlosen, und Apple, Facebook und Microsoft gibt es in den höheren Tarifen.

OAuthEngineeringGrundlagen