วิธีอนุญาตให้ทุกคนสร้างการประชุม Teams ผ่าน MsGraph

ฉันกำลังพยายามพัฒนาเว็บแอปพลิเคชันที่เชื่อมต่อกับแอป AD Azure ของเรา ซึ่งอนุญาตให้ทุกคนที่มีรหัส (ระบุไว้ในแอปพลิเคชันเว็บของเราเอง) เพื่อเริ่มการประชุม Teams ผ่าน Ms Graph API

การไหลนั้นง่ายดังนี้:

  1. ใช้รหัสโฮสต์เพื่อสร้างห้อง Ms Teams
  2. จัดเก็บข้อมูลห้องที่สร้างขึ้นในฐานข้อมูลของเว็บแอปของเรา
  3. ส่งผู้ใช้โดยใช้รหัสผู้เยี่ยมชมไปยังห้อง Teams ที่ถูกต้อง

ตอนแรกฉันลองใช้ beta Ms Graph API เพื่อใช้ประเภทสิทธิ์ 'แอปพลิเคชัน' ที่โฮสต์ (ในขั้นตอนที่ 1) จะสร้างห้องประชุมในโดเมน AD Azure ของเรา อย่างไรก็ตาม วิธีนี้ได้ผล โดยไม่อนุญาตให้อ้างอิง uuid ของผู้ใช้ภายนอกโดเมน AD Azure ของเราหรือดูเหมือนจะไม่ทำงาน

จากนั้นฉันเขียนเว็บแอปใหม่เพื่อใช้ประเภทการอนุญาต 'ที่ได้รับมอบหมาย' จากนั้นผู้ใช้ที่ใช้รหัสโฮสต์ในขั้นตอนที่ 1 จะถูกเปลี่ยนเส้นทางไปยัง Microsoft เพื่อเข้าสู่ระบบ จากนั้นจะส่งคืนไปยังเว็บแอปของเราพร้อมโทเค็นการรับรองความถูกต้องที่ถูกต้องซึ่งเราสามารถใช้กับ Ms Graph เพื่อสร้างห้องประชุมในนามของผู้ใช้ที่เข้าสู่ระบบ

เท่าที่ฉันรู้ ฉันได้กำหนดค่าสิทธิ์ที่เกี่ยวข้องสำหรับ 'OnlineMeetings.ReadWrite' (หรือ OnlineMeetings.ReadWrite.all ขึ้นอยู่กับประเภทสิทธิ์) ได้รับความยินยอมจากผู้ดูแลระบบแล้ว ฉันได้ตั้งค่าประเภทการรับรองความถูกต้องเป็น 'บัญชีในไดเรกทอรีองค์กรใด ๆ (ไดเรกทอรี Azure AD ใด ๆ - ผู้เช่าหลายราย)' แต่ก็ไม่มีประโยชน์

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

มีวิธีที่จะอนุญาตดังกล่าวข้างต้นหรือไม่?




คำตอบ (1)


สำหรับความต้องการของคุณ ฉันสรุปสองสถานการณ์ด้านล่างไว้เพื่อใช้อ้างอิง:

มีผู้เช่าสองคน (ผู้เช่า A และผู้เช่า B) แอปที่ลงทะเบียนของคุณอยู่ในผู้เช่า A และตั้งค่าเป็น Accounts in any organizational directory (Any Azure AD directory - Multitenant)

1. หากคุณต้องการให้ผู้ใช้ใน AD อื่นสร้างห้องประชุมในผู้เช่า A จะไม่สามารถใช้งานได้

2. หากคุณต้องการให้ผู้ใช้ใน AD อื่นสร้างห้องประชุมในผู้เช่าปัจจุบัน (เช่น ผู้เช่า B) คุณสามารถขอโทเค็นด้วย ID ของผู้เช่า B ในจุดสิ้นสุดโทเค็นคำขอ (เช่น https://login.microsoftonline.com/{id of tenant B}/oauth2/v2.0/token และในเนื้อหาคำขอ คุณควรใช้รหัสลูกค้าในผู้เช่า A ของแอปที่ลงทะเบียน เราก็สามารถดำเนินการตามขั้นตอนโดย รหัสรับรองความถูกต้อง ไหลและมันจะป๊อปอัป หน้าต่างเพื่อขอเข้าสู่ระบบ คุณต้องใช้บัญชีผู้ดูแลระบบ (ของผู้เช่า B) เพื่อเข้าสู่ระบบในครั้งแรก (เพื่ออนุญาตการดำเนินการนี้)

person Hury Shen    schedule 30.11.2020