Über Sinn und Unsinn von Backend-for-Frontend in OAuth2-Workflows
Zur Absicherung von APIs werden oft die Technologien JWT, OpenID Connect und OAuth 2.0 verwendet. Damit wird dem Client ein JWT(-Token) ausgestellt, mit dem er dann die API nutzen kann. Mit dem Token wird der Identitätsnachweis erbracht.
Ein solches Token ist per se höchst sensitiv und darf nicht in falsche Hände geraten. Im Falle einer WebApp liegt ein solcher Token meistens im LocalStorage des Browsers und ist damit ein einfaches Ziel für Angreifer. Neuerdings werden zur Absicherung die Token in einem Backend-for-Frontend (BFF) gespeichert.
Der Vortrag bespricht das grundlegende Problem sowie die Vor- und Nachteile der möglichen Lösung per BFF.
Vorkenntnisse
- Grundlegende Kenntnisse von REST APIs und von Design Pattern
- Interesse an Security ;)
Lernziele
- Die Teilnehmer lernen, was JWT und OpenID Connect sind und wie diese normalerweise umgesetzt werden.
- Auch wird erläutert, wie ein BFF-Pattern funktioniert und was die Vor- sowie Nachteile sind, wenn Autorisierung und Authentifizierung mittels BFF-Pattern abstrahiert werden.
- Dabei wird der IETF Draft https://datatracker.ietf.org/doc/html/draft-ietf-oauth-browser-based-apps erläutert.