ใช่คุณสามารถใช้นโยบาย `การตรวจสอบความถูกต้องของ JWT` เพื่อตรวจสอบโทเค็นจากผู้ออกตราสารหลายรายใน Azure APIM อย่างไรก็ตามมีข้อควรพิจารณาบางประการที่ต้องจำไว้:
1. การระบุผู้ออกสินค้าหลายราย: คุณสามารถแสดงรายการผู้ออกรายได้หลายรายในนโยบาย `การตรวจสอบความถูกต้อง-jwt` ตัวอย่างเช่นคุณสามารถรวมองค์ประกอบ `` หลายองค์ประกอบไว้ในส่วน `` ของนโยบายของคุณ [1] [5]
2. การกำหนดค่า OpenID: หากคุณระบุ URL การกำหนดค่า OpenID Connect (`OpenId-Config`) Azure APIM จะใช้เพื่อให้ได้ผู้ออกตราสารและปุ่มลงนาม อย่างไรก็ตามหากคุณต้องการระบุผู้ออกตราสารเพิ่มเติมอย่างชัดเจนนอกเหนือจากที่อยู่ในการกำหนดค่า OpenID คุณควรลบองค์ประกอบ `openId-config` เพื่อให้แน่ใจว่าผู้ออกรายการที่ระบุไว้อย่างชัดเจนของคุณได้รับการประเมินอย่างถูกต้อง [5]
3. การรวมผู้ออกตราสาร: เมื่อคุณระบุผู้ออกสินค้าหลายรายอย่างชัดเจนและใช้การกำหนดค่า OpenID ผู้ออกจากทั้งสองแหล่งจะถูกรวมเข้าด้วยกัน สิ่งนี้ช่วยให้คุณสามารถตรวจสอบโทเค็นจากผู้ออกสินค้าหลายรายรวมถึงผู้ที่ไม่ได้ระบุไว้ในการกำหนดค่า OpenID [1]
4. การตรวจสอบความถูกต้องลอจิก: ตรวจสอบให้แน่ใจว่าตรรกะการตรวจสอบของคุณได้รับการกำหนดค่าอย่างถูกต้องเพื่อจัดการผู้ออกสินค้าหลายราย สิ่งนี้อาจเกี่ยวข้องกับเงื่อนไขที่กำหนดเองหรือการตรวจสอบเพิ่มเติมหากจำเป็น [1] [3]
โดยสรุปในขณะที่นโยบาย `การตรวจสอบความถูกต้อง-jwt` สนับสนุนการตรวจสอบโทเค็นจากผู้ออกหลายรายการกำหนดค่าอย่างระมัดระวังเป็นสิ่งจำเป็นเพื่อให้แน่ใจว่าผู้ออกตราสารที่ต้องการทั้งหมดได้รับการประเมินอย่างเหมาะสม
การอ้างอิง:
[1] https://stackoverflow.com/questions/63700252/validate-multiple-issuers-in-azure-apim-policy
[2] https://docs.mulesoft.com/gateway/latest/policies-included-jwt-validation
[3] https://codeomelet.com/posts/creating-validate-jwt-policy-in-azure-apim
[4] https://auth0.com/blog/how-to-validate-jwt-dotnet/
[5] https://learn.microsoft.com/en-us/answers/questions/569321/azure-apim-validate-jwt-policy-is-not-evaluating-t
[6] https://stackoverflow.com/questions/56017333/how-to-validate-jwt-token-from-different-issuer
[7] https://docs.solo.io/gloo-mesh-gateway/main/security/jwt/jwt-multiple-policies/
[8] https://www.ibm.com/docs/en/api-connect/10.0.x?topic=policies-validate-jwt
[9] https://discuss.istio.io/t/multiple-jwt-and-validating/16362