OAuth 2.1 und OpenID Connect für (Java-)Entwickler
Für eine sichere Authentifizierung und Autorisierung in Web-Anwendungen und Microservices haben sich die Protokolle OAuth 2.x und OpenID Connect (OIDC) als Standards durchgesetzt. Viele Entwickler:innen fehlt aber immer noch das grundlegende Verständnis, was diese Spezifikationen beschreiben und wie sie funktionieren.
In diesem 1-tägigen Training werden wir mittels einer manuellen, beispielhaften Implementierung in Java die kompletten Abläufe in einer Web-Anwendung kennen und verstehen lernen. Hierbei implementieren wir für einen Client (Web-Anwendung) die Benutzer-Authentifizierung mittels des Authorization-Code-Grants, auch inkl. Proof-Key-for-Code-Exchange (PKCE). Das darüber erhaltene (JSON-Web-)Token nutzen wir dann, um einen Endpunkt in einem Resource-Server aufzurufen. Der Resource-Server muss dann wieder seinerseits das propagierte signierte Token verifizieren und auf Gültigkeit prüfen. Auch diese Implementierung nehmen wir beispielhaft vor und lernen dabei, wie sich ein Client automatisch selbst konfigurieren kann.
Während der Implementierung diskutieren wir Best-Practices und Do’s & Don’ts im Umgang mit Tokens, lernen die gültigen OAuth 2.1 Grant-Types kennen und welche Unterschiede die neue OAuth 2.1 Version gegenüber der mittlerweile fast 15 Jahre alten 2.0 Version mitbringt.
Vorkenntnisse und Zielgruppe
Der Workshop richtet sich an alle Personen aus der Software-Entwicklung, die einen tieferen Einblick in die Arbeitsweise der Autorisierungs- und Authentifizierungs-Spezifikationen OAuth 2 und OpenID Connect (OIDC) bekommen möchten. Vorkenntnisse im Umfeld Authentifizierung/Autorisierung sind hilfreich, aber nicht Voraussetzung für dieses Training.
Da wir die Abläufe und Verifizierungen in Java-Code implementieren werden, sind entsprechend aktuelle Java-Kenntnisse und der Umgang mit einer Java-IDE unbedingt erforderlich.
Lernziele und Agenda
- OAuth 2 und OIDC Grundlagen:
Grant-Types, Access-, ID- & Refresh-Tokens, JSON-Web-Tokens (JWT) - Änderungen der OAuth 2.1 Version gegenüber OAuth 2.0
- Best-Practices im Umgang mit Tokens in serverseitigen und clientseitigen (z.B. Single-Page-App) Web-Anwendungen
- Authentifizierung von Benutzern mit einem Client über den Authorization Code Grant + PKCE (Proof-Key for Code Exchange)
- Verifizierung von signierten JSON-Web-Tokens für die Authentifizierung/Autorisierung in einem Backend-Resource-Server mit Autokonfiguration
Technische Anforderungen
- Notebook/Laptop
- Java-IDE nach Wahl (z.B. IntelliJ IDEA, Eclipse, VS Code, Netbeans, etc.)
- JDK 17+
- Internetzugriff (ggf. Proxy-/Firewall-/VPN-Konfigurationen etc. überprüfen)
- Browser
Dauer
1 Tag
Öffentliche Termine
- gerne auch auf Deine Anfrage!
Kontaktiere mich!
Melde Dich gerne direkt über das folgende Kontaktformular bei mir, wenn Du Interesse an diesem OAuth 2.1 und OpenID Connect Training hast.
Ich freue mich darauf und werde mich so bald wie möglich bei Dir melden!