Feature #4156
Implementasi Fitur Forgot Passoword di Port E-Recruitment
Description
Dear mas Azid,
Berikut untuk UI Design form Forgot Password: https://drive.google.com/drive/folders/1kPAtu7bxbJ4IOFZzgWr4JnSEQR9XhaCz?usp=sharing
Flow Process 1-5:
1. Halaman Forgot password (gambar 1 - Form forgot password): User memasukkan email.
Validasi nya:
- Format: Input harus berupa format email yang benar (bisa pakai function regex, misal: name@domain.com).
- Mandatory Field: Input tidak boleh kosong.
- Dari sisi security (server-side):
a. Rate Limiting: kasih batasan pengiriman email (misalnua: hanya boleh request 1x dalam 60 detik) untuk mencegah spamming.
b. Account Enumeration: Disarankan pesan sukses tetap muncul meskipun email tidak terdaftar di database, untuk mencegah orang awam mencari tahu email mana yang terdaftar.
2. Pop-up Konfirmasi Email terkirim: Notifikasi bahwa email reset password telah dikirim (gambar 2 - Pop-up Send mail).
3. Email Notification (gambar 3 - Mail Notification): User menerima email dan mengklik link reset (mengandung unique token).
Validasi nya:
- Unique Token: Link harus mengandung token unik yang sulit ditebak (contoh: .../reset/a1b2c3d4e5f6g7h8i9j0).
- Token Expiry: Link harus memiliki masa kadaluarsa kasih timeout 2 jam aja. Setelah itu, link tidak valid.
- One-time Use: Token harus otomatis ke reset/tidak bisa digunakan kembali setelah password berhasil diubah.
4. Halaman Reset Password: User diarahkan ke form input password baru setelah klik link dari email (gambar 4 - Form Confirmation Password).
Validasi nya:
- Validasi Password: Mengecek passwrd minimal 8 character kalau lebih dari 8 tampilkan Pop-up/message Password must 8 or more character.
- Match Validation: Input pada kolom "New Password" harus sama dengan "Confirm New Password". Jika berbeda dan user klik tombol "Reset Password" maka munculkan pop-up message "Confirm New Password must match New Password".
- Visibility Toggle: Fitur icon mata (seperti di UI) untuk melihat/hide password untuk menghindari user typo.
5. Pop-up Sukses: Konfirmasi password berhasil diubah (gambar 5 - Pop Up Success Reset Password).
Validasi nya:
- Session Clearing: Pastikan semua session login lama di perangkat lain (jika ada) otomatis logout jika password sudah diubah.
- Redirect: Setelah user klik "OK" pada pop-up sukses, arahkan user kembali ke Halaman Login (page awal e-rec).
Terima kasih,
PORT: https://erec-kertasnusantara-dev.minovais.com/
DB: 103.153.60.89 (MinovaES_KertasNusantara_Dev)
Updated by Mr Ikmal 21 days ago
Link figma di pages form forgot e-rec:
https://www.figma.com/design/A5i99b5nIkapLrrCZxtVQh/ProjectAppSE?node-id=1491-1705&t=Ex2Ao6cRt5qRHUmg-1
Updated by M Azid Wahyudi 20 days ago
cicil kerjaan :
Validasi form di forgot password
jika kosong muncul validasi dan jika tidak sesuai format muncul validasi
package :
login.aspx
messagecatalog : RCVALEMAILFP & RCVALEMAILFPFormat
Updated by M Azid Wahyudi 20 days ago
tambahan validasi baru untuk mengecek email Account Enumeration
package :
messagecatalog : RCVALEMAILCHECK
makasih
Updated by M Azid Wahyudi 19 days ago
note :
source code UI erec tidak jalan jadi harus di rapihin dulu di local
kenapa harus di rapihin untuk akomodir forgot password ini karena dia kan harus di backend sebelum ke backend (API 2) harus di define terlebih dahulu di controller UInya nah ketika di tambahin ternyata pas di deploy tidak jalan jadi untuk ini di skip dulu saya pindah ke task KN yang lain dulu
terima kasih