OAuth erklärt: Rollen, der PKCE-Flow und OAuth vs. SAML

OAuth erklärt

Was ist OAuth? Rollen, PKCE-Flow, OAuth vs. SAML vs. OIDC | We.Inc

OAuth 2.0 einfach erklärt: vier Rollen, der Authorization Code Flow mit PKCE Schritt für Schritt, Scopes und wie sich OAuth von OpenID Connect und SAML unterscheidet.

OAuth 2.0 ist ein Standard, mit dem eine App in deinem Namen bei einem anderen Dienst handeln kann, ohne jemals dein Passwort zu sehen. Du bestätigst eine Anfrage auf der Anmeldeseite des Dienstes selbst, und die App erhält ein Access Token, das auf die Scopes beschränkt ist, denen du zugestimmt hast. OAuth regelt die Autorisierung; OpenID Connect ergänzt die Anmeldung.

OAuth 2.0 vs. OpenID Connect vs. SAML 2.0

Vor OAuth bedeutete das Verbinden zweier Dienste oft, das Passwort des einen im anderen einzugeben. OAuth hat das durch kurzlebige Tokens mit eng begrenzten Berechtigungen ersetzt, die erst nach deiner Zustimmung ausgestellt werden. Der Generator unten erzeugt in deinem Browser einen echten PKCE-Verifier samt Challenge und baut die Autorisierungs-URL, sodass du jeden Parameter siehst, den der Flow verwendet.

Häufige Fragen

Ist OAuth Authentifizierung oder Autorisierung?

Autorisierung. Ein Access Token sagt, was eine App tun darf, nicht wer der Nutzer ist, und APIs verraten dir das unter Umständen gar nicht. Wenn du die Identität der Person brauchst, verwende OpenID Connect, das ein signiertes ID Token mit Claims wie sub, iss, aud und exp zurückgibt.

Was ist PKCE und brauche ich es?

PKCE (RFC 7636) bindet den Autorisierungscode an die App, die den Flow gestartet hat. Die App sendet zuerst einen Hash eines zufälligen Geheimnisses und später das Geheimnis selbst, daher ist ein gestohlener Code nutzlos. Verwende S256, das Server unterstützen müssen, statt plain.

Was ist der Unterschied zwischen OAuth und SAML?

SAML ist ein älterer, XML-basierter Standard, bei dem ein Identity Provider eine signierte Assertion über den Nutzer an einen Service Provider sendet, meist für Enterprise Single Sign-on im Browser. OAuth stellt Tokens für den API-Zugriff aus und eignet sich gut für Mobile Apps und APIs. OpenID Connect ist in der OAuth-Welt das nähere Gegenstück zur Anmeldung per SAML.

Was sind Scopes?

Scopes sind die Berechtigungen, die eine App anfordert, geschrieben als durch Leerzeichen getrennte Liste von Strings mit Beachtung der Groß- und Kleinschreibung, die der Autorisierungsserver festlegt, zum Beispiel openid email oder repo read:user. Der Zustimmungsbildschirm zeigt sie an, und das Token deckt nur ab, was bestätigt wurde.

Sollte ich den Implicit Flow noch verwenden?

Für neue Projekte nein. Er hat Tokens im URL-Fragment zurückgegeben, wo sie über den Verlauf und Logs durchsickern können. Der Authorization Code Flow mit PKCE bietet Browser-Apps denselben Komfort ohne dieses Risiko.

Die vier Rollen

Warum es den Code-Austausch gibt

Wo OpenID Connect ins Spiel kommt

Der Authorization Code Flow mit PKCE

Jeder Schritt und die Parameter, die er mitführt

PKCE im Code

Verifier und S256-Challenge im Browser erzeugen

32 zufällige Bytes als base64url kodiert ergeben einen Verifier mit 43 Zeichen, die kürzeste Länge, die RFC 7636 erlaubt.

Den Code gegen Tokens tauschen

Läuft nach der Weiterleitung. Vergleiche zuerst state und sende dann den gespeicherten Verifier zusammen mit dem Code.

Generator für PKCE und Autorisierungs-URL

Erzeugt mit der Krypto-Funktion deines Browsers einen frischen code_verifier und seine S256-code_challenge und setzt aus deinen Einstellungen eine Autorisierungs-URL zusammen. Es wird nichts gesendet; der Endpunkt unten ist ein Platzhalter, den du ersetzt.

Autorisierungs-Endpunkt

Scopes (durch Leerzeichen getrennt)

Neuer Verifier

code_verifier ({n} Zeichen, bis Schritt 4 geheim halten)

code_challenge (S256)

Autorisierungs-URL

Kostenlos starten · Keine Kreditkarte nötig

Verwandt: Ratgeber

Produkt

Für wen

Funktionen

Ressourcen

Unternehmen

Sitemap