需要新的委派权限时不征求用户同意

User not asked for consent when new delegated permissions are required

我有一个 ASP.NET 应用程序,它使用 OWIN 中间件对我的 Azure Active Directory 实例进行身份验证。

在 Azure 门户中,我已经为我的 ASP.NET 应用程序创建了应用程序注册,身份验证效果很好。

用户一直在登录,我收到他们的声明,一切都很好。

现在,我正在向我的应用程序添加一项新功能,登录后,我想查询图形 API 以获取有关用户的更多信息(组名、电子邮件地址、任何)。现在,访问图表 API 以获取此信息需要新的权限,因此我进入了 Azure 门户,并检查了我的 ASP.NET 应用程序的适当委派权限。

对于从未登录过应用程序的用户,一切正常。但是,对于之前登录过该应用程序的用户,系统不会提示他们同意新要求的权限,因此我对图表的调用 API 失败了。

当我的应用程序开始需要新权限时,如何才能让用户征得同意?

我们从开发者租户的应用更改权限后,已经同意的用户需要更新同意才能获得更新后的权限。

要在我们需要指定值为 consentprompt 参数(参考here 关于用于 OAuth 2.0 代码授权流程的更多参数)。

如果您使用的是 Azure AD v2.0 端点,我们需要更新请求中的新范围,而不是在门户中配置它。 (参考 here 关于 v2.0 端点)