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 tutma - 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 işleri yapar!

Kullanıcı kimlik doğrulama yönetimini sıfırdan oluşturmanın sorunları:

❌ Şifre karma yok
❌ Doğrulama yok
❌ Çift 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
  • Çift kontrolü yapar
  • 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ştirir ve sıfırlarŞifre unuttum akışı
🎫 Token YönetimiKullanıcıları güvenli bir şekilde oturumda tutarOtomatik oturum yenileme
✉️ E-posta DoğrulamaAktivasyon kodları gönderirKayıttan sonra e-postayı doğrula
🌍 Çok DilliFarklı dilleri desteklerUluslararası uygulamalar

Sistem, birden fazla kullanıcı kimlik doğrulama sağlayıcısını destekler: giriş+şifre ve OAuth.

E-posta doğrulama ile kimlik doğrulama akışı örneği

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'ını 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
(Süresi dolmuş mu, 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, email e-posta sağlayıcısı için).

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), admin panelinde yapılandırılır

    • API istekleri için kullanılır
    • Güvenlik için kısa ömürlü
  • Yenileme Token'ı 🔄 - Bir sezonluk geçiş 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, süresi kısa sürede 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 Yapar
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 kimlik doğrulama sağlayıcı nesnesini işaretçi ile 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.
oauth()Kullanıcı kaydı (yetkilendirme) OAUTH ile.
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ı depolamak
  • Süresi dolmuş token'ları yenilemek
  • API istekleri ile token'ları göndermek

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 neyi 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 olarak oturumda kalır!


Güvenli mi?

Evet! OneEntry şunları kullanır:

  • 🔒 HTTPS şifreleme
  • 🎫 JWT token'ları (endüstri 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