การวิเคราะห์เหตุการณ์: การเปลี่ยนแปลง `iss` ที่คาดไม่ถึงของ JWT
รายงานเหตุการณ์สำหรับการเปลี่ยนแปลง `iss` ที่คาดไม่ถึงของ JWT เมื่อวันที่ 2024-03-18
รายงานเหตุการณ์สำหรับการเปลี่ยนแปลง `iss` ที่คาดไม่ถึงของ JWT เมื่อวันที่ 2024-03-18
เมื่อวันที่ 2024-03-18 การอัปเดตที่เปลี่ยนพฤติกรรมของตัวออกบัตร (issuer) ของ JWT ใน Logto Cloud ทำให้กระบวนการตรวจสอบยืนยันของผู้ใช้ที่มีโดเมนที่กำหนดเองและการตรวจสอบ iss ถูกขัดขวาง การแก้ไขจำเป็นต้องให้ผู้ใช้เหล่านี้อัปเดตตรรกะการยืนยันของพวกเขา
ississ ในกระบวนการตรวจสอบยืนยันการอัปเดตเปลี่ยนแปลงฟิลด์ iss ให้ตรงกับโดเมนที่ร้องขอ ทำให้การยืนยันที่มีอยู่ซึ่งคาดหวังตัวออกบัตรเริ่มต้นก่อนหน้านี้ถูกขัดขวาง
issLogto Cloud สนับสนุนโดเมนที่กำหนดเองสำหรับการตรวจสอบยืนยัน นักพัฒนาที่มีผู้เช่าโดเมนที่กำหนดเองสามารถตั้งค่าเอนด์พ้อยต์ไปที่โดเมนที่กำหนดเองใน SDK จากนั้นผู้ใช้งานจะใช้เอนด์พ้อยต์นี้ในการเริ่มกระบวนการตรวจสอบยืนยันและรับโทเค็น บางโทเค็นจะอยู่ในรูปแบบของ JWT ที่มีฟิลด์ iss ระบุผู้ที่ออกโทเค็นนี้ ก่อนหน้านี้ แม้ว่าเอนด์พ้อยต์โดเมนที่กำหนดเองจะถูกใช้ในการร้องขอโทเค็นการเข้าถึง ตัวออกบัตรก็ยังคงตั้งค่าให้โดเมนปกติของเรา ([tenant-id].logto.app)
แต่โดเมนของตัวออกบัตรควรจะเหมือนกับเอนด์พ้อยต์ที่ร้องขอ ดังนั้นเราจึงออกอัปเดตเพื่อแก้ไขปัญหานี้ และตอนนี้ฟิลด์ iss จะสะท้อนโดเมนที่ใช้ในการร้องขอโดยอัตโนมัติ
สำหรับผู้ที่ใช้โดเมนที่กำหนดเองในการมอบหมายโทเค็นและมีการยืนยันฟิลด์ iss ในเซิร์ฟเวอร์ทรัพยากร นี่อาจเป็นการเปลี่ยนแปลงที่มีผลกระทบอย่างรุนแรง การตรวจสอบการตรวจสอบยืนยันที่มีอยู่จะล้มเหลวเนื่องจากการเปลี่ยนแปลงของตัวออกบัตร เพื่อแก้ไขปัญหานี้ นักพัฒนาต้องเปลี่ยนโค้ดยืนยัน แทนที่ตัวออกบัตรที่คาดหวังให้เป็นตัวออกบัตรใหม่ที่มีโดเมนที่กำหนดเอง
เราล้มเหลวในการคำนึงถึงผลกระทบทั้งหมดที่มีต่อการยืนยัน iss ที่มีอยู่ ส่งผลให้การออกนี้กลายเป็นการเปลี่ยนแปลงที่มีผลกระทบอย่างรุนแรงโดยไม่มีการแจ้งล่วงหน้า
แจ้งเตือนผู้ใช้ที่ได้รับผลกระทบผ่านทางอีเมล แนะนำให้พวกเขาอัปเดตการยืนยัน iss ของพวกเขาให้ตรงกับโดเมนที่ร้องขอ
การเปลี่ยนแปลงนี้เป็นการแก้ไขที่จำเป็นสำหรับฟิลด์ตัวออกบัตร และบางผู้ใช้อาจได้ปรับตัวกับพฤติกรรมใหม่แล้ว การย้อนกลับจะทำให้เกิดความสับสนและความไม่สม่ำเสมอ