Giriş
Kullanıcı kimlik doğrulama ve kayıt işlemleri kolaylaştırıldı.
🎯 Bu modül ne yapar?
AuthProvider modülü, kullanıcı kimlik doğrulama ile ilgili her şeyi - giriş yapma, kayıt olma, şifre yönetimi ve güvenli bir şekilde oturum açık kalma - yönetir.
Bunu uygulamanızın güvenlik görevlisi olarak düşünün - kimlerin kim olduğunu kontrol eder, yetkili kullanıcıları içeri alır ve kötü niyetli kişileri dışarıda tutar.
📖 Basit Açıklama
Kullanıcılar şunları yapmak istediklerinde:
- 👤 Kullanıcı Kaydı - Yeni kullanıcı hesapları oluşturma
- 🔐 Kimlik Doğrulama - Giriş ve oturum yönetimi
- 🔑 Şifre değiştirme
- 🚪 Güvenli bir şekilde çıkış yapma
- ✉️ E-postayı doğrulama aktivasyon kodları ile
- 🔒 Güvenlik - Şifre karma, token yönetimi
...bu modül tüm ağır yükü üstlenir!
Kullanıcı kimlik doğrulama yönetimini sıfırdan oluşturmanın sorunları:
❌ Şifre karma yok
❌ Doğrulama yok
❌ Tekrar kontrol yok
❌ E-posta doğrulama yok
❌ Güvensiz şifre karşılaştırması
❌ Oturum yönetimi yok
❌ Hız sınırlaması yok
Sorunlar:
- 🔒 Güvensiz - Şifre karma yok, saldırılara açık
- 📋 Doğrulama yok - Kötü veriler depolanabilir
- 🔄 Kimlik doğrulama yok - Oturum veya token yok
- 💾 Kalıcılık yok - Yeniden başlatıldığında veriler kaybolur
AuthProvider çözümü:
✅ İyi - Güvenli kimlik doğrulama yönetimi
OneEntry otomatik olarak:
- Şifreyi güvenli bir şekilde karma yapar
- E-posta formatını doğrular
- Tekrarları kontrol eder
- Kullanıcı verilerini kalıcı olarak depolar
- Kimlik doğrulama token'ları sağlar
Nasıl çalışır:
Kullanıcı kaydolur → AuthProvider hesap oluşturur → Aktivasyon kodunu e-posta ile gönderir ✅
Kullanıcı giriş yapar → AuthProvider kimlik bilgilerini doğrular → Erişim token'larını döner ✅
✨ Ana Özellikler
| Özellik | Ne Yapar | Örnek Kullanım |
|---|---|---|
| 🔐 Kullanıcı Kaydı | Yeni kullanıcı hesapları oluşturur | Kayıt formu |
| 🚪 Giriş/Çıkış | Kullanıcıları kimlik doğrular | Giriş sayfası |
| 🔑 Şifre Yönetimi | Şifreleri değiştirme ve sıfırlama | Şifre unuttum akışı |
| 🎫 Token Yönetimi | Kullanıcıları güvenli bir şekilde oturumda tutar | Otomatik yenileme oturumları |
| ✉️ E-posta Doğrulama | Aktivasyon kodları gönderir | Kayıttan sonra e-postayı doğrula |
| 🌍 Çok Dilli | Farklı dilleri destekler | Uluslararası uygulamalar |
Kimlik Doğrulama Akışı
1. Kullanıcı e-posta + şifre girer
↓
2. auth() çağrılır
↓
3. OneEntry kimlik bilgilerini doğrular
(Karma yapılmış şifreleri karşılaştırır)
↓
4. Kimlik doğrulama token'ı döner
(JWT veya oturum token'ı)
↓
5. Token istemci tarafında depolanır
(localStorage, çerez, bellek)
↓
6. Token isteklerle gönderilir
(Yetkilendirme başlığı)
↓
7. Token sunucu tarafından doğrulanır
(Son kullanma tarihi, imza kontrolü)
📋 Bilmeniz Gerekenler
Kimlik Doğrulama Sağlayıcıları
OneEntry, kimlik doğrulamak için farklı yolları destekler:
- E-posta (en yaygın) - geleneksel e-posta/şifre
- Telefon (SMS) - telefon numarası ile kimlik doğrulama
- Sosyal (OAuth) - Google, Facebook, vb.
Her sağlayıcının bir işareti vardır (örneğin, e-posta sağlayıcısı için email).
Token'lar Basitçe Açıklandı
Bir kullanıcı giriş yaptığında, iki token alır:
-
Erişim Token'ı 🎫 - Bir sinema bileti gibi (hızla süresi doluyor, ~15 dakika)
- API istekleri için kullanılır
- Güvenlik için kısa ömürlü
-
Yenileme Token'ı 🔄 - Bir sezon bileti gibi (daha uzun sürer)
- Yeni erişim token'ları almak için kullanılır
- Günler/haftalar boyunca geçerlidir
Neden iki token? Güvenlik! Eğer biri erişim token'ını çalarsa, kısa sürede süresi doluyor.
Form Alanları
Kullanıcıları kaydederken veya güncellerken, form verilerini şu şekilde gönderirsiniz:
marker- Alan adı (örneğin, "email", "password", "firstName")type- Veri türü (örneğin, "string", "number", "image")value- Gerçek değer
📊 Hızlı Referans Tablosu - Yaygın Yöntemler
| Yöntem | Ne Yapar | Ne Zaman Kullanılır |
|---|---|---|
| auth() | Kullanıcıları kimlik doğrulamanızı sağlar. | |
| changePassword() | Kullanıcı şifresini değiştirir. | |
| checkCode() | Kullanıcı aktivasyon kodunu kontrol eder. | |
| generateCode() | Kullanıcıyı aktifleştirmek için kod alır. | |
| getActiveSessionsByMarker() | Aktif kullanıcı oturum verilerini alır. | |
| getAuthProviderByMarker() | Bir işaret ile bir kimlik doğrulama sağlayıcı nesnesi alır. | |
| getAuthProviders() | Tüm kimlik doğrulama sağlayıcı nesnelerini alır. | |
| logout() | Kullanıcı hesabından çıkış yapar. | |
| logoutAll() | Tüm cihazlarda kullanıcı hesabından çıkış yapar. | |
| oauthSignUp() | OAUTH aracılığıyla kullanıcı kaydı (yetkilendirme). | |
| refresh() | Kullanıcı token'larını günceller. | |
| signUp() | Kullanıcı kaydı. |
❓ Sıkça Sorulan Sorular (SSS)
Token'ları manuel olarak yönetmem gerekir mi?
Hayır! SDK token'ları otomatik olarak yönetir. Sadece yöntemleri çağırın ve SDK şunları halleder:
- Token'ları depolama
- Süresi dolmuş token'ları yenileme
- API istekleri ile token'ları gönderme
Sayfa yenileme sonrası kullanıcıları nasıl oturumda tutarım?
SDK'yı saveFunction ile yapılandırın:
const { AuthProvider } = defineOneEntry("your-url", {
token: "your-token",
auth: {
refreshToken: localStorage.getItem('refreshToken'),
saveFunction: (token) => localStorage.setItem('refreshToken', token)
}
});
Giriş ile e-posta arasındaki fark nedir?
login- e-posta veya kullanıcı adı olabilir (her neyse kimlik doğrulama sağlayıcınız kabul ediyorsa)email- her zaman bir e-posta adresidir
Sosyal giriş (Google, Facebook) kullanabilir miyim?
Evet! OneEntry admin panelinde OAuth sağlayıcılarını ayarlayın, ardından oauthSignUp() yöntemini kullanın.
Hataları nasıl yönetirim?
Çağrıları try/catch içinde sarın:
try {
// Başarılı!
} catch (error) {
// Hata!
}
Erişim token'ı süresi dolduğunda ne olur?
SDK otomatik olarak yenileme token'ını kullanarak yeni bir erişim token'ı alır. Kullanıcılarınız kesintisiz bir şekilde oturumda kalır!
Güvenli mi?
Evet! OneEntry şunları kullanır:
- 🔒 HTTPS şifrelemesi
- 🎫 JWT token'ları (sektör standard ı)
- 🔄 Kısa ömürlü erişim token'ları
- 🔐 Güvenli şifre karma
- ✉️ E-posta doğrulama
Modülün kullanıcı arayüzü hakkında daha fazla bilgi https://doc.oneentry.cloud/docs/users/auth_provider
AuthProvider modülünün tanımı
const { AuthProvider } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
🔗 İlgili Belgeler
- Kullanıcılar Modülü - Kullanıcı profilleri ve verilerini yönetin
- Formlar Modülü - Kayıt/giriş formları oluşturun
- FormData Modülü - Form gönderimlerini yönetin