首页 文章

Azure AD Graph API:如何在新权限后重新同意?

提问于
浏览
0

我在Azure AD中有一个应用程序注册,它为它设置了一些Graph API委派权限 .

该应用程序只是SharePoint中的一个页面,它正在进行图形调用,并使用ADAL.js库进行身份验证 .

我现在想在页面上对新的Graph API endpoints 进行额外的Graph调用,因此我需要为应用程序分配一个额外的权限 . 我在Azure AD中设置此权限并保存 . 但是,永远不会要求访问SharePoint页面的用户重新同意新的权限,因此新的Graph调用将失败并显示401 Unauthorized消息 .

我已尝试使用许多不同的 endpoints 和权限,我确信我在应用程序中设置了正确的权限 .

How can I have the consent dialog appear for users automatically when the application permissions change?

管理员同意不是一种选择 .

1 回答

  • 3

    我记得有一段时间与Azure AD团队的成员讨论过这个问题,这是他当时建议的(尽管我从未尝试过,所以它可能不起作用) .

    基本上他建议的是,当您收到 Unauthorized (401) 错误时,您再次将用户重定向到Azure AD登录,即再次关注OAuth授权流程,但在登录URI中包含 prompt=consent . 这将向用户显示具有最新权限的同意页面 . 用户同意最新权限后,您可以将用户重定向回应用程序 . 您可能会发现此链接有助于了解 propmpt 参数的不同值:https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-openid-connect-code .

    再说一次,我没有亲自尝试过,所以它可能无法正常工作 . 如果没有,请告诉我,我将删除我的答案 .

相关问题