Pendaftaran Sendiri Pengguna Keycloak

1. Gambaran keseluruhan

Kami boleh menggunakan Keycloak sebagai pelayan kebenaran pihak ketiga untuk menguruskan pengguna aplikasi web atau mudah alih kami.

Walaupun pentadbir dapat menambahkan pengguna, Keycloak juga mempunyai kemampuan untuk membolehkan pengguna mendaftar sendiri. Selain itu, bersama dengan atribut lalai seperti nama depan, nama belakang, dan e-mel, kami juga dapat menambahkan atribut pengguna tambahan khusus untuk keperluan aplikasi kami.

Dalam tutorial ini, kita akan melihat bagaimana kita boleh mengaktifkan pendaftaran diri di Keycloak dan menambahkan bidang tersuai di halaman pendaftaran pengguna.

Kami sedang berusaha untuk menyesuaikan halaman log masuk, jadi akan sangat berguna untuk mencarinya terlebih dahulu untuk persediaan awal.

2. Pelayan Berdiri

Pertama, kita akan melihat pendaftaran diri pengguna untuk pelayan Keycloak yang berdiri sendiri.

2.1. Mendayakan Pendaftaran Pengguna

Pada mulanya, kita perlu mengaktifkan Keycloak untuk membenarkan pendaftaran pengguna . Untuk itu, pertama-tama kita perlu memulakan pelayan dengan menjalankan perintah ini dari folder tong pengedaran Keycloak kami :

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

Oleh itu, kita perlu pergi ke konsol pentadbir dan masukkan kelayakan Q1Z initial1 / zaq1!

Seterusnya, di tab Login di halaman Realm Settings , kita akan menukar butang pendaftaran Pengguna :

Itu sahaja! Kita hanya perlu klik Simpan dan pendaftaran sendiri diaktifkan.

Jadi sekarang kita akan mendapat pautan bernama Daftar di halaman log masuk :

Sekali lagi, ingat bahawa halaman kelihatan berbeza daripada halaman log masuk lalai Keycloak kerana kami memperluas penyesuaian yang kami lakukan sebelumnya.

Pautan daftar membawa kami ke halaman Daftar :

Seperti yang kita lihat, halaman lalai merangkumi atribut asas pengguna Keycloak .

Di bahagian seterusnya, kita akan melihat bagaimana kita dapat menambahkan atribut tambahan pada pilihan kita.

2.2. Menambah Atribut Pengguna Tersuai

Terus dengan tema khusus kami, mari salin pangkalan templat / login / register.ftl yang ada ke folder kustom / log masuk kami .

Sekarang kita akan cuba menambah satu bidang baru dob untuk Tarikh Lahir . Untuk itu, kita perlu mengubah register.ftl di atas dan menambahkannya:

 Date of birth 

Sekarang apabila kita mendaftarkan pengguna baru di halaman ini, kita dapat memasukkan Tarikh lahirnya juga :

Untuk mengesahkan, mari buka halaman Pengguna di konsol pentadbir dan cari Jane :

Seterusnya, mari kita pergi ke Jane 's Atribut dan menyemak DOB :

Seperti yang dapat dilihat, tarikh lahir yang sama ditunjukkan di sini semasa kami memasukkan borang pendaftaran diri.

3. Pelayan Terbenam

Sekarang mari kita lihat bagaimana kita dapat menambahkan atribut khusus untuk pendaftaran diri untuk pelayan Keycloak yang disematkan dalam aplikasi Spring Boot.

Sama seperti langkah pertama untuk pelayan mandiri, kita perlu mengaktifkan pendaftaran pengguna pada awalnya.

Kita boleh melakukan ini dengan menetapkan registrationAllowed untuk benar dalam fail definisi alam kita, baeldung-realm.json :

"registrationAllowed" : true,

Selepas itu, kita perlu menambahkan Tarikh lahir ke register.ftl , dengan cara yang sama seperti yang dilakukan sebelumnya .

Seterusnya, mari salin fail ini ke direktori src / main / resources / themes / custom / login kami .

Sekarang semasa memulakan pelayan, halaman log masuk kami membawa pautan daftar. Berikut adalah halaman pendaftaran diri dengan medan khas kami Tarikh lahir :

Penting untuk diingat bahawa pengguna yang ditambahkan melalui halaman pendaftaran diri untuk pelayan terbenam adalah sementara .

Oleh kerana kami tidak menambahkan pengguna ini ke fail pra-konfigurasi, ia tidak akan tersedia pada restart pelayan. Namun, ini sangat berguna semasa fasa pengembangan, ketika kita hanya memeriksa reka bentuk dan fungsi.

Untuk menguji, sebelum memulakan semula pelayan, kami dapat mengesahkan bahawa pengguna ditambahkan dengan DOB sebagai atribut khusus dari konsol admin. Kami juga boleh mencuba log masuk menggunakan kelayakan pengguna baru.

4. Kesimpulan

Dalam tutorial ini, kami belajar bagaimana mengaktifkan pendaftaran diri pengguna di Keycloak . Kami juga melihat cara menambahkan atribut tersuai semasa mendaftar sebagai pengguna baru.

Kami melihat contoh bagaimana melakukan ini untuk kedua-dua yang berdiri sendiri dan juga contoh yang tersemat.

Seperti biasa, kod sumber tersedia di GitHub. Untuk pelayan mandiri, ia ada di tutorial GitHub, dan untuk contoh terbenam, di OAuth GitHub.