Chrome จะไม่ส่งคุกกี้กลับใน iframe หลังจากอัปเดต 10 ส.ค. 2020
เรามีเว็บแอปที่ฝังเว็บแอปอื่นบนไซต์อื่นใน iFrame สิ่งนี้เกิดขึ้นมาสองสามปีแล้ว สัปดาห์ที่แล้วเราเริ่มได้รับรายงานข้อผิดพลาดจากผู้ใช้บางราย หลังจากการตรวจสอบเราพบว่าบน Chrome 84.0.4147.125 ซึ่งเผยแพร่เมื่อวันที่ 10 ส.ค. 2020 คุกกี้ใน iFrame จะไม่ถูกส่งกลับไปยังเซิร์ฟเวอร์ ปัญหานี้เกิดขึ้นตั้งแต่ Chrome เวอร์ชันนี้เท่านั้น เวอร์ชันเก่าและเบราว์เซอร์อื่น ๆ ทำงานได้ดี
มีอะไรเปลี่ยนแปลงบ้างในรุ่นนี้ที่อาจส่งผลกระทบนี้
คำตอบ
ขอบคุณ @ Eyal.D ที่ชี้แนวทางแก้ปัญหา
ตามที่ระบุไว้ใน https://stackoverflow.com/a/45095345/1401409 :
โครเมี่ยมในขณะนี้บล็อกคุกกี้โดยไม่ต้องชุดดังนั้นคุณจึงจำเป็นอย่างชัดเจนตั้งค่าให้
SameSite
samesite=none
ฉันสามารถแก้ไขได้โดยเพิ่มสิ่งต่อไปนี้ในการกำหนดค่า httpd ของฉัน:
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure;SameSite=None
ฉันจะเพิ่มตามที่ระบุไว้ใน https://stackoverflow.com/a/57874184/1401409 :
หากคุณเป็นเจ้าของ somesite.com ที่คุณสามารถเลือกของนโยบายนี้โดยการตั้งค่านโยบาย SameSite ใครและจัดการกับความเสี่ยงของการโจมตี CSRF โดยทำคู่ส่งคุกกี้