Keycloak Gebruiker zelfregistratie

1. Overzicht

We kunnen Keycloak gebruiken als een autorisatieserver van een derde partij om gebruikers van onze web- of mobiele applicaties te beheren.

Hoewel het voor een beheerder mogelijk is om gebruikers toe te voegen, heeft Keycloak ook de mogelijkheid om gebruikers zichzelf te laten registreren. Bovendien kunnen we, naast standaardattributen zoals voornaam, achternaam en e-mailadres, ook extra gebruikersattributen toevoegen die specifiek zijn voor de behoefte van onze applicatie.

In deze tutorial zullen we zien hoe we zelfregistratie op Keycloak kunnen inschakelen en aangepaste velden op de gebruikersregistratiepagina kunnen toevoegen.

We bouwen bovenop het aanpassen van de inlogpagina, dus het is handig om deze eerst te doorlopen voor de eerste installatie.

2. Zelfstandige server

Eerst zien we zelfregistratie van de gebruiker voor een zelfstandige Keycloak-server.

2.1. Gebruikersregistratie inschakelen

In eerste instantie moeten we Keycloak inschakelen om gebruikersregistratie mogelijk te maken. Daarvoor moeten we eerst de server starten door deze opdracht uit te voeren vanuit onze Keycloak-distributie bak map:

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

Vervolgens moeten we naar de beheerconsole gaan en het initial1/zaq1! QAZ Inloggegevens.

Vervolgens in de Log in tabblad op de Realm-instellingen pagina, schakelen we de Gebruikersregistratie knop:

Dat is alles! We hoeven alleen maar te klikken Sparen en zelfregistratie wordt ingeschakeld.

Dus nu we krijgen een link met de naam Registreren op de inlogpagina:

Bedenk nogmaals dat de pagina er anders uitziet dan de standaard aanmeldingspagina van Keycloak, omdat we de aanpassingen die we eerder hebben aangebracht, uitbreiden.

De registratielink brengt ons naar het Registreren bladzijde:

Zoals we kunnen zien, de standaardpagina bevat de basiskenmerken van een Keycloak-gebruiker.

In de volgende sectie zullen we zien hoe we extra attributen aan onze keuze kunnen toevoegen.

2.2. Aangepaste gebruikerskenmerken toevoegen

Laten we doorgaan met ons aangepaste thema en de bestaande sjabloon kopiëren base / login / register.ftl naar onze aangepast / login map.

We zullen nu proberen een nieuw veld toe te voegen dob voor Geboortedatum. Daarvoor moeten we het bovenstaande aanpassen register.ftl en voeg dit toe:

 Geboortedatum 

Nu wanneer we een nieuwe gebruiker op deze pagina registreren, kunnen we zijn Geboortedatum ook:

Om dit te verifiëren, openen we het Gebruikers pagina op de beheerconsole en zoek Jane:

Laten we vervolgens naar Jane‘S Attributen en bekijk de DOB:

Zoals duidelijk is, wordt hier dezelfde geboortedatum weergegeven als we hebben ingevuld op het zelfregistratieformulier.

3. Geïntegreerde server

Laten we nu eens kijken hoe we aangepaste attributen kunnen toevoegen voor zelfregistratie voor een Keycloak-server die is ingebed in een Spring Boot-applicatie.

Hetzelfde als de eerste stap voor de zelfstandige server, we moeten in het begin gebruikersregistratie inschakelen.

We kunnen dit doen door in te stellen registratie toegestaan naar waar in ons rijksdefinitiebestand, baeldung-realm.json:

"registrationAllowed": waar,

Daarna moeten we toevoegen Geboortedatum naar register.ftl, op precies dezelfde manier als voorheen.

Laten we vervolgens dit bestand naar ons src / main / resources / themes / custom / login directory.

Bij het starten van de server bevat onze inlogpagina de registratielink. Hier is de zelfregistratiepagina met ons aangepaste veld Geboortedatum:

Houd er rekening mee dat de de gebruiker die is toegevoegd via de zelfregistratiepagina voor de embedded server is van voorbijgaande aard.

Aangezien we deze gebruiker niet aan het pre-configuratiebestand hebben toegevoegd, is deze niet beschikbaar bij een herstart van de server. Dit is echter handig tijdens de ontwikkelingsfase, wanneer we alleen het ontwerp en de functionaliteit controleren.

Om te testen, voordat de server opnieuw wordt opgestart, kunnen we controleren of de gebruiker is toegevoegd met DOB als een aangepast kenmerk van de beheerconsole. We kunnen ook proberen in te loggen met de inloggegevens van de nieuwe gebruiker.

4. Conclusie

In deze tutorial we hebben geleerd hoe we zelfregistratie van gebruikers in Keycloak kunnen inschakelen. We hebben ook gezien hoe u aangepaste attributen kunt toevoegen terwijl u zich registreert als een nieuwe gebruiker.

We hebben voorbeelden bekeken om dit te doen voor zowel een zelfstandige als een ingesloten instantie.

Zoals altijd is de broncode beschikbaar op GitHub. Voor de zelfstandige server staat deze op de tutorials GitHub en voor de ingesloten instantie op de OAuth GitHub.


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