我正在尝试开发一个连接到我们的Azure应用程序的web应用程序,它允许任何拥有代码(在我们自己的web应用程序中指定)的人通过Ms启动团队会议。
流程简单如下:
一开始,我尝试使用beta Ms来使用“应用程序”权限类型,主机(在步骤1中)将在我们的Azure域中创建一个会议室。但是,在我们的Azure域之外引用用户的uuid是不允许的,或者似乎不起作用。
然后,我重写了web应用程序,以使用“委托”权限类型。然后,使用步骤1中的主机代码的用户被重定向到Microsoft以登录,然后返回到我们的web应用程序,并带有正确的auth令牌,我们可以使用这些令牌与Ms Graph一起为登录用户创建会议室。
据我所知,我为'OnlineMeetings.ReadWrite‘(或OnlineMeetings.ReadWrite.all,取决于权限类型)配置了相应的权限。管理员同意已经完成,我甚至将auth类型设置为“任何组织目录中的帐户(任何Azure AD目录-Multitenant)”,但都没有效果。
这两种解决方案似乎都仅限于我们自己的Azure空间/域,这意味着我们不能提供一个web应用程序来代表用户自动创建会议室,并将用户连接到相同的会议室。
是否有办法允许上述情况发生?
发布于 2020-11-30 06:39:23
为了满足您的要求,我总结了以下两种情况,供您参考:
有两个租户(租户A和租户B),您的注册应用程序在租户A中,并设置为Accounts in any organizational directory (Any Azure AD directory - Multitenant)。
如果希望其他AD中的用户在租户A中创建会议室,则无法实现1.。
如果希望其他AD中的用户在当前租户(如租户B)中创建会议室,则2.。您可以在请求令牌端点中使用承租者B的id请求令牌(如https://login.microsoftonline.com/{id of tenant B}/oauth2/v2.0/token )。在请求体中,您应该在注册应用程序的租户A中使用客户id。我们可以通过auth码流实现这些步骤,它将弹出窗口请求登录,您需要使用管理帐户(承租者B)第一次登录(允许此操作)。
https://stackoverflow.com/questions/65040441
复制相似问题