Azure 多租户应用程序未获得具有新定义范围的令牌
Azure mulit-tenant application not getting tokens with newly defined scopes
我正在开发一个 Azure 多租户应用程序,它使用来自 Microsoft Graph API 和 Windows Azure Active Directory 资源的范围。我们正在使用 v1 OpenID 身份验证代码流程。
最近我们向 Microsoft Graph API 添加了更多请求的范围,我们提示用户在我们的 /common/oauth2/token
交换中使用 prompt=admin_consent
和 resource=https://graph.microsoft.com
重新授权。
当提示用户再次接受范围时,您可以看到新请求的范围并且调用似乎已成功完成,我们收到一个新的 access_token
。
然而,响应中返回的范围和嵌入式 JWT 范围声明仅列出了所请求范围的一小部分,而且它们似乎也仅来自其中一个资源(Windows Azure Active目录)。
我们收到新范围的 403,因此我认为这不是未正确填充这些范围字段的问题。
有谁知道为什么身份验证流程不会 return 具有新请求范围的令牌?
这里列出了我请求的范围:
Windows Azure 活动目录
- 读写目录数据(应用)
- 以登录用户身份访问目录(委托)
- 读写目录数据(委托)
- 登录并阅读用户个人资料(委托)
微软图表
- 在所有邮箱中读取和写入日历(应用程序)(新)
- 读取和写入所有用户的完整配置文件(应用程序)
- 读写目录数据(应用)
- 以任何用户身份发送邮件(应用程序)(新)
谢谢!
我正在开发一个 Azure 多租户应用程序,它使用来自 Microsoft Graph API 和 Windows Azure Active Directory 资源的范围。我们正在使用 v1 OpenID 身份验证代码流程。
最近我们向 Microsoft Graph API 添加了更多请求的范围,我们提示用户在我们的 /common/oauth2/token
交换中使用 prompt=admin_consent
和 resource=https://graph.microsoft.com
重新授权。
当提示用户再次接受范围时,您可以看到新请求的范围并且调用似乎已成功完成,我们收到一个新的 access_token
。
然而,响应中返回的范围和嵌入式 JWT 范围声明仅列出了所请求范围的一小部分,而且它们似乎也仅来自其中一个资源(Windows Azure Active目录)。
我们收到新范围的 403,因此我认为这不是未正确填充这些范围字段的问题。
有谁知道为什么身份验证流程不会 return 具有新请求范围的令牌?
这里列出了我请求的范围:
Windows Azure 活动目录
- 读写目录数据(应用)
- 以登录用户身份访问目录(委托)
- 读写目录数据(委托)
- 登录并阅读用户个人资料(委托)
微软图表
- 在所有邮箱中读取和写入日历(应用程序)(新)
- 读取和写入所有用户的完整配置文件(应用程序)
- 读写目录数据(应用)
- 以任何用户身份发送邮件(应用程序)(新)
谢谢!