พารามิเตอร์พรอมต์การเชื่อมต่อ OpenID: ควรเทียบกับต้อง

ข้อกำหนด OpenID Connect Implicit Client ระบุค่าพารามิเตอร์ prompt=login ที่เป็นตัวเลือกสำหรับ Implicit Clients SHOULD แจ้งให้ผู้ใช้ปลายทางตรวจสอบสิทธิ์อีกครั้ง

เป็นวิธีที่ถูกต้องในการตีความ SHOULD อย่างใดอย่างหนึ่งต่อไปนี้:

  1. การใช้งาน prompt=login ที่ตรงตามข้อกำหนด SHOULD ควรแจ้งให้ผู้ใช้ตรวจสอบสิทธิ์อีกครั้งเมื่อเหมาะสม แต่อาจไม่ใช่ในบางสถานการณ์ เช่น แจ้งให้ผู้ใช้ตรวจสอบความถูกต้องอีกครั้งเมื่อไม่มีเซสชันที่ใช้งานอยู่ แต่ไม่ต้องแจ้งเมื่อผู้ใช้มีเซสชันที่ใช้งานอยู่
  2. prompt=login การใช้งานที่ตรงตามข้อกำหนด SHOULD MUST แจ้งให้ผู้ใช้ตรวจสอบสิทธิ์อีกครั้ง

หากวิธีที่ถูกต้องในการใช้ข้อกำหนด SHOULD คือตัวเลือก #2 ด้านบน ในการตรวจสอบสิทธิ์เสมอ เราจะจัดการสถานการณ์ที่ผู้ใช้ได้รับแจ้งให้ตรวจสอบสิทธิ์เฉพาะเมื่อเซสชันหมดอายุได้อย่างไร นี่จะถือเป็นการละเว้นพารามิเตอร์ prompt หรือไม่

การใช้งานจาก Microsoft Azure, Okta และ Salesforce จะใช้ MUST สำหรับการตรวจสอบสิทธิ์อีกครั้ง

อ้างอิง:

  • OpenID: เซิร์ฟเวอร์การอนุญาตควรแจ้งให้ ผู้ใช้ปลายทางสำหรับการตรวจสอบสิทธิ์อีกครั้ง หากไม่สามารถตรวจสอบสิทธิ์ผู้ใช้ปลายทางได้อีกครั้ง ผู้ใช้จะต้องส่งคืนข้อผิดพลาด ซึ่งโดยทั่วไปแล้วคือ login_required
  • MS Azure: prompt=login จะบังคับให้ผู้ใช้ป้อนข้อมูลประจำตัวของตนในคำขอนั้น โดยปฏิเสธการลงชื่อเพียงครั้งเดียว
  • Okta: สามารถเป็นได้ทั้งไม่มีหรือเข้าสู่ระบบ ค่านี้จะกำหนดว่า Okta ไม่ควรพร้อมท์ให้ตรวจสอบสิทธิ์ (หากจำเป็น) หรือบังคับพร้อมท์ (แม้ว่าผู้ใช้จะมีเซสชันอยู่แล้วก็ตาม) ค่าเริ่มต้น: การทำงานเริ่มต้นจะขึ้นอยู่กับว่ามีเซสชัน Okta อยู่หรือไม่
  • Salesforce: เซิร์ฟเวอร์การอนุญาตจะต้องแจ้งให้ผู้ใช้ทราบ การตรวจสอบสิทธิ์ซ้ำโดยบังคับให้ผู้ใช้เข้าสู่ระบบอีกครั้ง

person Grokify    schedule 26.07.2016    source แหล่งที่มา


คำตอบ (1)