Türkçe
  • GitHub
  • Gizli kasa
  • Token saklama
  • OAuth
  • Sosyal giriş

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ç.

Ran
Ran
Product & Design

Kullanıcı kimlik doğrulamasına haftalar harcamayı bırakın
Logto ile güvenli uygulamaları daha hızlı yayınlayın. Kullanıcı kimlik doğrulamasını dakikalar içinde entegre edin ve temel ürününüze odaklanın.
Başlayın
Product screenshot

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.

Arkaplan: GitHub entegrasyonu için iki yol

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.

Temel farklara hızlı bakış

İzinler: Geniş vs. hassas

  • 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.

Token güvenliği: Kalıcı vs. süresi dolan

  • OAuth Uygulamaları hiçbir zaman süresi dolmayan tokenlar oluşturur (elle iptal edilene kadar) ve otomatik yenileme mekanizması yoktur.
  • GitHub Uygulamaları kısa ömürlü tokenlar kullanır (1 saatlik) ve otomatik yenileme desteği sunar—uzun süreli uygulamalar için çok daha güvenlidir.

Kimlik: Kullanıcı vs. bot

  • 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.

Kalıcılık: Kullanıcıya bağlı vs. bağımsız

  • 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.

Hangisini seçmeli?

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:

OAuth Uygulamaları ile temel sosyal giriş

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.

GitHub Uygulamaları ile gelişmiş entegrasyon

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ı
  • Sürekli API erişimi gereken uygulamalar
  • Arka planda otomasyon görevleri yapan araçlar

Logto ile GitHub Uygulaması kurmak

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 Uygulaması oluşturma

  1. "GitHub Ayarları > Geliştirici ayarları > GitHub Uygulamaları"na git

  2. "Yeni GitHub Uygulaması"na tıkla

  3. Şunları yapılandır:

    • GitHub Uygulama ismi: Uygulamanın benzersiz ismi
    • Ana sayfa URL'si: Uygulamanın web sitesi
    • Callback URL: Logto bağlayıcının callback URI'si (OAuth Uygulaması ile aynı)
    • Kurulum sırasında kullanıcı yetkilendirmesini (OAuth) iste: Bunu etkinleştir
    • Webhook: İhtiyacına göre isteğe bağlı
    • İzinler: Hassas izinler seç (ör. "Issues: Sadece Oku")
    • Kullanıcı izinleri: Kullanıcılar adına işlem yapılacaksa hesap izinleri ekle
  4. Bir istemci sırrı oluştur (OAuth Uygulaması ile aynı)

integrate-github-apps.png

Logto'da yapılandırma

Logto bağlayıcı ayarı neredeyse aynıdır:

  1. GitHub Uygulamasından İstemci ID'yi gir
  2. İstemci sırrını ekle
  3. GitHub API'lerine erişim gerekiyorsa "Tokenları kalıcı API erişimi için sakla" seçeneğini etkinleştir
  4. 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
  5. 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.

integrate-github-connector-in-logto.png

Sonuç

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.

Hazır mısın? Logto'nun GitHub bağlayıcısına göz at ve GitHub kimlik doğrulamasını bugün entegre etmeye başla.

Ek kaynaklar