Keycloak-brugerregistrering

1. Oversigt

Vi kan bruge Keycloak som en tredjepartsautorisationsserver til at administrere brugere af vores web- eller mobilapplikationer.

Selvom det er muligt for en administrator at tilføje brugere, har Keycloak også muligheden for at tillade brugere at registrere sig selv. Derudover kan vi sammen med standardattributter som fornavn, efternavn og e-mail også tilføje ekstra brugerattributter, der er specifikke for vores applikations behov.

I denne vejledning ser vi hvordan vi kan aktivere selvregistrering på Keycloak og tilføje brugerdefinerede felter på siden med brugerregistrering.

Vi bygger oven på at tilpasse login-siden, så det vil være nyttigt at gennemgå den først til den første opsætning.

2. Frittstående server

Først ser vi brugeres selvregistrering for en enkeltstående Keycloak-server.

2.1. Aktivering af brugerregistrering

Oprindeligt skal vi aktivere Keycloak for at tillade brugerregistrering. Til det skal vi først starte serveren ved at køre denne kommando fra vores Keycloak-distributioner beholder folder:

./standalone.sh -Djboss.socket.binding.port-offset = 100

Derefter skal vi gå til administrationskonsollen og indtaste initial1/zaq1! QAZ legitimationsoplysninger.

Dernæst i Log på fanen på Realm-indstillinger side, skifter vi mellem Brugerregistrering knap:

Det er alt! Vi skal bare klikke Gemme og selvregistrering bliver aktiveret.

Så nu vi får et link med navnet Tilmeld på login siden:

Husk igen, at siden ser anderledes ud end Keycloaks standard login-side, fordi vi udvider de tilpasninger, vi gjorde tidligere.

Registerlinket fører os til Tilmeld side:

Som vi kan se, standardsiden indeholder de grundlæggende attributter for en Keycloak-bruger.

I det næste afsnit ser vi, hvordan vi kan tilføje ekstra attributter til vores valg.

2.2. Tilføjelse af brugerdefinerede brugerattributter

Fortsæt med vores brugerdefinerede tema, lad os kopiere den eksisterende skabelon base / login / register.ftl til vores brugerdefineret / login folder.

Vi prøver nu at tilføje et nyt felt dob til Fødselsdato. Til det skal vi ændre ovenstående register.ftl og tilføj dette:

 Fødselsdato 

Nu når vi registrerer en ny bruger på denne side, kan vi indtaste dens Fødselsdato såvel:

Lad os åbne for at bekræfte Brugere side på administrationskonsollen og opslag Jane:

Lad os derefter gå til Jane'S Egenskaber og tjek DOB:

Som det er tydeligt, vises den samme fødselsdato her, da vi indtastede på selvregistreringsformularen.

3. Integreret server

Lad os nu se, hvordan vi kan tilføje tilpassede attributter til selvregistrering for en Keycloak-server indlejret i en Spring Boot-applikation.

Samme som det første trin for den enkeltstående server, vi skal aktivere brugerregistrering i starten.

Vi kan gøre dette ved at indstille registrering Tilladt til rigtigt i vores realm definitionsfil, baeldung-realm.json:

"registrationAllowed": sand,

Derefter skal vi tilføje Fødselsdato til register.ftl, nøjagtigt på samme måde som gjort tidligere.

Lad os derefter kopiere denne fil til vores src / main / ressourcer / temaer / brugerdefineret / login vejviser.

Nu når vi starter serveren, bærer vores login-side registerlinket. Her er siden til selvregistrering med vores brugerdefinerede felt Fødselsdato:

Det er vigtigt at huske på, at bruger tilføjet via selvregistreringssiden for den integrerede server er forbigående.

Da vi ikke tilføjede denne bruger til pre-konfigurationsfilen, vil den ikke være tilgængelig ved serverstart. Dette er dog nyttigt i udviklingsfasen, når vi kun kontrollerer design og funktionalitet.

For at teste, inden vi genstarter serveren, kan vi kontrollere, at brugeren er tilføjet med DOB som en brugerdefineret attribut fra administrationskonsollen. Vi kan også prøve at logge ind ved hjælp af den nye brugers legitimationsoplysninger.

4. Konklusion

I denne vejledning vi lærte at aktivere brugeres selvregistrering i Keycloak. Vi så også, hvordan man tilføjer tilpassede attributter, mens vi registrerer som en ny bruger.

Vi kiggede på eksempler på, hvordan man gør dette for både en enkeltstående såvel som en indlejret forekomst.

Som altid er kildekoden tilgængelig på GitHub. For den enkeltstående server er det på tutorials GitHub og for den integrerede forekomst på OAuth GitHub.


$config[zx-auto] not found$config[zx-overlay] not found