Authentifizierung vs. Autorisierung

Die Authentifizierung (authn) stellt die Identität des Aufrufers fest – mittels Passwortprüfung, verifizierter Token-Signatur und Clientzertifikat. Die Autorisierung (authz) prüft anhand dieser Identität, ob die jeweilige Aktion für die jeweilige Ressource zulässig ist. Jede geschützte Anfrage durchläuft beide Schritte in dieser Reihenfolge.

So funktioniert es

HTTP definiert für jeden Fehler einen eigenen Statuscode: 401 Unauthorized bedeutet, dass die Authentifizierung fehlt oder fehlgeschlagen ist; der Client muss daher Anmeldeinformationen anfordern oder aktualisieren. 403 Forbidden bedeutet, dass der Aufrufer bekannt ist und die Antwort weiterhin „Nein“ lautet; ein erneuter Versuch mit derselben Identität ist daher sinnlos. Rollen, Bereiche und Ressourcenbesitz sind allesamt Eingaben für die Autorisierung.

Das Missverständnis

Die Fehlercodes 401 und 403 sind austauschbar. Die Bezeichnungen sind irreführend – 401 bedeutet eigentlich "unauthenticated" –, aber die Unterscheidung beeinflusst das Verhalten des Clients: Ein Client, der einen Benutzer bei einem 403-Fehler zur Anmeldeseite zurückschickt, führt ihn durch einen Anmeldevorgang, der nicht weiterhilft.

Probieren Sie es hier aus

Verwenden Sie qa-viewer-token bei einer beliebigen DELETE-Anfrage im Katalog, um einen 403-Fehler von einem bekannten, aber nicht privilegierten Aufrufer zu erhalten, und senden Sie überhaupt kein Token, um den 401-Fehler zu erhalten – derselbe Endpunkt, zwei verschiedene Fehler.

Quellen

Weitere Begriffe

Diese Seite auf Englisch lesen

Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs

Zuletzt aktualisiert