GitHub Uygulamaları vs. OAuth Uygulamaları: Doğru GitHub bağlantısını seç
Logto entegrasyonu için GitHub Uygulamaları ile OAuth Uygulamaları'nı karşılaştır. Güvenlik, izinler, token yönetimi gibi temel farkları öğren ve uygulaman için doğru GitHub kimlik doğrulama yöntemini seç.
GitHub kimlik doğrulamasını Logto uygulamana entegre ederken iki seçeneğin var: GitHub Uygulamaları ve GitHub OAuth Uygulamaları. Her ikisi de "GitHub ile giriş" özelliğini etkinleştirir, ancak güvenlik, token yönetimi ve API erişimi açısından temelde farklı deneyimler sunar. Bu rehber, temel farkları anlamana ve kullanım durumuna göre doğru yaklaşımı seçmene yardımcı olacak.
Logto'nun mevcut dokümantasyonu, sosyal giriş için bir GitHub OAuth Uygulaması kurmanı adım adım anlatır. Bu, temel kimlik doğrulama ihtiyaçları için harika çalışan daha basit ve doğrudan bir seçenektir. Ancak, GitHub Uygulamaları, GitHub tarafından önerilen modern yaklaşımdır ve gelişmiş güvenlik özellikleri ve daha ayrıntılı kontrol sunar.
Bunu şöyle düşünebilirsin: OAuth Uygulamaları birine evinin anahtarını vermek gibidir—yetki verildikten sonra geniş erişim kazanırlar. GitHub Uygulamaları ise akıllı kilit sistemi gibi, farklı odalar için özel erişim kodlarıyla—kullanıcılar uygulamanın tam olarak neye erişmesi gerektiğini hassas bir şekilde belirleyebilirler.
OAuth Uygulamaları geniş kapsamlar kullanır—repo istemek tüm depo üzerinde tam kontrol verir.
GitHub Uygulamaları hassas izinler kullanır—"Issues: Sadece Oku" gibi bir izin isteyebilirsin, koda hiç dokunmadan. Kullanıcılar kurulum sırasında belirli depoları seçebilir, toplu erişim vermek zorunda değiller.
OAuth Uygulamaları her zaman yetkilendiren kullanıcı olarak hareket eder (örneğin, @octocat) ve onların oran sınırını paylaşır (5.000 istek/saat).
GitHub Uygulamaları kendi bot kimliğiyle bağımsız davranabilir (ör. @my-app[bot]) ve kullanım arttıkça ölçeklenen oran sınırlarından yararlanabilir—otomasyon için idealdir.
Erişim kontrolü: Hepsi ya da hiçbir şey vs. seçici#
OAuth Uygulamaları tüm erişilebilir kaynaklar için tek seferlik yetkilendirme gerektirir.
GitHub Uygulamaları kullanıcıların uygulamayı kurmasını, belirli depoları seçmesini ve izin değişikliğiyle ilgili webhook bildirimleri almasını sağlar—daha iyi şeffaflık ve kontrol sağlar.
OAuth Uygulamaları yetkilendiren kullanıcıya bağlıdır—o geliştirici erişimi kaybeder ya da organizasyondan ayrılırsa, uygulaman çalışmayı durdurur.
GitHub Uygulamaları uygulamayı kuran geliştirici organizasyondan ayrılsa bile çalışmaya devam eder—otomasyon ve entegrasyonlarda kesintisiz hizmet sağlar.
Hem GitHub Uygulamaları hem de OAuth Uygulamaları, Logto'nun sosyal bağlayıcısıyla sorunsuz çalışır. Logto'nun Secret Vault özelliği, her iki entegrasyondan gelen tokenları güvenli şekilde tutar fakat her biri farklı bir deneyim sunar:
Sadece kullanıcıları kimlik doğrulaman (GitHub ile Giriş) gerekiyorsa ve sonradan GitHub API'lerini çağırmayacaksan, OAuth Uygulaması yolu en hızlısıdır:
Basit kurulum: kullanıcılar OAuth Uygulamanı yetkilendirir ve GitHub ile giriş yapar.
Tokenlar uzun ömürlüdür (yenileme yoktur): Logto erişim tokenını Secret Vault'ta saklayabilir, fakat yenileme akışı yoktur — tokenler iptal edilene kadar geçerlidir.
Sadece kullanıcı kimliği (e-posta, ad, avatar) gerektiğinde ve otomatik API işlemleri yapılmayacaksa en iyi seçimdir.
Neden seçmeli: Sadece giriş ve ara sıra profil eşitlemesi isteyen prototipler ya da uygulamalar için en hızlı uygulamadır.
Uygulamanın GitHub API'lerine sürekli erişime, arka plan otomasyonuna ya da daha sıkı güvenliğe ihtiyacı varsa GitHub Uygulamasını seç:
Hassas izinler ve her kurulumda depo seçme özelliği ile erişimi minimumda ve denetlenebilir tutar.
Tokenlar kısa ömürlüdür (genellikle 1 saat) ve GitHub Uygulamaları yenileme tokenı sağlayabilir; etkinleştirildiğinde, Logto hem erişim hem de yenileme tokenlarını Secret Vault'a kaydeder ve döngüyü yönetir, böylece arka ucun yeniden giriş gerektirmeden çalışmaya devam eder.
Uygulama kimliği (bot) atfı iyileştirir ve ölçeklenebilir oran sınırları ağır otomasyonda daha güvenilirlik sunar.
En iyi kullanım alanları:
Kullanıcı adına GitHub depolarını yöneten SaaS platformları
Kod, issue veya pull requestlerle etkileşim kuran AI ajanları
GitHub Uygulaması kurmak, birkaç önemli fark haricinde OAuth Uygulamaları ile aynı kalıbı takip eder. OAuth Uygulamasından GitHub Uygulamasına geçiş ise minimum çaba gerektirir.
GitHub API'lerine erişim gerekiyorsa "Tokenları kalıcı API erişimi için sakla" seçeneğini etkinleştir
Kritik fark - Kapsamlar (Scopes):
OAuth Uygulamalarında olduğu gibi Logto'da kapsam eklemen gerekmez, GitHub Uygulaması izinlerini GitHub Uygulaması ayarından seçersin.
Logto'da kapsam alanını boş bırak
Yenileme tokenı iste (isteğe bağlı)
Logto'da kapsam alanına offline_access ekle, böylece yenileme tokenı etkin olur
GitHub otomatik olarak bir yenileme tokenı verir ve Logto hem erişim hem de yenileme tokenlarını Secret Vault'ta saklayıp döngüyü yönetir
Not: OAuth Uygulamaları yenileme tokenı desteklemez—erişim tokenları hiç süresi dolmaz, bu yüzden offline_access uygulanmaz. GitHub Uygulamaları ile entegrasyonda durum farklıdır.
OAuth Uygulamaları temel kimlik doğrulama için hâlâ geçerli bir seçenek olmakla birlikte, GitHub Uygulamaları GitHub entegrasyonlarının geleceğini temsil eder. Token süresi sonlandırma, daha hassas izin modelleri ve kullanıcıların erişimlerini daha iyi kontrol edebilmesi sayesinde üstün güvenlik sunar.
Logto kullanıcıları için her iki seçenek de sosyal bağlayıcı ile kullanılabilir. Seçim tamamen senin ihtiyacına bağlı:
Sadece doğrulama gerekiyorsa OAuth Uygulamaları ile başla
API erişimi, otomasyon ya da gelişmiş güvenlik gerekirse GitHub Uygulamalarına geç
Ve unutma—Logto'nun Secret Vault'u ve otomatik token yenileme özellikleriyle GitHub Uygulaması tokenlarını yönetmek, OAuth Uygulamaları kadar kolay ve ekstra güvenlikten ödün vermez. İster AI kod asistanı, ister bir proje yönetim platformu, ister bir geliştirici verimlilik aracı oluşturuyor ol, artık Logto uygulaman için doğru GitHub entegrasyonunu seçebilecek bilgiye sahipsin.