Auth Utility di Elysia-Light

Auth Utility di Elysia-Light menyediakan mekanisme autentikasi berbasis access token yang sederhana, eksplisit, dan siap untuk kebutuhan production. Utility ini tidak bergantung pada session server-side, sehingga cocok untuk API, mobile app, dan SPA.

Konsep Dasar Autentikasi

Elysia-Light menggunakan pendekatan token-based authentication. Token disimpan di database dalam bentuk hash, sementara client hanya memegang token plain. Setiap request diverifikasi dengan mencocokkan hash token di database.

createAccessToken

Digunakan untuk membuat access token baru untuk user. Token yang dikembalikan ke client terdiri dari id token dan plain token yang digabungkan.
Kode berhasil di copy!
5

Format Token

Access token memiliki format id|plain-token. Bagian id digunakan untuk mempercepat pencarian record token di database, sedangkan plain-token digunakan untuk verifikasi hash.
Kode berhasil di copy!
5

verifyAccessToken

Digunakan untuk memverifikasi access token yang dikirim oleh client. Jika token valid, method ini akan mengembalikan data user dan metadata token.
Kode berhasil di copy!
5

revokeAccessToken

Digunakan untuk mencabut access token tertentu. Biasanya dipanggil saat logout atau ketika token perlu dinonaktifkan.
Kode berhasil di copy!
5

Integrasi dengan Middleware

Auth utility biasanya dipanggil di middleware atau socket auth untuk memverifikasi user sebelum request atau event diproses.
Kode berhasil di copy!
5

createUserMailToken

Digunakan untuk membuat token verifikasi berbasis email, biasanya untuk verifikasi akun atau reset password. Token ini bersifat sementara dan memiliki masa berlaku terbatas.
Kode berhasil di copy!
5

verifyUserMailToken

Digunakan untuk memverifikasi token email. Token hanya berlaku dalam jangka waktu tertentu dan hanya dapat digunakan satu kali.
Kode berhasil di copy!
5

Best Practice

Selalu gunakan HTTPS untuk pengiriman token. Simpan token di client secara aman. Gunakan revokeAccessToken saat logout. Untuk proses berat seperti email verification, kombinasikan Auth utility dengan queue.