For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /tr/docs/web/github-sign-in.md (or send Accept: text/markdown).
GitHub ile giriş ekleyin
Ortam başına bir GitHub OAuth App oluşturun ve GitHub ile devam et'i uygulamaya bağlayın.
Başlangıç seviyesinde izlenecek yol
Ön koşullar: web uygulaması yerelde çalışıyor ve gerçek hesaplar için geçiş yapılmış bir veritabanı. Bir GitHub hesabı gerekiyor — depoya sahip olan aynı hesap uygundur. Ücretsiz, ortam başına yaklaşık 5 dakika.
Kısa terimler: GitHub OAuth App, GitHub'ın kullanıcıları sizin için oturum açmasını sağlayan kayıttır. Çoğu sağlayıcının aksine, bir OAuth App tam olarak bir Authorization callback URL'sine izin verir — bu yüzden yerel (http://localhost:3000/…) ve üretim (https://yourdomain.com/…) her birinin kendi uygulamasına ihtiyacı vardır. Tek uygulamayı yeniden kullanıp geri çağrısını ileri geri düzenlemek her seferinde bir tarafı bozar.
1. Hesabınızın Developer settings'i altında yerel bir OAuth App oluşturun. 2. Client ID'sini kopyalayın ve bir Client Secret üretin. 3. Üç ortam değerini ayarlayın ve yeniden başlatın. 4. Canlıya geçmeden önce gerçek alan adınızla bir kez tekrarlayın.
Yerel OAuth App'i oluşturun
1. github.com adresini açın ve oturum açın. Sağ üst köşedeki profil fotoğrafınıza → Settings'e tıklayın.
2. Sol kenar çubuğunun altına kaydırın ve Developer settings → OAuth Apps → New OAuth App'i açın.
3. Application name: supastack local gibi bir şey — kullanıcılar bu adı GitHub'ın yetkilendirme sayfasında görür. Homepage URL: http://localhost:3000. Authorization callback URL: http://localhost:3000/api/auth/callback/github. Register application'a tıklayın.
4. Uygulamanın sayfasında Client ID'yi kopyalayın, Generate a new client secret'a tıklayın ve sırrı hemen kopyalayın — GitHub onu yalnızca bir kez gösterir, ancak istediğiniz zaman yenisini üretebilirsiniz.
Üretim OAuth App'ini oluşturun
Ürününüzün adı, Homepage URL https://yourdomain.com ve Authorization callback URL https://yourdomain.com/api/auth/callback/github ile aynı New OAuth App adımlarını tekrarlayın.
Her uygulamanın kimlik bilgilerini kendi ortamında tutun: yerel uygulamanın çifti apps/web/.env.local içinde, üretim uygulamasının çifti ana bilgisayarınızın sır deposunda yaşar. Yerel sır asla üretim yapılandırmasına ulaşmamalı ve tam tersi.
Değerleri uygulamaya ekleyin
Yerel uygulamanın kimlik bilgileriyle apps/web/.env.local içinde aşağıdaki üç satırı ayarlayın. AUTH_GITHUB_ENABLED=true düğmeyi açar; çift OAuth App'i tanımlar.
Client secret yalnızca sunucuda kalır — asla NEXT_PUBLIC_/EXPO_PUBLIC_ değişkenlerinde olmaz ve asla işlenmez. Düzenlemeden sonra geliştirme sunucusunu yeniden başlatın.
Başka yerde görebileceğiniz GITHUB_APP_* değerlerini yeniden kullanmayın — bunlar kullanıcı girişine değil, ilgisiz bir GitHub App entegrasyonuna aittir. İkinci bir referans isterseniz kitin docs/github-auth-setup.md dosyası bu akışın tamamını baştan sona anlatır.
# apps/web/.env.local — from the LOCAL OAuth App
AUTH_GITHUB_ENABLED=true
GITHUB_CLIENT_ID=your-oauth-app-client-id
GITHUB_CLIENT_SECRET=your-oauth-app-secretDoğrulayın ve sorun giderin
http://localhost:3000/auth adresini açın ve GitHub düğmesine tıklayın. github.com'da uygulamayı yetkilendirin ve oturum açmış olarak döndüğünüzü doğrulayın.
AUTH_GITHUB_ENABLED=true ayarlanana kadar /auth üzerindeki GitHub seçeneği görünür ancak devre dışı kalır — env dosyasındaki adları kontrol edin, ardından yeniden başlatın. Bayrağı hem GITHUB_CLIENT_ID hem de GITHUB_CLIENT_SECRET olmadan ayarlamak başlangıcı başarısız kılar ve eksik değişkeni adlandırır.
Geri çağrı uyumsuzluğu olağan hatadır: uygulamanın Authorization callback URL'si tam olarak {APP_URL}/api/auth/callback/github olmalıdır — protokol, ana bilgisayar, bağlantı noktası ve yol. Dağıtımdan sonraki bir redirect_uri hatası genellikle isteğin, APP_URL üretimi gösterirken yerel uygulamanın kimlik bilgilerine çarptığı veya tersi anlamına gelir.
Her env düzenlemesinden sonra geliştirme sunucusunu yeniden başlatın; değerler yalnızca başlangıçta okunur.