(与this question相关)
我有一个应该可以自动用于所有客户租户的应用程序,因此尝试this tutorial启用PS C:\Windows\system32> $graphResponse.value.recordConsentConditions
SilentConsentForPartnerManagedApp
。
执行Powershell命令并再次获取应用程序后,我可以看到它已启用:
{0}
但是,在创建新租户(或使用现有租户)并尝试访问Microsoft Graph的/用户呼叫时,我会收到500错误,直到我导航到https://login.windows.net/common/oauth2/authorize?response_type=code&client_id={0}&prompt=admin_consent({{1}作为应用的cliendId
,以管理员身份登录并接受委派。
我在这里错过了一步吗?
答案 0 :(得分:1)
与Microsoft支持人员联系后,这是他们的错误。他们昨天告诉我,工程师团队承认了这一点。它将被修复。
答案 1 :(得分:0)
要查询MS Graph,您的应用需要由最终用户或租户管理员授予适当的权限。通常,获得管理员同意的最佳方式是使用prompt=admin_consent
参数,如上所述。
如果出于某种原因必须通过powershell执行此操作,则可以使用consentType
AllPrincipals
创建oAuth2PermissionGrant
对象。
我个人不建议使用recordConsentConditions
属性。它只是出于传统原因 - 我甚至不知道它的作用。