如何在 microsoft azure 中授予客户端应用程序访问请求范围的权限

问题描述

我收到此错误

com.microsoft.aad.msal4j.MsalInteractionrequiredException:AADSTS70000:请求被拒绝,因为请求的一个或多个范围未经授权或已过期。用户必须先登录并授予客户端应用访问请求范围的权限。

跟踪 ID:add5eedb-86d5-41bc-bad3-129298e3ca00
关联 ID:1d2ab508-8ec6-49d7-abaa-d1b8feaedda8

我在任何组织目录(任何 Azure AD 目录 - 多租户)和个人 Microsoft 帐户(例如 Skype、XBox)中的帐户中注册应用程序 azure 帐户

API 权限:

委托:

  • 日历。阅读

  • Calendars.ReadWrite

  • offline_access

  • openid

  • 个人资料

  • 用户读取

  • User.Read.All

  • 电子邮件

  • 邮件.阅读

申请:

  • 日历。阅读
  • Calendars.ReadWrite

我在 azure 门户中提供了所需的权限和范围(公开 Api),但仍然收到此错误。我试图解决这个错误超过几天我不明白我做错了什么?

用户登录时没有询问日历的权限。

enter image description here

我该如何解决这个错误

提前致谢。

解决

我通过在 AuthorizationRequestUrlParameters 中添加 Calendars.ReadWrite 范围解决了这个问题

解决方法

我通过在 AuthorizationRequestUrlParameters 中添加 Calendars.ReadWrite 范围解决了这个问题

到下面的字符串 next(1) 中,我传递了 null,所以它被认为是 microsoft 的默认范围,而不是询问日历权限。

updatedScopes