Samoregistrácia používateľa Keycloak

1. Prehľad

Keycloak môžeme použiť ako autorizačný server tretej strany na správu používateľov našich webových alebo mobilných aplikácií.

Aj keď je možné, aby správca pridával používateľov, Keycloak má tiež možnosť umožniť používateľom zaregistrovať sa. Okrem predvolených atribútov, ako je meno, priezvisko a e-mail, môžeme navyše pridať ďalšie používateľské atribúty špecifické pre potreby našej aplikácie.

V tomto návode uvidíme ako môžeme povoliť vlastnú registráciu na Keycloak a pridať vlastné polia na stránke registrácie používateľov.

Staviame na prispôsobení prihlasovacej stránky, takže bude užitočné najskôr si ju prejsť pri úvodnom nastavení.

2. Samostatný server

Najskôr uvidíme samoregistráciu používateľa pre samostatný server Keycloak.

2.1. Povolenie registrácie používateľa

Spočiatku musíme povoliť Keycloak, aby sme umožnili registráciu používateľov. Najprv budeme musieť server spustiť spustením tohto príkazu z našej distribúcie Keycloak kôš priečinok:

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

Potom musíme ísť do administračnej konzoly a zadať initial1/zaq1! QAZ poverovacie listiny.

Ďalej v Prihlásiť sa karta na Nastavenia sféry stránku, prepneme Registrácia používateľa tlačidlo:

To je všetko! Musíme len kliknúť Uložiť a bude povolená samoregistrácia.

Tak teraz dostaneme odkaz s názvom Registrovať na prihlasovacej stránke:

Opäť si pripomeňme, že stránka vyzerá inak ako predvolená prihlasovacia stránka spoločnosti Keycloak, pretože rozširujeme možnosti prispôsobenia, ktoré sme vykonali predtým.

Odkaz na registráciu nás zavedie na stránku Registrovať stránka:

Ako vidíme, predvolená stránka obsahuje základné atribúty používateľa Keycloak.

V nasledujúcej časti uvidíme, ako môžeme do našej voľby pridať ďalšie atribúty.

2.2. Pridanie vlastných atribútov používateľa

Pokračujúc v našej vlastnej téme, skopírujme existujúcu šablónu base / login / register.ftl k nášmu vlastné / prihlásenie priečinok.

Teraz skúsime pridať nové pole nar pre Dátum narodenia. Za týmto účelom budeme musieť upraviť vyššie uvedené registrovať.ftl a pridať toto:

 Dátum narodenia 

Teraz keď na tejto stránke zaregistrujeme nového používateľa, môžeme zadať jeho Dátum narodenia tiež:

Na overenie otvorme Používatelia stránku v administračnej konzole a vyhľadanie Jane:

Ďalej poďme na Jane‘S Atribúty a pozrite sa na DOB:

Ako je zrejmé, zobrazuje sa tu rovnaký dátum narodenia, aký sme zadali vo formulári na registráciu.

3. Zabudovaný server

Teraz sa pozrime, ako môžeme pridať vlastné atribúty pre vlastnú registráciu pre server Keycloak vložený do aplikácie Spring Boot.

Rovnako ako v prvom kroku pre samostatný server, aj na začiatku musíme povoliť registráciu používateľov.

Môžeme to urobiť nastavením registráciaPovolená do pravda v našom súbore definície sféry, baeldung-realm.json:

"registrationAllowed": pravda,

Potom musíme pridať Dátum narodenia do registrovať.ftl, presne rovnakým spôsobom ako predtým.

Ďalej skopírujme tento súbor do nášho src / main / resources / themes / custom / login adresár.

Teraz pri spustení servera obsahuje naša prihlasovacia stránka odkaz na registráciu. Tu je stránka na registráciu s našim vlastným poľom Dátum narodenia:

Je dôležité mať na pamäti, že používateľ pridaný prostredníctvom stránky registrácie pre zabudovaný server je prechodný.

Pretože sme tohto používateľa nepridali do súboru pred konfiguráciou, nebude k dispozícii pri reštarte servera. To sa však hodí počas vývojovej fázy, keď kontrolujeme iba dizajn a funkčnosť.

Pred otestovaním servera môžeme otestovať, či je doň používateľ pridaný DOB ako vlastný atribút z konzoly správcu. Môžeme sa tiež pokúsiť prihlásiť pomocou prihlasovacích údajov nového používateľa.

4. Záver

V tomto návode naučili sme sa, ako povoliť automatickú registráciu používateľov v Keycloaku. Tiež sme videli, ako pridať vlastné atribúty pri registrácii ako nový používateľ.

Pozreli sme sa na príklady, ako to urobiť pre samostatnú aj vloženú inštanciu.

Ako vždy, zdrojový kód je k dispozícii na GitHub. Pre samostatný server je to v tutoriáloch GitHub a pre vloženú inštanciu v OAuth GitHub.


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