Technik fortgeschritten

Authentifizierungs-Ablauf

Ein Authentifizierungs-Ablauf (Authentication Flow) beschreibt die sequenzielle Abfolge von Schritten, mit denen eine Anwendung die Identität eines Nutzers oder Systems überprüft und Zugriffsrechte erteilt – typischerweise mittels API-Keys, OAuth 2.0 oder JSON Web Tokens.

Ausführliche Erklärung

Der Authentifizierungs-Ablauf ist die technische Choreographie, die festlegt, wie Identitäten überprüft und Berechtigungen erteilt werden, bevor eine Anwendung auf geschützte Ressourcen zugreift. Im Kontext von APIs und Cloud-Diensten ist dieser Ablauf entscheidend für die Sicherheit: Er definiert, wann welche Credentials übermittelt, wie Tokens generiert und ausgetauscht sowie wie Sessions verwaltet werden.

OAuth 2.0 ist dabei der De-facto-Standard für moderne Authentifizierungs-Abläufe. Es kennt verschiedene Flows für unterschiedliche Szenarien: Der Authorization Code Flow eignet sich für Web-Anwendungen mit sicherem Backend, da er die sensiblen Tokens nie im Browser exponiert. Der Client Credentials Flow kommt bei Server-zu-Server-Kommunikation ohne Nutzerinteraktion zum Einsatz. Für Single-Page-Apps und mobile Anwendungen wird der Authorization Code Flow mit PKCE (Proof Key for Code Exchange) empfohlen, der auch ohne serverseitige Secrets sicher ist.

Für KMU-Entscheider ist wichtig: Die Wahl des falschen Flows oder dessen fehlerhafte Implementierung kann schwerwiegende Konsequenzen haben. Typische Fehlerquellen sind abgelaufene Access Tokens ohne automatische Refresh-Logik, fehlende Validierung von Redirect-URIs oder unsichere Speicherung von API-Keys im Client-Code. Viele KMU verwenden noch unsichere Praktiken wie hartcodierte API-Keys oder Basic Authentication ohne TLS, weil die Komplexität moderner OAuth-Implementierungen abschreckt.

Die Implementierung eines sicheren Authentifizierungs-Ablaufs sollte idealerweise auf etablierte Bibliotheken setzen, nicht auf Eigenentwicklungen. Access Tokens sollten kurzlebig sein (typisch: 1 Stunde), während Refresh Tokens ein längeres Zeitfenster ermöglichen. Wichtig ist auch, dass Token-Gültigkeit, Scopes (Berechtigungsumfang) und Rate Limiting von Anfang an berücksichtigt werden, um sowohl Sicherheitsrisiken als auch unerwartete Kosten bei Cloud-APIs zu vermeiden.

Praxisbeispiel

Eine Wiener Steuerberatungskanzlei mit 12 Mitarbeitenden integriert eine Buchhaltungssoftware mit ihrem CRM-System. Statt den API-Key direkt im JavaScript-Code zu hinterlegen, implementiert der IT-Dienstleister einen OAuth 2.0 Authorization Code Flow: Die Kanzlei-Mitarbeiter melden sich einmalig beim CRM an, erhalten ein Access Token mit 60 Minuten Gültigkeit und ein Refresh Token für 30 Tage. Das Backend der Buchhaltungssoftware erneuert das Access Token automatisch im Hintergrund. So bleiben die Zugangsdaten geschützt, auch wenn ein Laptop verloren geht.

Code-Beispiel

import requests
from requests.auth import HTTPBasicAuth

# OAuth 2.0 Token-Austausch (Authorization Code Flow)
def get_access_token(auth_code, client_id, client_secret, redirect_uri):
    token_url = "https://auth.example.com/oauth/token"
    payload = {
        "grant_type": "authorization_code",
        "code": auth_code,
        "redirect_uri": redirect_uri,
        "client_id": client_id
    }
    response = requests.post(
        token_url,
        data=payload,
        auth=HTTPBasicAuth(client_id, client_secret)
    )
    return response.json()  # {"access_token": "...", "refresh_token": "..."}

Quellen

Zuletzt aktualisiert: 2. August 2026