Pendaftaran Mandiri Pengguna Keycloak

1. Ikhtisar

Kami dapat menggunakan Keycloak sebagai server otorisasi pihak ketiga untuk mengelola pengguna web atau aplikasi seluler kami.

Meskipun dimungkinkan bagi administrator untuk menambahkan pengguna, Keycloak juga memiliki kemampuan untuk mengizinkan pengguna mendaftarkan dirinya sendiri. Selain itu, bersama dengan atribut default seperti nama depan, nama belakang, dan email, kita juga dapat menambahkan atribut pengguna tambahan khusus untuk kebutuhan aplikasi kita.

Dalam tutorial ini, kita akan melihat bagaimana kita dapat mengaktifkan pendaftaran mandiri di Keycloak dan menambahkan bidang khusus pada halaman pendaftaran pengguna.

Kami sedang membangun di atas penyesuaian halaman login, jadi akan sangat membantu untuk melewatinya terlebih dahulu untuk pengaturan awal.

2. Server Mandiri

Pertama, kita akan melihat registrasi mandiri pengguna untuk server Keycloak mandiri.

2.1. Mengaktifkan Pendaftaran Pengguna

Awalnya, kita perlu mengaktifkan Keycloak untuk mengizinkan pendaftaran pengguna . Untuk itu, pertama-tama kita harus memulai server dengan menjalankan perintah ini dari folder bin distribusi Keycloak kita :

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

Kemudian kita perlu pergi ke konsol admin dan memasukkan kredensial initial1 / zaq1! QAZ .

Selanjutnya, di tab Login di halaman Pengaturan Realm , kita akan mengaktifkan tombol Pendaftaran pengguna :

Itu saja! Kami hanya perlu mengklik Simpan dan pendaftaran mandiri diaktifkan.

Jadi sekarang kita akan mendapatkan link bernama Register di halaman login :

Sekali lagi, ingatlah bahwa halaman tersebut terlihat berbeda dari halaman login default Keycloak karena kami memperluas penyesuaian yang kami lakukan sebelumnya.

Link register membawa kita ke halaman Register :

Seperti yang bisa kita lihat, halaman default menyertakan atribut dasar pengguna Keycloak .

Di bagian selanjutnya, kita akan melihat bagaimana kita dapat menambahkan atribut tambahan ke pilihan kita.

2.2. Menambahkan Atribut Pengguna Kustom

Melanjutkan dengan tema kustom kita, mari salin basis template yang ada / login / register.ftl ke folder kustom / login kita .

Kami sekarang akan mencoba menambahkan dob bidang baru untuk Tanggal lahir . Untuk itu, kita perlu memodifikasi register.ftl di atas dan menambahkan ini:

 Date of birth 

Sekarang ketika kita mendaftarkan pengguna baru di halaman ini, kita dapat memasukkan Tanggal lahirnya juga :

Untuk memverifikasi, buka halaman Pengguna di konsol admin dan cari Jane :

Berikutnya, mari kita pergi ke Jane 's Atribut dan memeriksa DOB :

Sebagai bukti, tanggal lahir yang sama ditampilkan di sini saat kami memasukkan formulir pendaftaran mandiri.

3. Server Tertanam

Sekarang mari kita lihat bagaimana kita dapat menambahkan atribut khusus untuk registrasi mandiri untuk server Keycloak yang disematkan dalam aplikasi Spring Boot.

Sama seperti langkah pertama untuk server mandiri, kita perlu mengaktifkan pendaftaran pengguna di awal.

Kita bisa melakukan ini dengan menyetel RegistrationAllowed to true di file definisi realm kita, baeldung-realm.json :

"registrationAllowed" : true,

Setelah itu, kita perlu menambahkan Tanggal lahir ke register.ftl , sama persis seperti sebelumnya .

Selanjutnya, mari salin file ini ke direktori src / main / resources / themes / custom / login kita .

Sekarang saat memulai server, halaman login kami membawa link register. Inilah halaman pendaftaran mandiri dengan bidang kustom Tanggal lahir kami :

Perlu diingat bahwa pengguna yang ditambahkan melalui halaman registrasi mandiri untuk server tertanam bersifat sementara .

Karena kami tidak menambahkan pengguna ini ke file pra-konfigurasi, itu tidak akan tersedia saat server dimulai ulang. Namun, ini berguna selama fase pengembangan, saat kami hanya memeriksa desain dan fungsionalitas.

Untuk menguji, sebelum memulai ulang server, kami dapat memverifikasi bahwa pengguna ditambahkan dengan DOB sebagai atribut khusus dari konsol admin. Kami juga dapat mencoba masuk menggunakan kredensial pengguna baru.

4. Kesimpulan

Dalam tutorial ini, kami mempelajari cara mengaktifkan pendaftaran mandiri pengguna di Keycloak . Kami juga melihat cara menambahkan atribut khusus saat mendaftar sebagai pengguna baru.

Kami melihat contoh tentang cara melakukan ini untuk contoh mandiri maupun tersemat.

Seperti biasa, kode sumber tersedia di GitHub. Untuk server mandiri, ada di tutorial GitHub, dan untuk instance yang disematkan, di OAuth GitHub.