03 · Kimlik

Kendi veritabanında yaşayan kimlik.

Kullanıcılarını e-posta + parola, sihirli bağlantı ya da passkey ile içeri al. Kayıtları senin Postgres’ine düşer: uygulama tablolarınla düz SQL’de join edersin. MAU başına fatura yok, SSO vergisi de yok. Dışarıdaki bir tedarikçiyle senkron tutacağın bir şey kalmaz, çünkü burada deploy ettiğin uygulama ve veritabanına zaten bağlı.

Giriş yöntemleri

İçeri girmenin her yolu, bugün hazır

Hepsi bugün çalışıyor. Her birini proje bazında panelden aç ya da kapat.

E-posta + parola

Parolalar bcrypt ile hashlenir, tekrarlı hatadan sonra kilitlenir ve parola sıfırlama tek-kullanımlık bir bağlantı üzerinden yapılır. Hiçbiri elle örülmedi.

Sihirli bağlantı

Resend üzerinden gönderilen tek-kullanımlık bir giriş bağlantısı, oran-sınırlı. Kısa sürede geçersiz olur, tıklandıktan sonra bir daha kullanılamaz.

Passkey (WebAuthn)

Touch ID, Face ID ya da bir güvenlik anahtarıyla, alan adına bağlı biçimde giriş yap. Kullanıcı başına birden çok passkey, yedek olarak da sihirli bağlantı.

OAuth sosyal (Google, GitHub)

PKCE + state üzerinden Google ya da GitHub ile giriş yap. Bir sosyal kimliği mevcut bir hesaba yalnızca sağlayıcı-doğrulanmış e-postada bağlarız. Hesap ele geçirme yolu kalmaz.

İki faktör (kimlik doğrulayıcı uygulama)

Kullanıcılar bir TOTP kimlik doğrulayıcı (RFC 6238) artı tek-kullanımlık kurtarma kodları ekler. Etkinleştirildikten sonra ikinci faktör her girişte istenir: parola, sihirli bağlantı ya da sosyal. Sırlar saklanırken şifreli, kodlar hash’li ve tek-kullanımlıktır.

Organizasyonlar & ekipler

Kendi uygulaman için çok-kiracılı B2B: kullanıcılar organizasyon oluşturur, ekip arkadaşlarını tek-kullanımlık bağlantılarla e-postayla davet eder, sahip / yönetici / üye rolleri taşır. Aktif organizasyon erişim token’ında taşınır. Arka ucun ekstra çağrı yapmadan organizasyon bazında yetkilendirir ve her sorgu proje ile organizasyon üyeliğini yeniden doğrular.

Senin verin, senin veritabanın

Kullanıcıların kendi Postgres’inde yaşar.

auth_users, auth_sessions ve auth_passkeys tabloları projenin kendi Postgres’inde oluşturulur: zaten sahip olduğun aynı veritabanı. Onları başka herhangi bir tablo gibi sorgula ve join et. Tedarikçi kilidi yok, kendi kullanıcılarını geri almak için dışa aktarma işi yok.

  1. auth_users’ı uygulama tablolarınla tek bir SQL sorgusunda join et: sayfalanacak bir kullanıcı-listesi API’si yok, senkron tutulacak bir webhook aynası yok.

  2. project_id ile anahtarlanan proje bazında izolasyon. Bir projedeki kullanıcı bir başkasına asla ulaşamaz. Auth tabloları tarayıcıya asla açılmaz, erişim kimlik API’si üzerinden gider.

  3. Oturumlar kısa bir JWT artı dönen bir yenileme token’ıdır, tek tek ya da tümü birden panelden iptal edilebilir.

psql
-- auth_users lives in YOUR project's Postgres.
-- Join it with your own tables in plain SQL:
SELECT u.email, count(o.id) AS orders
FROM   auth_users u
JOIN   orders o ON o.user_id = u.id
WHERE  u.status = 'active'
GROUP  BY u.email
ORDER  BY orders DESC;

Kilitlenmeden Supabase eşdeğeri: kimlik verin bir tedarikçide değil, senin veritabanında.

SDK

Tek arka uç SDK: @primdb/auth-node

Proje id’ine yönlendir ve giriş çağır. Aynı istemci e-posta + parola, sihirli bağlantı, passkey, oturumlar ve sunucu tarafı istek doğrulamayı kapsar.

auth.ts
import { createPrimDBAuth } from '@primdb/auth-node'

export const auth = createPrimDBAuth({
  projectId: process.env.PRIMDB_PROJECT_ID,
})

// One API for email + password, magic link, or passkey:
const { user, session } = await auth.signIn.emailPassword({
  email: 'ada@example.com',
  password: '••••••••',
})

// Validate a request on your server. No DB call for a valid JWT:
const current = await auth.validateRequest(request)

MVP SDK’sı arka uç paketidir: @primdb/auth-node. Hazır React bileşenleri ve barındırılan bir giriş widget’ı Phase 2 yol haritasında, henüz gelmedi.

Nasıl kıyaslanır

Fiyatı hesaplanacak bir başka kimlik tedarikçisi değil

Clerk ve Auth0 aylık aktif kullanıcı başına ölçer ve SSO’yu kurumsal katmanın arkasına kilitler. Supabase Auth kullanıcılarını kendi platformunda tutar. PrimDB Auth ikisini de yapmaz.

PrimDB AuthClerkAuth0Supabase Auth
MAU başına fiyat yokKatmanlı
MAU başına SSO vergisi yok (sabit eklenti)Sabit eklentiEklenti
Kullanıcılar senin Postgres’inde
AB’de barınır (ABD değil, Vercel değil)
Uygulaman ve veritabanına zaten bağlıAynı yığın
OAuth sosyal (Google, GitHub)
İmzalı kimlik olay webhook’ları + denetim kaydı
İki faktör (TOTP) + kurtarma kodları
Organizasyonlar & ekipler (roller + davetler)Kurumsal
Son kullanıcıların için uygulama SSO / SAMLSabit eklentiKurumsalKurumsal

Kimlik, sabit $20 platforma dahildir. Lansmanda MAU başına uçurum yok. Kendi son kullanıcıların için kurumsal SAML girişi, koltuk başına kurumsal katman değil, sabit bir eklentidir. Adil-kullanım tavanı sonra sabit bir paket olarak gelir, kullanıcı başına sayaç olarak asla.

Yol haritası

Sırada gelen

Planlandı, henüz yayında değil. Olmayan bir özelliği var göstermektense küçük ve dürüst bir MVP çıkarmayı yeğleriz.

  • React bileşenleri ve barındırılan bir giriş widget’ı
  • Python ve Go arka uç SDK’ları

Bugün çalışanlar: e-posta + parola, sihirli bağlantı, passkey, OAuth sosyal (Google, GitHub), kurtarma kodlu iki faktör (kimlik-doğrulayıcı-uygulama TOTP), roller + davetlerle organizasyonlar & ekipler ve son kullanıcıların için uygulama SSO / SAML (sabit eklenti). Yukarıdaki her şey yol haritasında.

Kimlik soruları

Kullanıcılarımın kayıtları nerede yaşar?
Projenin kendi oluşturulan Postgres’inde, auth_users, auth_sessions ve auth_passkeys tablolarında. Onlara tam SQL erişimin var ve uygulama tablolarınla join edebilirsin. Tarayıcıya asla doğrudan açılmazlar.
MAU ya da koltuk başına ücret var mı?
Hayır. Kimlik, sabit $20 platforma dahildir: aylık aktif kullanıcı başına sayaç yok, MVP’de SSO vergisi yok. Adil-kullanım tavanı sonra sabit bir paket olarak gelir, kullanıcı başına uçurum olarak asla.
Bugün hangi giriş yöntemleri çalışıyor?
E-posta + parola, Resend üzerinden sihirli bağlantı, passkey / WebAuthn, OAuth sosyal (Google, GitHub), kurtarma kodlu iki faktör (kimlik-doğrulayıcı-uygulama TOTP), organizasyonlar & ekipler (roller + e-posta davetleri) ve son kullanıcıların için uygulama SSO / SAML (sabit eklenti). Hepsi bugün çalışıyor.
Nasıl entegre ederim?
@primdb/auth-node arka uç SDK’sı ile: istemciyi proje id’inle oluştur, sonra sign-in ve validateRequest çağır. React bileşenleri ve barındırılan widget Phase 2, yani MVP entegrasyonu sunucu tarafındadır.
Nerede barınır?
AB’de, Hetzner üzerinde, proje bazında izolasyonla. ABD değil, Vercel değil. PrimDB’de deploy ettiğin uygulama ve veritabanının zaten yanında.

Uygulamana sende kalan bir kimlik ver.

E-posta, sihirli bağlantı ve passkey, kullanıcıların kendi Postgres’inde. Sabit $20’ye dahil, başlaması ücretsiz.