Skip to content
smallPict
Mulai Gratis

Aktivasi OTP Tanpa Password

Cara SmallPict menggunakan One-Time Password (OTP) yang aman untuk aktivasi situs WordPress tanpa password.

SmallPict meniadakan sistem kredensial username/password tradisional dan menggantinya dengan mekanisme otentikasi One-Time Password (OTP).

Hal ini menjamin keamanan maksimal terhadap serangan credential stuffing sekaligus memudahkan pemilik web menghubungkan WordPress mereka hanya dalam hitungan detik.


Arsitektur Keamanan

Alur verifikasi OTP menggunakan hashing kriptografis, masa berlaku (TTL) ketat, dan pelacakan percobaan atomik:

Parameter KeamananAturan Penegakan
Pembuatan KodeInteger 6 digit acak yang aman secara kriptografis
Keamanan PenyimpananKode OTP di-hash menggunakan SHA-256 sebelum disimpan ke database (tidak pernah disimpan sebagai teks biasa)
Masa Berlaku (TTL)Berlaku selama 5 menit (300 detik) sejak diterbitkan
Jeda Permintaan UlangMinimal jeda 60 detik sebelum dapat meminta kode baru
Batas PercobaanMaksimal 3 kali percobaan salah sebelum sesi dibatalkan otomatis
Pelacakan IPAlamat IP pemohon di-hash dan dipantau untuk perlindungan anti-bruteforce

Alur Autentikasi

1. Meminta Kode OTP

Saat admin situs memasukkan alamat email di halaman pengaturan WordPress, plugin memanggil endpoint publik:

POST https://api.smallpict.app/v1/plugin/auth/request-otp

JSON
{  "email": "admin@example.com",  "site_url": "https://example.com",  "consent": true}

SmallPict menghasilkan kode OTP, hanya menyimpan hash-nya, lalu mengirimkan kode tersebut ke alamat email yang Anda masukkan.

2. Memverifikasi Kode

Saat administrator memasukkan 6 digit kode OTP:

POST https://api.smallpict.app/v1/plugin/auth/verify-otp

JSON
{  "email": "admin@example.com",  "otp": "839201",  "site_url": "https://example.com"}

Setelah verifikasi sukses, SmallPict secara otomatis:

  1. Mendaftarkan akun customer baru jika ini adalah situs pertama pengguna.
  2. Menghasilkan API key terisolasi khusus untuk situs tersebut.
  3. Menyimpan kredensial secara aman di database opsi WordPress (wp_options).