Ana içeriğe geç

SMS OTP Doğrulama

SMS OTP (Tek Kullanımlık Şifre), misafirlerin telefon numaralarıyla kimlik doğruladığı en yaygın kullanılan AnchorSpot yöntemidir. Kullanıcı deneyimi sade, kurulum hızlıdır ve Türkiye'deki 5651 uyumluluk gereksinimlerini karşılar.

Nasıl Çalışır?

Misafir → Telefon numarası girer → SMS gönderilir → OTP kodu girer → Bağlantı sağlanır
  1. Misafir captive portal'da telefon numarasını girer.
  2. AnchorSpot, VatanSMS API'si üzerinden OTP içeren bir SMS gönderir.
  3. Misafir aldığı kodu portal'a girer.
  4. Kod doğrulanır; MAC adresi kabul listesine eklenir ve oturum başlar.

API Akışı

OTP Talebi

curl -X POST https://<portal-host>/api/v1/hotspot-portal/sms/request \
-H "Content-Type: application/json" \
-d '{
"phone": "+905321234567",
"mac": "aa:bb:cc:dd:ee:ff",
"ssid": "Misafir-WiFi"
}'

Başarılı yanıt:

{ "status": "sent", "expires_in": 300 }

OTP Doğrulama

curl -X POST https://<portal-host>/api/v1/hotspot-portal/sms/verify \
-H "Content-Type: application/json" \
-d '{
"phone": "+905321234567",
"code": "4821",
"mac": "aa:bb:cc:dd:ee:ff"
}'

Başarılı yanıt:

{ "status": "authorized", "session_id": "sess_abc123", "redirect_url": "https://..." }

Konfigürasyon

AnchorSpot yönetim konsolunda Ayarlar → Kimlik Doğrulama → SMS bölümünden aşağıdaki parametreler yapılandırılır:

ParametreAçıklamaVarsayılan
SMS_PROVIDERSMS sağlayıcısı (vatansms, netgsm, twilio)vatansms
SMS_API_KEYSağlayıcı API anahtarı
SMS_SENDERGönderen adı / numarasıAnchorSpot
OTP_LENGTHKod uzunluğu (4–6 hane)4
OTP_EXPIRY_SECONDSKodun geçerlilik süresi300

:::tip VatanSMS Entegrasyonu VatanSMS varsayılan sağlayıcıdır. API anahtarını vatansms.com yönetim panelinden alabilirsiniz. Gönderen adının SMS operatörü tarafından onaylanmış olması gerekir. :::

Hız Sınırlama (Rate Limiting)

Kötüye kullanımı önlemek için aynı telefon numarasına 15 dakika içinde en fazla 3 OTP talebi gönderilebilir. Limit aşıldığında API şu yanıtı döner:

{ "error": "rate_limited", "retry_after": 847 }

retry_after değeri saniye cinsinden kalan bekleme süresini gösterir.

Uluslararası Numara Desteği

Telefon numaraları E.164 formatında kabul edilir (+[ülke kodu][numara]). Portal, Türkiye numaraları için 0 ile başlayan girişleri otomatik olarak +90 öneki ile normalize eder.

05321234567 → +905321234567

Uluslararası numaralar için SMS sağlayıcınızın yurt dışı gönderim iznine sahip olduğundan emin olun.

KVKK Uyumluluğu

:::info Kişisel Veri Koruma Telefon numaraları denetim kayıtlarında maskelenerek saklanır. Örneğin +905321234567 değeri loglarda +9053****567 olarak görünür. Ham numara yalnızca aktif oturum süresince şifreli olarak tutulur ve oturum kapandıktan sonra karıştırılmış (hashed) biçimde arşivlenir. :::

Sorun Giderme

OTP Gelmiyor

  • Telefon numarasının doğru formatta girildiğini kontrol edin.
  • VatanSMS panelinde gönderim geçmişini inceleyin; numara engellenmiş olabilir.
  • Operatör tarafından gönderen adı (sender ID) bloke edilmiş olabilir; alternatif bir gönderen adı deneyin.
  • Sunucu günlüklerinde SMS_PROVIDER bağlantı hatalarını arayın.

Hız Limiti Hatası

Kullanıcı 15 dakika beklemeli ya da Ayarlar → Kimlik Doğrulama → SMS → Rate Limit değeri geçici olarak artırılabilir. Üretim ortamında limitin düşürülmesi önerilmez.

Geçersiz Numara Formatı

Portal E.164 doğrulaması yapar. + olmayan veya çok kısa giriş yapıldığında kullanıcıya anlık hata mesajı gösterilir ve API çağrısı yapılmaz.

:::warning Güvenlik Notu OTP kodunu telefon ekranında başkasına göstermeyin. AnchorSpot hiçbir zaman SMS ile şifre veya OTP istemez; yalnızca siz talep ettiğinizde gönderir. :::