Ana içeriğe geç

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

ÖzellikNe YaparÖrnek Kullanım
🔐 Kullanıcı KaydıYeni kullanıcı hesapları oluştururKayıt formu
🚪 Giriş/ÇıkışKullanıcıları kimlik doğrularGiriş sayfası
🔑 Şifre YönetimiŞifreleri değiştirme ve sıfırlamaŞifre unuttum akışı
🎫 Token YönetimiKullanıcıları güvenli bir şekilde oturumda tutarOtomatik yenileme oturumları
✉️ E-posta DoğrulamaAktivasyon kodları gönderirKayıttan sonra e-postayı doğrula
🌍 Çok DilliFarklı dilleri desteklerUluslararası 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öntemNe YaparNe 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