我正在开发一个我在apps.dev.microsoft.com上向Microsoft注册的应用程序,以使用https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-protocols-oauth-code/中记录的新的“融合”OAuth2流程。
我正在请求范围user.read
的授权。具体来说,这是授权网址:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=77ebf38a-23aa-4006-b947-aae863964ba7&redirect_uri=https%3A%2F%2Flocalhost%3A44302%2Fazure_connection%2Fcallback&response_type=code&scope=user.read
我希望这可以100%的时间工作,因为我只要求user.read
范围,https://graph.microsoft.io/en-us/docs/authorization/permission_scopes记录为不需要委托。但是,对于我的公司(也称为组织)帐户,当我登录授权URL时,我收到错误AADSTS90093: Does not have access to consent.
我的公司组织帐户是我们AAD中的常规用户角色。
每个其他授权请求都按预期工作。我已经使用其他组织帐户对其进行了测试,这些帐户是我拥有的其他Azure帐户中的管理员,贡献者和常规用户。我用“MSA”帐户(outlook.com,hotmail.com,其他实时注册帐户)对此进行了测试。
我能想到的唯一不同的帐户:
失败的帐户是Office 365帐户。 (我使用组织帐户完成的所有其他测试都是我在“旧门户”中手动输入AAD中的帐户。)
失败的帐户是我在apps.dev.microsoft.com上注册该应用程序的帐户(讽刺的是哦!)
有人遇到这个吗?您是否发现授权URL或授权范围有问题? AAD或Office 365中是否有某些设置可能阻止第三方OAuth访问“我自己”?
答案 0 :(得分:0)
这是因为组织中的全局管理员阻止用户同意应用程序。
您需要与全局管理员合作,让他们允许用户同意应用程序。此设置可在Active Directory中的经典Azure管理门户中找到 - >配置 - >集成应用程序:"用户可以提供应用程序许可以访问他们的数据"