Kimlik Doğrulama
API v1 tüm endpoint'lerinde API token tabanlı kimlik doğrulama kullanır.
API Token Nedir?
API token'ları, sisteminize programatik erişim sağlamak için kullanılan güvenli anahtarlardır. Her token belirli izinlere sahip olabilir ve belirli bir mekan (venue) ile sınırlandırılabilir.
Token Oluşturma
API token'ları admin panelinden oluşturulur:
- Admin paneline giriş yapın
- Ayarlar > API Erişimi bölümüne gidin
- Yeni Token Oluştur butonuna tıklayın
- Token için bir isim verin
- İzinleri seçin (read, write, delete)
- İsteğe bağlı olarak belirli bir mekan ile sınırlandırın
- Token'ı güvenli bir yerde saklayın (sadece bir kez gösterilir)
Token Kullanımı
Authorization Header
Tüm API isteklerinde token'ı Authorization header'ında Bearer formatında gönderin:
Authorization: Bearer your-api-token-here
cURL Örneği
curl -X GET "http://localhost:3000/api/v1/hotspot-users?venueId=507f1f77bcf86cd799439011" \
-H "Authorization: Bearer your-api-token-here"
JavaScript Örneği
const response = await fetch('http://localhost:3000/api/v1/hotspot-users?venueId=507f1f77bcf86cd799439011', {
headers: {
'Authorization': 'Bearer your-api-token-here',
'Content-Type': 'application/json'
}
});
const data = await response.json();
Python Örneği
import requests
headers = {
'Authorization': 'Bearer your-api-token-here',
'Content-Type': 'application/json'
}
response = requests.get(
'http://localhost:3000/api/v1/hotspot-users',
headers=headers,
params={'venueId': '507f1f77bcf86cd799439011'}
)
data = response.json()
İzin Seviyeleri
API token'ları üç farklı izin seviyesine sahip olabilir:
Read (Okuma)
GETendpoint'lerini kullanabilir- Veri listeleme ve görüntüleme işlemleri yapabilir
- Veri değiştiremez
Write (Yazma)
GETvePOST,PUTendpoint'lerini kullanabilir- Yeni kayıt oluşturabilir
- Mevcut kayıtları güncelleyebilir
- Kayıt silemez
Delete (Silme)
- Tüm endpoint'leri kullanabilir
DELETEendpoint'lerini çağırabilir- Kayıt silebilir
Venue Sınırlaması
Token'lar belirli bir mekan veya mekanlar (venue & venues) ile sınırlandırılabilir. Bu durumda:
- Token sadece belirtilen venue & venues için kullanılabilir
- Farklı bir venue ID'si kullanılamaz
Token venue ile sınırlandırılmamışsa, tüm mekanlarda yetki sahibi olur
Hata Durumları
401 Unauthorized
Token eksik veya geçersiz olduğunda:
{
"success": false,
"message": "Unauthorized"
}
Çözüm:
- Token'ın doğru gönderildiğinden emin olun
- Token'ın geçerli olduğunu kontrol edin
- Token formatının
Bearer <token>şeklinde olduğunu doğrulayın
403 Forbidden
Token yeterli izne sahip olmadığında:
{
"success": false,
"message": "Forbidden"
}
Çözüm:
- Token'ın gerekli izinlere sahip olduğunu kontrol edin
- Admin panelinden token izinlerini güncelleyin
Güvenlik Önerileri
- Token'ı Güvenli Saklayın: Token'ları asla public repository'lere commit etmeyin
- Environment Variables: Token'ları environment variable olarak saklayın
- HTTPS Kullanın: Production ortamında mutlaka HTTPS kullanın
- Token Rotasyonu: Düzenli olarak token'ları yenileyin
- Minimum İzin Prensibi: Token'lara sadece gerekli minimum izinleri verin
- Token İzleme: Kullanılmayan token'ları silin
Token Yönetimi
Admin panelinden:
- Mevcut token'ları görüntüleyebilirsiniz
- Token izinlerini güncelleyebilirsiniz
- Token'ları silebilirsiniz
- Token kullanım istatistiklerini görüntüleyebilirsiniz
Sonraki Adımlar
- Hotspot Kullanıcıları - Kullanıcı yönetimi endpoint'leri
- API Referansı - Tüm endpoint'lerin detaylı listesi