Türkçe
  • olay sonrası değerlendirme
  • bulut hizmeti
  • olay

Postmortem: beklenmedik JWT `iss` değişikliği

2024-03-18 tarihli beklenmedik JWT `iss` değişikliği için olay raporu.

Sijie
Sijie
Developer

Özet

2024-03-18 tarihinde Logto Cloud'daki JWT verici davranışını değiştiren bir güncelleme, özel alan adları ve iss doğrulaması olan kullanıcıların kimlik doğrulama akışlarını bozdu. Düzeltme, bu kullanıcıların doğrulama mantığını güncellemelerini gerektirdi.

  • Etkilenen kullanıcılar: Özel alan adları etkinleştirilmiş ve iss doğrulaması yapan kullanıcılar.
  • Ciddiyet: Kritik, kimlik doğrulama akışlarında iss doğrulamasını bozucu.

Kök neden

Güncelleme, iss alanını talep edilen alan adıyla eşleşecek şekilde değiştirdi ve mevcut doğrulamaların beklediği önceki varsayılan vericiyi bozdu.

Zaman Çizelgesi

  • 2024-03-18 10:00 (UTC): iss davranışını değiştiren güncellemeler dağıtıldı.
  • 2024-03-18 23:30 (UTC): Mevcut davranışın bozulduğu ilk kullanıcı raporu alındı.
  • 2024-03-19 12:00 (UTC): Sorun doğrulandı ve araştırmaya başlandı.
  • 2024-03-19 14:00 (UTC): Kök neden ve etki belirlendi.
  • 2024-03-20 20:00 (UTC): Etkilenen kullanıcılara gönderilecek e-posta hazırlandı.
  • 2024-03-20 06:00 (UTC): Etkilenen tüm kullanıcılara e-postalar gönderildi.

Etki Analizi

Sürüm Detayları

Logto Cloud, kimlik doğrulama için özel alan adını destekler, özel alan adı etkinleştirilmiş kiracılara sahip geliştiriciler SDK'larda uç noktayı özel alan adına ayarlayabilir, ardından son kullanıcı kimlik doğrulama sürecini başlatmak ve jeton almak için bu uç noktayı kullanır. Bazı jetonlar, bu jetonun vericisini gösteren bir iss alanı içeren JWT formundadır. Daha önce, erişim jetonu talep etmek için özel alan adı uç noktası kullanılsa da, verici hala varsayılan alanımız ([tenant-id].logto.app) olarak kalırdı.

Ancak vericinin alan adı, talep edilen uç noktayla aynı olmalıdır. Bu sorunu düzeltmek için bir güncelleme yayınladık ve şimdi iss alanı talepte kullanılan alan adını otomatik olarak yansıtacak.

Özel alan adı kullanarak jeton veren ve kaynak sunucuda iss alanı doğrulaması gerçekleştirenler için bu değişiklik bozucu olabilir. Mevcut kimlik doğrulama kontrolü, vericinin değişikliği nedeniyle başarısız olacak. Bunu düzeltmek için geliştiricilerin doğrulama kodunu değiştirmesi, beklenen vericiyi özel alan adı ile yeni olanla değiştirmesi gerekir.

Mevcut iss doğrulamalarına etkisini tam olarak düşünemedik, bunun sonucunda bu sürüm önceden bildirim yapılmadan bozucu bir değişiklik haline geldi.

Çözüm

Etkilenen kullanıcılara e-posta yoluyla bildirimde bulunuldu, iss doğrulamalarını talep edilen alan adıyla eşleşecek şekilde güncellemeleri tavsiye edildi.

Geri Alma?

Değişiklik, verici alanı için gerekli bir düzeltmedir ve bazı kullanıcılar yeni davranışa çoktan uyum sağlamış olabilir. Geri alma kafa karışıklığına ve tutarsızlığa neden olacaktır.

Alınan Dersler

  • Temel kimlik doğrulamasını etkileyen kod değişiklikleri, normal incelemelere ek olarak ekip tarafından onaylanmalıdır.
  • Otomatik testler daha fazla vakayı, özellikle bulut tabanlı senaryoları kapsamalıdır.

Düzeltici ve önleyici tedbirler

  • Entegrasyon testleri ekle: Bu olaydaki senaryoyu kapsamak için test vakaları ekle.
  • Özellik izleme projeleri: Logto Cloud'a ek olarak, kendi yan projelerimizi oluşturun ve Logto ile derinlemesine entegre edin, sürümlerden önce olası sorunları yakalayın.