Authentifizierung vs. Autorisierung: Was ist der Unterschied?

Aktualisiert: September 2026

Authentifizierung ist die Prüfung, wer Sie sind; Autorisierung ist die Entscheidung pro Anfrage, was Sie dürfen. Jedes sichere System braucht beides. Das Hotel macht es greifbar: Ihr Ausweis an der Rezeption ist Authentifizierung; die Schlüsselkarte, die Zimmer 412 öffnet – und nur Zimmer 412 –, ist Autorisierung. Es sind verschiedene Fragen, zu verschiedenen Zeitpunkten gestellt, von verschiedenen Mechanismen beantwortet, und sie scheitern auf verschiedene Weise – deshalb liefern Systeme, die beides vermischen, am Ende beide Arten von Sicherheitslücken aus.

Das Wichtigste in Kürze

FrageAntwort
Authentifizierung (AuthN)Wer sind Sie? – Zugangsdaten → Identität, einmal pro Session
Autorisierung (AuthZ)Was dürfen Sie? – Richtlinien → erlauben/verweigern, bei jeder Anfrage
Die HTTP-Codes401 = nicht authentifiziert (eine Fehlbenennung) · 403 = bekannt und abgelehnt
Die ProtokollaufteilungOIDC/SAML/Passkeys = Authn · OAuth-Scopes/RBAC/ACLs = Authz
Die FehleraufteilungAuthN scheitert als Kontoübernahme · AuthZ scheitert als Rechteausweitung

Wie Authentifizierung und Autorisierung bei einer Anfrage ablaufen

1  POST /login  (Zugangsdaten + MFA)         ── AUTHENTIFIZIERUNG, einmalig
   ← Session-Token / Cookie: Identität hergestellt

2  GET /documents/xKd91m                     ── jede weitere Anfrage:
   a · Token validiert        → Identität wiederhergestellt       (Authn-Mechanik)
   b · Berechtigung geprüft   → darf ADA DIESES Dokument lesen?   (Authz-Entscheidung)

   → 200  beide Prüfungen bestanden
   → 401  kein/ungültiges Token – WWW-Authenticate-Challenge; Anmeldung behebt es
   → 403  Token gültig, Berechtigung verweigert – erneute Anmeldung ändert nichts
   → 404  manche APIs verbergen verbotene Objekte ganz (RFC 9110 erlaubt das)

Dieselbe Trennung im Anwendungscode – einmal anmelden, bei jeder Operation neu geprüft werden:

// JavaScript / Node.js — Back4app JS SDK
// Authentication: once — who are you?
const user = await Parse.User.logIn('ada', password); // session token issued

// Authorization: every request — may YOU do THIS?
const doc = await new Parse.Query('Document').get('xKd91m');
// found if an ACL entry grants ada read · "not found" if not

doc.set('title', 'Renamed');
await doc.save(); // succeeds only if an entry grants ada WRITE

Authentifizierung vs. Autorisierung im direkten Vergleich

KriteriumAuthentifizierungAutorisierung
FrageWer sind Sie?Was dürfen Sie?
EingabenZugangsdaten: Passwörter, MFA-Codes, Passkeys, BiometrieRichtlinien: Rollen, ACLs, Attribute, Scopes
HäufigkeitEinmal pro Session (+ Step-up bei sensiblen Aktionen)Jede Anfrage, jedes Objekt
ErgebnisEine Session oder ein TokenEine Entscheidung: erlauben oder verweigern
Für Nutzer sichtbarJa – der AnmeldebildschirmSelten – sie arbeitet unsichtbar
Wo sie läuftAm Rand: Identitätsschicht, AnmeldeablaufIn der Tiefe: Geschäfts- und Datenschicht, direkt bei den Daten
ProtokolleOpenID Connect, SAML, WebAuthnOAuth-2.0-Scopes, RBAC/ABAC/ReBAC-Engines
Typisches TokenID Token – wer sich authentifiziert hatAccess Token – was der Inhaber darf
Scheitert alsKontoübernahmeRechteausweitung, Datenpreisgabe

Zwei Zeilen verdienen eine Fußnote. Wo sie läuft: Authentifizierung konzentriert sich naturgemäß am Rand – ein Anmeldeablauf, ein Identity Provider –, während Autorisierung neben die Daten gehört, die sie schützt, denn “darf dieser Nutzer dieses Objekt anfassen” braucht das Objekt. Scheitert als: Die Bedrohungsmodelle sind disjunkt – Credential Stuffing und Phishing greifen die Authentifizierung an (weshalb MFA die wirksamste Authn-Abwehr ist), während Broken Object Level Authorization als typischer Authz-Fehler die API-Sicherheitslisten anführt: angemeldeter Nutzer, falsches Objekt, niemand hat geprüft.

Authentifizierung einmal, Autorisierung bei jeder AnfrageEin Nutzer authentifiziert sich einmal mit seinen Zugangsdaten und erhält ein Session-Token. Jede folgende Anfrage durchläuft die Token-Validierung, die die Identität wiederherstellt, und danach eine Autorisierungsprüfung pro Anfrage gegen Rollen, ACLs und Richtlinien, bevor die Ressource ausgeliefert wird; Fehlschläge liefern 401 bei fehlender Authentifizierung und 403 bei verweigerter Berechtigung.

Zugangsdaten, einmal

Session / Token

nein → 401

ja

nein → 403

ja

Nutzer

Authentifizierung
Anmeldung + MFA

Jede Anfrage

Token gültig?

401 + WWW-Authenticate

Autorisiert für DIESE
Ressource + Aktion?

403 (oder 404 zum Verbergen)

Ressource

Ein Nutzer authentifiziert sich einmal mit seinen Zugangsdaten und erhält ein Session-Token. Jede folgende Anfrage durchläuft die Token-Validierung, die die Identität wiederherstellt, und danach eine Autorisierungsprüfung pro Anfrage gegen Rollen, ACLs und Richtlinien, bevor die Ressource ausgeliefert wird; Fehlschläge liefern 401 bei fehlender Authentifizierung und 403 bei verweigerter Berechtigung.

401 und 403, genau betrachtet

Die Statuscodes sind die Unterscheidung in Zahlenform, und RFC 9110 ist dabei präzise. 401 Unauthorized ist die langlebigste Fehlbenennung der Webgeschichte: Gemeint ist nicht authentifiziert – der Anfrage fehlen “gültige Authentifizierungsdaten”, die Antwort muss eine WWW-Authenticate-Challenge enthalten, und das Vorlegen von Zugangsdaten kann das Problem lösen. 403 Forbidden bedeutet, dass der Server genau verstanden hat, wer fragt, und trotzdem ablehnt – eine erneute Authentifizierung ist per Definition zwecklos. Und die Spezifikation erlaubt einen dritten Zug, den Sicherheitsteams schätzen: 404 statt 403 zu antworten, damit eine verbotene Ressource nicht ihre eigene Existenz bestätigt. Die richtigen Codes sind keine Pedanterie; Clients bauen ihre Retry- und Neuanmeldelogik darauf auf, und ein 403, das eigentlich ein 401 sein müsste, schickt Nutzer gegen eine Wand statt zu einem Anmeldeformular.

OAuth, OIDC und die ewige Verwechslung

Die Verwechslung hat eine Antwort, die in der Spezifikation steht. Der Titel von OAuth 2.0 lautet “The OAuth 2.0 Authorization Framework” – es überträgt Berechtigungen mit begrenztem Scope, und die OpenID-Connect-Spezifikation existiert genau deshalb, weil OAuth allein keine Auskunft darüber geben kann, wie sich ein Endnutzer authentifiziert hat. OIDC ergänzt die Identitätsschicht: ein ID Token, das bestätigt, wer sich authentifiziert hat, getrennt vom Access Token, das festhält, was der Inhaber darf. Jeder “Anmelden mit …”-Button ist OIDC, das Authentifizierung über die Autorisierungsmechanik von OAuth abwickelt – ein Ablauf, beide Konzepte, sauber geschichtet statt vermischt.

Die drei Fehler, die in Produktion landen

Autorisierung im Client. Den Löschen-Button auszublenden ist Oberflächengestaltung; dass der Server entscheidet, ob das Löschen ausgeführt wird, ist Sicherheit. Laut OWASP gilt: standardmäßig verweigern, serverseitig durchsetzen und Client-Prüfungen nur als UX-Hinweise behandeln. Angemeldet ≠ berechtigt. Die Authentifizierung zu prüfen, aber nicht den Besitz des Objekts – /documents/42 wird an jede gültige Session ausgeliefert –, ist Broken Object Level Authorization, die häufigste Klasse von API-Schwachstellen. Die Prüfung erfolgt pro Objekt, pro Anfrage, ohne Ausnahme. Reihenfolge der Middleware. Erst authentifizieren, dann autorisieren, im Code wie im Konzept: Die Identitäts-Middleware stellt fest, wer fragt, danach fragen die Handler, ob er darf – und eine Autorisierungsprüfung, die läuft, bevor die Identität feststeht, autorisiert stillschweigend anonyme Nutzer.

Typische Anwendungsfälle

  • App-Anmeldung + Datenberechtigungen – die alltägliche Kombination: ein Anmeldeablauf, danach Regeln pro Objekt für alles Weitere.
  • API-Design – 401/403-Semantik, Tokens mit begrenztem Scope und Prüfungen auf Objektebene als Fehlersprache des Vertrags.
  • Multi-Tenant-SaaS – Authentifizierung über alle Tenants hinweg geteilt; Autorisierung innerhalb jedes Tenants strikt abgegrenzt.
  • Admin- und Support-Werkzeuge – Step-up-Authentifizierung und erweiterte Autorisierung als bewusst getrennte Ereignisse.
  • Öffentliche + private Inhalte – anonymes Lesen als Autorisierungsregel, der Beweis, dass beide Konzepte unabhängig voneinander laufen.

Welche Prüfung fehlt Ihnen? Eine Entscheidungsmatrix

SymptomFehlender Baustein
Jeder mit einem Link liest private DatenAutorisierung – Prüfungen pro Objekt
Gestohlene Passwörter funktionieren weiterAuthentifizierung – MFA ergänzen
Nutzer sehen nach Anmeldefehlern eine 403-WandFalscher Code – das ist ein 401-Ablauf
Jeder angemeldete Nutzer erreicht Admin-APIsAutorisierung – Rollen, standardmäßig verweigern
”Anmelden mit …” wird als Autorisierung behandeltBegriffsverwechslung – OIDC authentifiziert; Scopes autorisieren
Buttons ausgeblendet, Endpoints aber offenAutorisierung nur clientseitig durchgesetzt

Grenzen und Trade-offs

  • Die Trennung ist konzeptionell, nicht immer architektonisch. Kleine Apps führen beides zu Recht im selben Middleware-Stack aus; die Disziplin besteht darin, die Prüfungen getrennt zu halten, nicht die Server.
  • Starke Authentifizierung rettet keine schwache Autorisierung. Passkeys und MFA verifizieren die Identität tadellos – für ein System, das danach jeden alles lesen lässt. Die Fehler sind voneinander unabhängig.
  • Autorisierung pro Anfrage hat ihren Preis. Entscheidungen cachen, Regeln in die Datenschicht verlagern und Berechtigungen indizieren – so bleibt “alles prüfen” schnell.
  • Step-up verwischt die Zeitachse. Sensible Aktionen verlangen mitten in der Session eine erneute Authentifizierung – Authentifizierung geschieht also nicht strikt “einmal”, sondern “einmal pro Vertrauensstufe”.
  • Unscharfe Begriffe erzeugen echte Bugs. Teams, die für beide Hälften “Auth” sagen, schreiben Tickets, Tests und Fehlercodes, die beides vermengen; die Wörter sind die billigste Verteidigung.

Authentifizierung und Autorisierung mit Back4app

Back4app ist eine Open-Source-Plattform für Backend as a Service (BaaS), die eine verwaltete Datenbank, automatisch generierte REST- und GraphQL-APIs, Authentifizierung, Dateispeicher und Serverless-Funktionen mit Cloud Code kombiniert. Die Architektur der Plattform ist die Trennung: Die Klasse User, Sessions, Social Login und der MFA-Adapter beantworten, wer Sie sind, und erzeugen ein widerrufbares Session-Token – danach beantworten ACLs, Berechtigungen auf Klassenebene und Rollen, was Sie dürfen, serverseitig ausgewertet bei jeder REST-, GraphQL- und Live-Query-Anfrage, genau wie die Code-Tabs zeigen: einmal anmelden, bei jeder Operation neu geprüft werden. Der Abschnitt über Fehler wird damit zur Strukturfrage: Autorisierung kann nicht clientseitig stattfinden, weil Back4app sie hinter der API durchsetzt, nicht autorisierte Objekte kommen als “nicht gefunden” zurück, statt ihre Existenz zu bestätigen, und “standardmäßig verweigern” ist ein einziges Häkchen an einer Klasse. Die beiden Fragen bleiben getrennt, weil die Plattform sie nie verschmelzen lässt.

Häufige Fragen

Was ist der Unterschied zwischen Authentifizierung und Autorisierung, einfach erklärt?

Authentifizierung prüft, wer Sie sind – Zugangsdaten, Codes, Biometrie. Autorisierung entscheidet, was Sie dürfen – Rollen, Berechtigungen, Richtlinien. Im Hotel: Den Ausweis an der Rezeption vorzuzeigen ist Authentifizierung; die Schlüsselkarte, die Ihr Zimmer öffnet, aber nicht die Suite, ist Autorisierung.

Was kommt zuerst, Authentifizierung oder Autorisierung?

Fast immer die Authentifizierung – ein System kann einem Unbekannten keine Berechtigungen erteilen. Die lehrreiche Ausnahme: Öffentliche Ressourcen sind Autorisierungsentscheidungen ohne Authentifizierung; "jeder darf das lesen" bleibt eine Berechtigungsregel, angewendet auf anonyme Nutzer.

Was ist der Unterschied zwischen einem 401- und einem 403-Fehler?

401 bedeutet, dass der Anfrage gültige Zugangsdaten fehlen – trotz des offiziellen Namens "Unauthorized" heißt das eigentlich nicht authentifiziert, und eine Anmeldung kann das beheben. 403 bedeutet, dass der Server weiß, wer Sie sind, und trotzdem ablehnt – Berechtigung verweigert, und eine erneute Anmeldung ändert nichts.

Gibt es Autorisierung ohne Authentifizierung?

Ja – jeder öffentliche Endpoint beweist es: Anonymer Zugriff ist eine Autorisierungsregel, die ohne Identität ausgewertet wird. Das Umgekehrte gibt es auch: authentifiziert, aber für nichts autorisiert – genau so sollte ein frisches Konto ohne Rollen aussehen.

Welche Protokolle regeln Authentifizierung und welche Autorisierung?

Authentifizierung: Passwörter, MFA, Passkeys und WebAuthn, Sessions, OpenID Connect, SAML. Autorisierung: Rollen (RBAC), Attributregeln (ABAC), ACLs, OAuth-2.0-Scopes, Policy-Engines. OAuth steht bekanntlich auf der Autorisierungsseite – seinen Ruf als Anmeldeverfahren verdankt es OpenID Connect, das darauf aufsetzt.

Ist OAuth Authentifizierung oder Autorisierung?

Autorisierung – die Spezifikation heißt selbst "The OAuth 2.0 Authorization Framework", und OpenID Connect existiert genau deshalb, weil OAuth allein nicht bestätigen kann, wer sich authentifiziert hat. Jeder echte "Anmelden mit …"-Button ist OIDC, das eine Identitätsschicht über die OAuth-Mechanik legt.

Wie arbeiten Authentifizierung und Autorisierung bei einer Anfrage zusammen?

Einmal bei der Anmeldung authentifizieren, was eine Session oder ein Token erzeugt. Danach stellt der Server bei jeder Anfrage die Identität aus diesem Token wieder her und prüft die Autorisierung für genau diese Ressource und Aktion. Einmal pro Session gegenüber jeder einzelnen Anfrage – diese Asymmetrie ist die ganze Architektur.

Was sind die häufigsten Fehler?

Die beiden in der Fehlerbehandlung zu verwechseln (403, wo 401 hingehört), Autorisierung im Client durchzusetzen (Buttons auszublenden ist UX, keine Sicherheit) und zu prüfen, ob ein Nutzer angemeldet ist, aber nicht, ob ihm das konkrete Objekt gehört – die Lücke "Broken Object Level Authorization", die API-Sicherheitslisten anführt.

Verwandte Begriffe

Vergleichen mit

Weiterführende Quellen

Bereit, Ihr Backend zu bauen?

Starten Sie Ihr Projekt auf Back4app in wenigen Minuten — Datenbank, Authentifizierung, APIs und Cloud Code inklusive. Keine Kreditkarte erforderlich.

Geschrieben und geprüft von Back4app Engineering, Back4app Engineering · Veröffentlicht am 2026-09-22