• jälkipuinti
  • pilvipalvelu
  • tapahtuma

Jälkipuinti: odottamaton JWT `iss`-kentän muutos

Tapahtumaraportti 2024-03-18 odottamattomasta JWT `iss`-kentän muutoksesta.

Sijie
Sijie
Developer

Yhteenveto

2024-03-18 päivitys, joka muutti JWT-issuer-käyttäytymistä Logto Cloudissa, rikkoi käyttäjien todennuspolut mukautettujen verkkotunnusten ja iss-tarkistuksen kanssa. Korjaus vaati näiden käyttäjien päivityksiä tarkistuslogiikkaan.

  • Vaikuttaa käyttäjiin: käyttäjiin, joilla on mukautetut verkkotunnukset käytössä ja jotka suorittavat iss-tarkistuksen.
  • Vakavuus: Kriittinen, rikkoen iss-tarkistuksen todennuspoluissa.

Perimmäinen syy

Päivitys muutti iss-kentän vastaamaan pyydettyä verkkotunnusta, rikkoen olemassa olevat tarkistukset, jotka odottivat aiempaa oletusarvoista myöntäjää.

Aikajana

  • 2024-03-18 10:00 (UTC): päivitykset otettu käyttöön, muuttaen iss-käyttäytymistä.
  • 2024-03-18 23:30 (UTC): ensimmäinen käyttäjäraportti vastaanotettu, kun olemassa oleva käyttäytyminen rikkoutui.
  • 2024-03-19 12:00 (UTC): vahvistettu ongelma ja aloitettu tutkinta.
  • 2024-03-19 14:00 (UTC): tunnistettu perimmäinen syy ja vaikutus.
  • 2024-03-20 20:00 (UTC): sähköpostin valmistelu vaikuttaville käyttäjille.
  • 2024-03-20 06:00 (UTC): sähköpostien lähettäminen kaikille vaikuttaville käyttäjille.

Vaikutusanalyysi

Julkaisun yksityiskohdat

Logto Cloud tukee mukautettua verkkotunnusta todennukselle, kehittäjät, joilla on mukautettu verkkotunnus käytössä vuokralaisilla, voivat asettaa päätepisteen mukautettuun verkkotunnukseen SDK:issa, jolloin loppukäyttäjä käyttää tätä päätepistettä todennusprosessin aloittamiseen ja tunnusten saamiseen. Jotkut tunnukset ovat JWT-muodossa, joka sisältää iss-kentän, joka osoittaa tämän tunnuksen myöntäjän. Aiemmin, vaikka mukautettua verkkotunnuspäätepistettä käytettiin pääsytunnuksen pyyntöön, myöntäjä silti oletuksena oli tavallinen verkkotunnuksemme ([tenant-id].logto.app).

Mutta myöntäjän verkkotunnuksen tulisi olla sama kuin pyydetty päätepiste. Joten julkaisimme päivityksen korjataksemme tämän ongelman, ja nyt iss-kenttä heijastaa automaattisesti pyynnössä käytettyä verkkotunnusta.

Niille, jotka jo käyttävät mukautettua verkkotunnusta tunnusten myöntämiseen ja ovat toteuttaneet iss-kentän tarkistuksen resurssipalvelimessa, tämä voi olla rikkova muutos. Olemassa oleva todennustarkistus epäonnistuu myöntäjän muutoksen vuoksi. Tämän korjaamiseksi kehittäjien on muutettava tarkistuskoodia ja korvattava odotettu myöntäjä uudella mukautetulla verkkotunnuksella.

Emme onnistuneet täysin arvioimaan vaikutusta olemassa oleviin iss-tarkistuksiin, minkä seurauksena tämä julkaisu muuttui rikkovaksi muutokseksi ilman ennakkovaroitusta.

Ratkaisu

Ilmoitimme vaikuttaville käyttäjille sähköpostitse, neuvoen heitä päivittämään iss-tarkistuksen vastaamaan pyydettyä verkkotunnusta.

Palautukset?

Muutos on tarpeellinen korjaus myöntäjäkentälle, ja osa käyttäjistä on saattanut jo mukautua uuteen käyttäytymiseen. Palautus aiheuttaisi sekaannusta ja epäjohdonmukaisuutta.

Opitut läksyt

  • Ydinauktorisointiin vaikuttavilla koodimuutoksilla on oltava tiimin hyväksyntä tavallisten katselmusten lisäksi.
  • Automaattisten testien tulee kattaa enemmän tapauksia, erityisesti pilvikohtaisissa skenaarioissa.

Korjaavat ja ehkäisevät toimenpiteet

  • Lisää integraatiotestit: Lisää tapaustestit kattamaan tämän tapauksen skenaario.
  • Ominaisuuksien seuranta projektit: Logto Cloudin lisäksi, luo omia sivuprojekteja ja integroi syvästi Logton kanssa havaitaksesi potentiaalisia ongelmia ennen julkaisua.