EMZETT.
Login

Bearer-Token und API-Authentifizierung

Kurz: Ein Bearer-Token ist ein Zugangsschlüssel, den ein Client bei jeder API-Anfrage im Header mitschickt: Authorization: Bearer <token>. Wer das Token besitzt („Bearer” = Inhaber), hat Zugriff.

Genauer: Das Token wird nach der Anmeldung ausgestellt. Der Server prüft bei jeder Anfrage, ob es gültig ist, und weiß so, wer anfragt, ohne Passwort und Sitzung jedes Mal zu übertragen.

Im Detail

  • Arten: Zufällige undurchsichtige Zeichenketten, die der Server nachschlägt, oder selbsttragende Token wie JWT, die Daten und Signatur enthalten.
  • OAuth: Das Zugriffstoken (OAuth 2.0) ist meist ein Bearer-Token mit kurzer Lebensdauer, ergänzt durch ein Refresh-Token, mit dem man ein neues holt.
  • Risiko: Jeder, der das Token hat, kann es benutzen. Deshalb nur über HTTPS senden, kurze Gültigkeit, Rechte begrenzen (Scopes), nicht in URLs oder Logs schreiben.
  • Speicherort im Browser: localStorage ist per XSS auslesbar, ein HttpOnly-Cookie nicht (dafür braucht es CSRF-Schutz). Siehe XSS und CSRF.
  • Widerruf: Undurchsichtige Token lassen sich serverseitig sperren. Reine JWTs gelten bis zum Ablauf, falls man keine Sperrliste führt.
  • Alternativen: API-Schlüssel (langlebig, für Server), Sitzungs-Cookies (für Browser-Seiten), mTLS.

Siehe auch: Zwei-Faktor-Anmeldung