• sürüm
  • API SDK
  • Kasa
  • hesap API'si

Logto ürün güncellemeleri

🎉 Temmuz sürümümüzü tanıtıyoruz: Logto API SDK'sı, Federasyonlu token depolama için Gizli kasa, Hesap API'si ile TOTP ve Yedek Kodları yönetme ve çok daha fazlası!

Simeng
Simeng
Developer

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

Logto API SDK'sı

Logto'nun Yönetim API'si ile istemci kimlik bilgileri doğrulaması kullanarak etkileşim kurmak için bir TypeScript SDK'sı.

Nasıl çalışır:

  1. Logto Konsolu'nda bir makineden makineye uygulama oluştur.
  2. Uygulamaya Yönetim API'sine erişim izni ver.
  3. SDK'yı npm ile kur: npm install @logto/api
  4. Uygulamanın kimlik bilgileri ile tipli bir Yönetim API istemcisi oluşturmak için createManagementApi() kullan.

Öne çıkanlar:

  • OAuth token kimlik doğrulamasını ve yenilemeyi otomatik olarak yönetir.
  • Hem Logto Cloud'u hem de kendi barındırılan instance'ları destekler.
  • Logto'nun Yönetim API'si ile entegrasyonu sadeleştirir, böylece düşük seviyeli API isteklerini yönetmek yerine özellikler geliştirmeye odaklanabilirsin.

Gizli kasa

Gizli kasa, Logto'da hassas kullanıcı verilerinin, erişim token'larının, API anahtarlarının, şifrelerin ve diğer gizli bilgilerin yönetilmesi için güvenli bir depolama çözümüdür. Bu sırlar genellikle kullanıcılar adına üçüncü taraf hizmetlere erişmek için kullanılır ve güvenli depolama kritik öneme sahiptir.

Federasyonlu Token Depolama Desteği

Token depolama artık hem sosyal hem de kurumsal SSO bağlayıcıları için destekleniyor. Etkinleştirildiğinde, Logto kimlik sağlayıcısı tarafından başarılı kimlik doğrulama sonrası verilen token setini depolar. Uygulamalar daha sonra erişim token'ını tekrar kimlik doğrulaması gerektirmeden alabilir—böylelikle üçüncü taraf API'lara erişim sağlanır.

Desteklenen bağlayıcılar:

  • Sosyal bağlayıcılar: GitHub, Google, Facebook, Standart OAuth 2.0, ve Standart OIDC
  • Kurumsal SSO bağlayıcıları: Tüm OIDC tabanlı SSO bağlayıcıları

Nasıl çalışır:

  1. Logto Konsolu'nda veya Logto Yönetim API'si aracılığıyla sosyal ve kurumsal SSO bağlayıcılarında token depolamayı etkinleştir.
  2. Etkinleştirildiğinde, Logto başarılı kullanıcı kimlik doğrulaması sonrası sağlayıcı tarafından verilen token setini otomatik olarak depolar.
  3. Gerektiğinde, depolanan token'ı Hesap API'si aracılığıyla al.

Daha fazla bilgi için Gizli kasa dökümantasyonu adresine bakabilirsin.

Hesap API'si ile TOTP ve Yedek Kodları Ekle

Kullanıcılar artık Hesap API'si üzerinden TOTP ve yedek kodları ekleyebilir.

  • POST /api/my-account/mfa-verifications/totp-secret/generate: Bir TOTP sırrı oluştur.
  • POST /api/my-account/mfa-verifications/backup-codes/generate: Yedek kodlar üret.
  • POST /api/my-account/mfa-verifications: Oluşturulan sır veya kodlarla birlikte bir TOTP veya yedek kodu ekle.
  • GET /api/my-account/mfa-verifications/backup-codes: Yedek kodları al.

Diğer İyileştirmeler

  • Sosyal bağlayıcılar: Sosyal bağlayıcılar için yetkilendirme URL'si oluşturulurken özel bir scope parametresi sağlanmasını destekledik. Bu, Logto sosyal doğrulama endpoint'i çağrılırken sosyal sağlayıcıdan ek izinler istemeni sağlar. Eğer scope sağlanırsa, yetkilendirme isteğinde bu kullanılacak; aksi takdirde bağlayıcı ayarlarında yapılandırılmış olan varsayılan scope kullanılacaktır.
  • Konsol: Yeni Gizli kasa özelliğini daha iyi desteklemek için, kullanıcı detay sayfasının düzenini yeniden oluşturduk. Kullanıcı sosyal ve kurumsal SSO kimlikleri yeni bir Bağlantılar bölümünde gruplandı. Bu bölümde, bir kullanıcının tüm bağlı bağlantıları listelenir ve üçüncü taraf kimlik bilgileri ile token depolama durumu (uygunsa) gösterilir. Her bağlantı için daha ayrıntılı kullanıcı kimliği sayfası da sunuluyor; burada bağlanan kimlik ve ilgili token'lar hakkında daha fazla bilgi bulabilirsin.

Hata Düzeltmeleri

organization_user_relations tablosu için kiracıya duyarlı yabancı anahtar kısıtlaması

Sorun

Geliştiriciler başka bir kiracıdan gelen user_id yi yanlışlıkla bir organizasyona atayabiliyordu, bu da organizasyon kullanıcı API uç noktalarında 500 hatalarına sebep oluyordu. Orijinal organization_user_relations tablosunda yalnızca users (id) üzerinde bir yabancı anahtar kısıtlaması vardı, bu da kiracı izolasyonu olmadan varolan herhangi bir kullanıcı kimliğinin atanmasına fırsat veriyordu.

Kök Neden

Logto, bütün tablolarda Kiracı Düzeyinde Güvenlik (RLS) uygular; bu da kiracı verilerine erişimi izole eder. Kullanıcılar tablosu organization_user_relations ile birleştirildiğinde, RLS kısıtlamaları nedeniyle mevcut kiracıya gerçek kullanıcı verisi erişilemez hale gelir ve kullanıcı verisi null döner, bu da 500 sunucu hataları tetikler.

Çözüm

(tenant_id, user_id) bileşik yabancı anahtar kısıtlaması users (tenant_id, id) referans alınarak eklendi; bu sayede organizasyon-kullanıcı ilişkisinin kiracı kimliğinin, kullanıcının kiracı kimliği ile eşleşmesi zorunlu hale geldi. Böylece uygun kiracı izolasyonu veritabanı seviyesinde sağlanıyor.