ความล้มเหลวของการตรวจสอบ / การอนุญาตการเชื่อมต่อ office365 API เนื่องจากการเชื่อมต่อข้าม API ในแอปตรรกะ

Aug 20 2020

ฉันกำลังประสบปัญหาการตรวจสอบสิทธิ์ซ้ำและปัญหาการอนุญาตในการปรับใช้แอปตรรกะโดยใช้เทมเพลต ARM ฉันพบวิธีแก้ปัญหาหลายวิธี แต่ไม่มีวิธีใดที่ใช้ได้ผลกับฉัน อันที่จริงความต้องการของฉันแตกต่างกันเล็กน้อยซึ่งฉันเขียนไว้ด้านล่าง

บทนำ

เรากำลังทำงานให้กับลูกค้าของเราและลูกค้าของเราไม่มีการสมัครสมาชิก office365 ที่สมบูรณ์ เราได้แนะนำวิธีแก้ปัญหาให้กับลูกค้าของฉันด้วยแอปตรรกะ

เรามีแอปตรรกะหลายตัวที่เราใช้ตัวเชื่อมต่อ office365 สำหรับการแจ้งเตือนและอัปโหลดข้อมูลบน SharePoint ตัวเชื่อมต่อเหล่านี้ได้รับการรับรองความถูกต้องด้วยข้อมูลประจำตัวขององค์กรของฉันในขณะที่แอปตรรกะทั้งหมดนี้ถูกปรับใช้ที่ Azure Cloud ของลูกค้าของฉัน กล่าวโดยย่อแอปตรรกะเหล่านี้เป็นแอปตรรกะแบบไฮบริดซึ่งหมายความว่าแอปตรรกะมีตัวเชื่อมต่อ office365 ของ บริษัท ของฉันและแอปตรรกะนี้ที่ปรับใช้ในสภาพแวดล้อมระบบคลาวด์ Azure ของไคลเอ็นต์

ปัญหา

เรากำลังประสบปัญหาเมื่อใดก็ตามที่เราปรับใช้เทมเพลตแขนของแอปตรรกะแอปตรรกะจะขอการตรวจสอบสิทธิ์สำหรับขั้นตอน office365

ฉันทำตามเอกสารและวิธีแก้ปัญหาต่อไปนี้ แต่ไม่ได้ผลสำหรับฉันเนื่องจากโซลูชันแบบไฮบริด

  • https://www.bruttin.com/2017/06/13/deploy-logic-app-with-arm.html
  • https://social.msdn.microsoft.com/Forums/en-US/7a9e8ebe-3438-4916-8041-2058fcdc1e31/arm-resource-manager-template-connection-parameters-for-oauth-googlesheet-managed-api?forum=azurelogicapps
  • https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-azure-resource-manager-templates-overview#authenticate-connections
  • Azure Logic App พร้อมการเชื่อมต่อ SharePoint
  • แม่แบบ ARM การเชื่อมต่อ Office 365 สำหรับแอปตรรกะ
  • https://blogs.msdn.microsoft.com/logicapps/2016/02/23/deploying-in-the-logic-apps-preview-refresh/
  • http://blog.davidebbo.com/2015/01/azure-resource-manager-client.html
  • Azure Logic App - การสร้างการเชื่อมต่อ Office365 โดยเทมเพลต ARM
  • https://github.com/logicappsio/LogicAppConnectionAuth (สำหรับการอนุญาตการเชื่อมต่อ แต่จะอนุญาตในกรณีที่เป็นระบบคลาวด์ภายในหรือภายนอกเท่านั้น)
  • วิธีปรับใช้ Logic App ด้วย o365 Connector ภายในเทมเพลต ARM

หลังจากตีและลองวิธีแก้ปัญหาข้างต้นฉันรู้ว่าวิธีแก้ปัญหาทั้งหมดถูกต้อง แต่มันใช้ไม่ได้ในกรณีของฉันเพราะฉันใช้การเชื่อมต่อแบบไฮบริดในแอปลอจิก นอกจากนี้ยังมีคำถามสองข้อ

  1. เมื่อเปิดใช้งาน MFA ฉันต้องตรวจสอบสิทธิ์ด้วยตนเองในแอปลอจิกทุกครั้งหลังการปรับใช้หรือไม่

  2. เมื่อฉันปรับใช้แม่แบบแขนผ่าน DevOps และดำเนินการแอปลอจิกการเชื่อมต่อแจ้งว่าไม่ได้รับอนุญาตและแจ้งข้อผิดพลาดต่อไปนี้

    { "error_description": "Exception of type 'Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException' was thrown." }

โปรดแจ้งให้เราทราบหากใครมีวิธีแก้ปัญหานี้

คำตอบ

1 JayaChatterjee-MSFT Aug 26 2020 at 17:53

ถ้าการดำเนินการล้มเหลวสำหรับตัวเชื่อมต่อออนไลน์จุดแชร์ในสถานการณ์ PowerAutomate หรือ LogicApps การเชื่อมต่อจะถูกสร้างขึ้นก่อนที่จะสามารถทราบได้ว่าผู้ใช้ของผู้เช่ารายใดจะเข้าถึงดังนั้นตัวเลือกเดียวจะเริ่มต้นเป็นผู้เช่าบ้านของผู้ใช้ในปัจจุบัน โดยค่าเริ่มต้นโทเค็นที่สร้างขึ้นสำหรับการรับรองความถูกต้องจะสอดคล้องกับไซต์รากของผู้ใช้ทั้งผู้ชมและผู้เช่า ในภายหลังตัวเชื่อมต่อสามารถแลกเปลี่ยนโทเค็นสำหรับผู้ชมที่แตกต่างกัน (สำหรับสถานการณ์ X-Geo) แต่ tenantId จะยังคงเหมือนเดิม นั่นคือวิธีการทำงานในปัจจุบันและไม่มีวิธีแก้ปัญหาใด ๆ ณ ตอนนี้ไม่มีวิธีเข้าถึงผู้เช่าที่ไม่ใช่บ้านจาก PowerAutomate / LogicApps ขณะนี้เรากำลังดำเนินการกับทีมที่เกี่ยวข้องเพื่อตรวจสอบว่าเราสามารถเพิ่มสิ่งนี้ในเอกสารได้