• v1.0.1 70953ea150

    v1.0.1 Stable

    daengdeni released this 2025-09-10 11:29:57 +07:00 | 0 commits to master since this release

    Changelog

    v1.0.1

    • 🚨 Peningkatan Pesan Error pada Proses Login

      • Menambahkan logika untuk membedakan error "password salah" dan "user tidak ditemukan"
      • Menggunakan FILTER_VALIDATE_EMAIL untuk mendeteksi apakah input adalah email atau NIK
      • Mengganti pesan error generik menjadi pesan yang lebih spesifik
      • Menambahkan validasi untuk mengecek keberadaan user sebelum memberikan pesan error
      • Memperbaiki struktur pesan error untuk menampilkan error pada field yang tepat (login atau password)
      • Meningkatkan keamanan dengan tetap mempertahankan rate limiting pada percobaan login yang gagal
      • Memastikan backward compatibility dengan sistem error handling yang sudah ada
    • 🐛 Perbaikan Penanganan Branch Null dan Mapping Role Baru

      • Menambahkan pengecekan kondisional sebelum menyimpan branch_id ke session
      • Mencegah error ketika branch tidak ditemukan berdasarkan lastFourDigits
      • Implementasi menggunakan if statement untuk memastikan $branch ada sebelum mengakses properti id
      • Menambahkan mapping role baru untuk kompatibilitas dengan sistem UIM
    Downloads
  • v1.0.0 a1104e0c5a

    daengdeni released this 2025-09-08 15:08:16 +07:00 | 2 commits to master since this release

    Deskripsi

    Modul Authentication adalah komponen yang dirancang untuk mengelola proses autentikasi pengguna dalam aplikasi. Modul ini menyediakan mekanisme login yang fleksibel dengan dukungan untuk autentikasi berbasis database lokal dan integrasi dengan User ID Management (UIM) eksternal. Modul ini menjadi gerbang keamanan utama untuk mengontrol akses ke aplikasi.

    Fitur Utama

    1. Sistem Autentikasi Fleksibel

    • Mendukung dua metode autentikasi yang dapat dikonfigurasi:
      • Autentikasi berbasis database lokal (Laravel default)
      • Integrasi dengan User ID Management (UIM) eksternal
    • Konfigurasi metode autentikasi melalui variabel lingkungan METHOD_AUTH
    • Login menggunakan email atau NIK (Nomor Induk Karyawan)

    2. Integrasi dengan User ID Management (UIM)

    • Koneksi ke server UIM eksternal untuk verifikasi kredensial
    • Komunikasi socket aman dengan server UIM
    • Sinkronisasi data pengguna dari UIM ke database lokal
    • Pemetaan otomatis peran pengguna berdasarkan kode grup dari UIM
    • Penyimpanan data sesi pengguna dari UIM

    3. Keamanan Tingkat Lanjut

    • Pembatasan percobaan login (rate limiting) untuk mencegah serangan brute force
    • Penanganan lockout otomatis setelah terlalu banyak percobaan gagal
    • Regenerasi ID sesi setelah login berhasil
    • Enkripsi password menggunakan bcrypt
    • Validasi input untuk mencegah injeksi dan input yang tidak valid

    4. Antarmuka Pengguna yang Responsif

    • Halaman login yang modern dan responsif
    • Dukungan untuk mode gelap (dark mode)
    • Tampilan pesan error yang informatif
    • Opsi "Remember me" untuk kenyamanan pengguna
    • Toggle visibilitas password

    5. Manajemen Sesi

    • Login dan logout yang aman
    • Penyimpanan data sesi pengguna
    • Invalidasi sesi saat logout
    • Regenerasi token CSRF saat logout

    Integrasi dengan Sistem

    Konfigurasi UIM

    Modul ini dapat dikonfigurasi untuk berintegrasi dengan User ID Management melalui variabel lingkungan berikut:

    • METHOD_AUTH: Mengatur metode autentikasi ('uim' atau default)
    • IP_USER_MANAGER: Alamat IP server UIM
    • PORT_USER_MANAGER: Port server UIM
    • APP_ID: ID aplikasi untuk autentikasi di UIM

    Integrasi dengan Modul Lain

    • Usermanagement: Menggunakan model User untuk penyimpanan dan manajemen data pengguna
    • Basicdata: Menggunakan model Branch untuk mengaitkan pengguna dengan cabang berdasarkan data dari UIM

    Persyaratan Sistem

    • Laravel 12
    • PHP 8.3 atau lebih tinggi
    • Koneksi ke server UIM (opsional, tergantung konfigurasi)
    Downloads