Tim LessOTP

Kenapa Validasi Kepemilikan Nomor Itu Penting Banget di Auth

Pahami mengapa validasi format nomor tidak cukup dan kenapa bukti kepemilikan nomor via WhatsApp dan Telegram penting untuk keamanan auth.

AuthenticationPhone ValidationWhatsAppTelegramSecurity
Kenapa Validasi Kepemilikan Nomor Itu Penting Banget di Auth
Bagikan artikel:XThreads

Nomor Telepon Bukan Sekadar Field Kontak

Dalam flow autentikasi modern, nomor telepon sering dipakai sebagai identifier, recovery method, dan sinyal risiko. Karena itu, yang penting bukan hanya apakah format nomor valid, tetapi apakah pengguna yang sedang login benar-benar memiliki akses ke nomor tersebut.

Validasi kepemilikan nomor menjawab pertanyaan inti: apakah user yang mengklaim nomor ini bisa membuktikan kontrol atas channel resmi yang terhubung ke nomor tersebut? Tanpa bukti ini, aplikasi mudah menerima data palsu, nomor orang lain, atau nomor yang tidak lagi aktif.

Risiko Jika Hanya Validasi Format Nomor

Akun Terhubung ke Nomor Orang Lain

User bisa salah ketik atau sengaja memasukkan nomor pihak lain. Akibatnya, recovery dan notifikasi keamanan dapat terkirim ke orang yang salah.

Lead Berkualitas Rendah

Form signup bisa dipenuhi nomor acak yang terlihat valid secara format, tetapi tidak pernah bisa dipakai untuk login atau follow-up.

Fraud dan Abuse Lebih Sulit Difilter

Jika aplikasi hanya menyimpan string nomor tanpa bukti kepemilikan, bot lebih mudah membuat akun massal menggunakan data palsu.

Validasi Format vs Validasi Kepemilikan

AspekValidasi Format SajaValidasi Kepemilikan Nomor
Yang DibuktikanNomor terlihat seperti nomor teleponUser benar-benar mengontrol channel yang terhubung ke nomor itu
Kegunaan untuk AuthLemah: hanya cocok untuk sanitasi inputKuat: bisa dipakai untuk login, signup, recovery, dan step-up auth
Risiko TypoTetap tinggiRendah karena nomor berasal dari interaksi WhatsApp/Telegram resmi
Audit TrailHanya punya string nomor dari formPunya request_id, channel, timestamp, dan payload webhook terverifikasi

Bagaimana LessOTP Membuktikan Kepemilikan Nomor

LessOTP menggunakan inbound authentication agar bukti kepemilikan nomor datang dari tindakan pengguna di channel pesan resmi:

  • WhatsApp: user mengirim `/START {{unique_code}}` dari nomor WhatsApp aktif melalui jalur Official WhatsApp API Business Partner Kirimdev.
  • Telegram: user membuka bot, mengirim `/start {{unique_code}}`, lalu membagikan nomor melalui tombol resmi Share phone number. LessOTP menolak contact jika `contact.user_id` tidak cocok dengan `message.from.id`.
  • Strict Mode: nomor yang sudah ada di database wajib cocok dengan nomor inbound yang terbukti.
  • Frictionless Mode: nomor terverifikasi dari inbound dipakai untuk membuat akun baru tanpa input nomor manual.

Pastikan nomor user benar-benar dimiliki, bukan sekadar valid formatnya

Coba flow LessOTP di staging untuk melihat bagaimana request_id, channel, phone_number, dan signed webhook bekerja bersama.

Uji Validasi Nomor di Staging
Bagikan artikel:XThreads