Java >> Java tutorial >  >> Tag >> public

Keycloak offentlig klient og autorisation

Så vidt jeg har forstået, har du dine frontend- og backend-applikationer adskilt. Hvis din frontend er en statisk web-app og ikke betjenes af den samme backend-applikation (server), og din backend er en simpel REST API - så ville du have to Keycloak-klienter konfigureret:

  • public klient til frontend-appen. Det ville være ansvarligt for at erhverve JWT-tokens.
  • bearer-only klient, som ville blive knyttet til din backend-applikation.

For at aktivere autorisation skal du oprette roller (enten realm- eller klientomfang, start på realm-niveau, da det er lettere at forstå). Hver bruger vil derefter blive tildelt en rolle/er i Keycloak admin UI. Baseret på dette bør du konfigurere din keycloak-adapterkonfiguration (på backend).

Alt taget i betragtning, for at tale med din REST API, vil du vedhæfte et JWT-token til hver HTTP-anmodning i autorisationsoverskriften. Afhængigt af din frontend-ramme kan du bruge en af ​​disse:

  • Keycloak js-adapter
  • Andre bindinger (vinklet, reagere)

P.S. Til debugging har jeg lige skrevet et CLI-værktøj kaldet brauzie, der ville hjælpe dig med at hente og analysere dine JWT-tokens (omfang, roller osv.). Det kan bruges til både offentlige og fortrolige kunder. Du kan lige så godt bruge Postman og https://jwt.io

HTH :)


Java tag