Plugin ini di buat sebagai Flow Authentikasi alternatif untuk Keycloak Server. keynote :
- Login dengan OTP Code yang dikirim ke Phone Number.
- Registrasi dengan OTP Code yang dikirim ke Phone Number.
- Implementasi SMS Gateway/Media lain, silahkan sesuaikan pada fungsi OtpSmsSender.sendSMS(...)
$ mvn -e clean install
## Buat Tema baru
mkdir ${KEYCLOAK_HOME}/themes/otpsms
cp ${PROJECT_HOME}/resources/themes/otpsms/* ${KEYCLOAK_HOME}/themes/otpsms/
## Deploy Jar ke Keycloak
cp ${PROJECT_HOME}/target/otp-sms-1.0.0.jar ${KEYCLOAK_HOME}/standalone/deployments/otp-sms-1.0.0.jar
- Akses halaman Admin Keycloak.
- Pilih Realm, kemudian buka Menu
Realm Settings
tabThemes
. - Pilih
Login Theme
denganotpsms
(sesuai dengan folder Tema yang di buat sebelumnya)
- Akses halaman Admin Keycloak.
- Pilih Realm, kemudian buka Menu
Authentication
tabFlow
. - Copy
Browser
flow dan beri namaBrowser OTP SMS
. - Di bagian
Auth Type
, dalamBrowser OTP SMS Forms
hapusUsername Password Form
danBrowser OTP SMS Browser - Conditional OTP
, melalui linkAction
di pojok kanan baris. - Kemudian tambahkan executor baru di dalam
Browser OTP SMS Forms
dengan memilih Action > Add execution, pilih ProviderOTP Using SMS
, save. - Ubah Requirement dari OTP Using SMS menjadi
REQUIRED
, sehingga tampilan akhir Authentication nya menjadi seperti di bawah ini.
- Selanjutnya buka Menu
Authentication
tabBindings
. - Ubah
Borwser Flow
menjadiBrowser OTP SMS
- Done.
- Akses halaman Admin Keycloak.
- Pilih Realm, kemudian buka Menu
Authentication
tabFlow
. - Copy
Registration
flow dan beri namaRegistration OTP SMS
. - Di bagian
Auth Type
, dalamRegistration OTP SMS Registration Form
melalui linkAction
di pojok kanan baris, tambahkan executor baru dengan memilih Action > Add execution, pilih ProviderOTP Using SMS Registration
, save. - Kemudian ubah posisi di
OTP Using SMS Registration
menjadi paling atas dalam flow registrasi, sehingga tampilan akhirnya menjadi seperti ini.
Notes : Referensi Tema yang di gunakan pada Preview Page di atas, bisa mengacu ke project ini
Name | |
---|---|
Rio Bastian | rio.bastian@metranet.co.id |
altanovela@gmail.com |