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ı!
🎉 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ı!
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:
npm install @logto/apicreateManagementApi() kullan.Öne çıkanlar:
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.
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:
Nasıl çalışır:
Daha fazla bilgi için Gizli kasa dökümantasyonu adresine bakabilirsin.
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.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.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.