使用contenscreen配置公司应用程序,并允许用户撤消访问权限

时间:2017-02-18 12:10:20

标签: azure

这是我的情景: 作为Azure的管理员,我想为我的同事添加一个应用程序。此应用程序将访问Microsoft Graph API以访问例如他们的日历或OneDrive文件。我正在使用PHP应用程序来实现我的概念证明。 用户必须能够做三件事:查看此应用程序需要的权限,同意,以及以后能够撤销同意。

我已经使用Microsoft的Graph Explorer网站对此进行了测试。它正确地要求同意(以其他用户身份登录时)。当此用户登录portal.office.com时,可以撤消对Graph Explorer的访问权限。

然而,我似乎无法让它为我自己构建的应用程序工作。在Azure中,我转到“应用程序注册”并设置密钥等。在权限中,我确保没有选择需要管理员同意的选项。我在“委派权限”类别中选择了一些。

PHP应用程序不会在Azure IaaS / PaaS上运行,而是托管在其他地方。

令我惊讶的是两件事: - 在我的PHP应用程序中,我必须要求出现同意屏幕。如果我不是要求它,应用程序将跳过它。奇怪。 - 在“我的帐户”中,它仍然表示管理员已授予访问权限。

我看了下面的答案,但这也无济于事。 How to revoke access to Microsoft APP for a user in php

所以,基本上我正在寻找与构建应用程序以访问例如的应用程序时相同的方案。 Google通讯录。我已经构建了这种集成并按预期工作并在上面概述。

有人想过吗?

1 个答案:

答案 0 :(得分:0)

Oke,在与微软商量之后,这就是我想出来的。

问题是某些权限/范围需要管理员同意。在这种情况下,会发生一些事情:

  1. 用户未被强制给予个人同意
  2. 用户无法通过portal.office.com门户(我的帐户 - >应用程序)撤销同意
  3. 如果删除了需要管理员同意的权限,则上述两种情况均不会发生变化!
  4. 因此,如果您设置了一个应用程序并且意外地选择了需要管理员同意的范围,那么您就会遇到麻烦。

    此外,您应启用全局设置,以便最终用户可以看到同意屏幕.....

    PS C:\Users\xxxx> Connect-MsolService -credential $msolcred
    PS C:\Users\xxxx> Get-MsolCompanyInformation | fl DisplayName,UsersPermissionToUserConsentToAppEnabled
    
    DisplayName                              : <your domain>
    UsersPermissionToUserConsentToAppEnabled : False 
    

    看看这个link

    新Azure门户在选择权限/范围时提供了更好的列表。在第二列中,有一个“管理员同意”指示符。在v1-portal中缺少。因此,切换到新门户网站并避免使用需要管理员同意的权限。