📌 Next.js – Auth.js (NextAuth.js) ile Kimlik Doğrulama
Next.js projelerinde kullanıcı kimlik doğrulaması için NextAuth.js (yeni adı Auth.js) kullanılır. Server ve client taraflı güvenli oturum yönetimi sağlar.
1️⃣ Auth.js Genel Bilgiler
- Eski adı: NextAuth.js, yeni adı: Auth.js
- Kurulum:
npm install next-auth@beta
- Sağlayıcılarla (Google, GitHub, Discord vb.) entegrasyon mümkündür.
- Google, GitHub gibi sağlayıcılar için Client ID ve Client Secret gerekir. Bunlar
.env
dosyasına kaydedilir.
AUTH_GOOGLE_ID=xxx
AUTH_GOOGLE_SECRET=yyy
AUTH_GITHUB_ID=zzz
AUTH_GITHUB_SECRET=aaa
2️⃣ Dinamik Rotlar ve auth()
Fonksiyonu
auth()
fonksiyonu ile kullanıcı oturum bilgilerini her yerden çekebilirsiniz:
const session = await auth();
- Önemli: Bu fonksiyon çerezleri ve dinamik verileri kullanır, bu yüzden kullanıldığı rota dinamik olmalıdır.
- Statik olarak render edilemez.
3️⃣ Auth.js Yapılandırması ve Sağlayıcılar
- Sağlayıcılar (providers) dizisi ile hangi kimlik doğrulama seçeneklerinin kullanılacağı tanımlanır.
callbacks
ile oturum doğrulama ve yetkilendirme işlemleri kontrol edilir.