Keycloak-brukerens egenregistrering

1. Oversikt

Vi kan bruke Keycloak som en tredjeparts autorisasjonsserver for å administrere brukere av våre nett- eller mobilapplikasjoner.

Selv om det er mulig for en administrator å legge til brukere, har Keycloak også muligheten til å tillate brukere å registrere seg. I tillegg til, sammen med standardattributter som fornavn, etternavn og e-post, kan vi også legge til ekstra brukerattributter som er spesifikke for applikasjonens behov.

I denne opplæringen får vi se hvordan vi kan aktivere egenregistrering på Keycloak og legge til egendefinerte felt på brukerregistreringssiden.

Vi bygger videre på å tilpasse påloggingssiden, så det vil være nyttig å gå gjennom den først for det første oppsettet.

2. Frittstående server

Først ser vi brukerens egenregistrering for en frittstående Keycloak-server.

2.1. Aktiverer brukerregistrering

Først må vi aktivere Keycloak for å tillate brukerregistrering. For det må vi først starte serveren ved å kjøre denne kommandoen fra våre Keycloak-distribusjoner søppel mappe:

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

Deretter må vi gå til administrasjonskonsollen og tast inn initial1/zaq1! QAZ legitimasjon.

Neste, i Logg Inn kategorien på Realm Settings siden, vil vi bytte mellom Bruker registrering knapp:

Det er alt! Vi trenger bare å klikke Lagre og selvregistrering blir aktivert.

Så nå vi får en lenke som heter Registrere på påloggingssiden:

Igjen, husk at siden ser annerledes ut enn Keycloaks standard innloggingsside fordi vi utvider tilpasningene vi gjorde tidligere.

Registerkoblingen tar oss til Registrere side:

Som vi kan se, standardsiden inneholder de grunnleggende attributtene til en Keycloak-bruker.

I neste avsnitt ser vi hvordan vi kan legge til ekstra attributter til vårt valg.

2.2. Legge til egendefinerte brukerattributter

Fortsett med vårt tilpassede tema, la oss kopiere den eksisterende malen base / login / register.ftl til vår tilpasset / innlogging mappe.

Vi prøver nå å legge til et nytt felt dob til Fødselsdato. For det må vi endre ovennevnte register.ftl og legg til dette:

 Fødselsdato 

når vi registrerer en ny bruker på denne siden, kan vi angi brukerens Fødselsdato også:

For å bekrefte, la oss åpne Brukere side på administrasjonskonsollen og oppslag Jane:

Neste, la oss gå til Jane‘S Attributter og sjekk ut DOB:

Som det er tydelig, vises samme fødselsdato her som vi skrev inn på egenregistreringsskjemaet.

3. Innebygd server

La oss nå se hvordan vi kan legge til egendefinerte attributter for selvregistrering for en Keycloak-server innebygd i et Spring Boot-program.

Samme som det første trinnet for den frittstående serveren, må vi aktivere brukerregistrering i begynnelsen.

Vi kan gjøre dette ved å sette registrering Tillatt til ekte i rikets definisjonsfil, baeldung-realm.json:

"registrering tillatt": sant,

Etter det må vi legge til Fødselsdato til register.ftl, nøyaktig på samme måte som gjort tidligere.

La oss deretter kopiere denne filen til vår src / hoved / ressurser / temaer / egendefinert / pålogging katalog.

Nå når vi starter serveren, har påloggingssiden vår registerkoblingen. Her er selvregistreringssiden med vårt tilpassede felt Fødselsdato:

Det er viktig å huske på at bruker lagt til via selvregistreringssiden for den innebygde serveren er forbigående.

Siden vi ikke la til denne brukeren i pre-konfigurasjonsfilen, vil den ikke være tilgjengelig ved serverstart. Dette kommer imidlertid til nytte i utviklingsfasen, når vi bare sjekker design og funksjonalitet.

For å teste, før vi starter serveren på nytt, kan vi bekrefte at brukeren er lagt til med DOB som et egendefinert attributt fra administrasjonskonsollen. Vi kan også prøve å logge inn med den nye brukerens legitimasjon.

4. Konklusjon

I denne veiledningen, vi lærte hvordan du kan aktivere brukerregistrering i Keycloak. Vi så også hvordan du legger til egendefinerte attributter mens du registrerer deg som en ny bruker.

Vi så på eksempler på hvordan du kan gjøre dette for både en frittstående og en innebygd forekomst.

Som alltid er kildekoden tilgjengelig på GitHub. For den frittstående serveren er det på veiledningene GitHub, og for den innebygde forekomsten, på OAuth GitHub.


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