Faktor Zehn Tutorial: Keycloak + Spring Boot 2 + Spring Security 5

Tutorial Keycloak

Authentifizierung ist ein entscheidender Teil jeder Unternehmensanwendung, insbesondere Single Sign On. Keycloak bietet einen einfach zu bedienenden Autorisierungsserver, der die Authentifizierung mit Hilfe des Open ID Connect ermöglicht, der auf dem OAuth 2 Autorisierungs-Framework aufbaut.

In den letzten Tagen haben wir versucht, Keycloak in einer Spring Boot 2-Anwendung mit Spring Security 5 einzurichten. Der Lern- und Rechercheprozess war aufgrund unvollständiger oder inkompatibler Tutorials überraschend frustrierend. Gleichzeitig war die Lösung, nicht überraschend, extrem einfach. Wir hoffen, mit diesem Tutorial anderen Menschen wie uns zu helfen, die (noch) keine Spring Security-Experte oder Authentisierungsexperte sind, aber dennoch den Wunsch haben, es zum Laufen zu bringen und gleichzeitig zu verstehen, WARUM es funktioniert (oder auch nicht).

Die weiteren Ausführungen zum Tutorial sind auf Englisch einsehbar.

Viel Spaß beim Lesen!

4 Kommentare

  1. NIkhil

    Hi,
    Could you please let me know why the Keycloack Adapter for Spring is not being used in implementation?

    Antworten
    1. Matthias Knappik

      Hi NIkhil,
      in order to be future-proof our aim was to use the relatively new Spring Security 5 library, that supports oauth2/oidc. However, we have faced runtime errors using the Keycloak Adapter in combination with Spring Security 5, so we decided to use Spring Security’s own oauth2/oidc capabilities. As a side effect our application is not bound to the Keycloak implementation as oauth2/oidc server.

      Antworten
  2. Erick

    Hello Friend! Congratulations on the tutorial, it’s the best I’ve seen so far. However, I’m having problems with the Authorities/Roles, when i log in it doesn’t bring it correctly, it just brings some that I don’t know, except the one I created in Keycloak. Does this happen to you too? Or does it bring the roles correctly?

    Antworten
    1. Matthias Knappik

      Hi Erick,
      Thank you! I haven’t seen problems regarding the authorities/roles on our side. How do you access them or validate against them in your application? A good way to see exactly what comes from keycloak is to extract the access token string while debugging your application after log in and decode it on https://jwt.io/. After comparing what comes from Keycloak and what you see in your application you can at least narrow down the issue.

      Antworten

Schreiben Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Solve : *
4 × 28 =