Sub*_*its 2 azure azure-active-directory adal azure-ad-graph-api microsoft-graph-api
我在 Azure AD 中有一个应用程序注册,它为它设置了一些 Graph API 委派权限。
该应用程序只是 SharePoint 中的一个页面,它进行 Graph 调用,使用 ADAL.js 库进行身份验证。
我现在想在页面上对新的 Graph API 端点进行额外的 Graph 调用,因此我需要为应用程序分配额外的权限。我在 Azure AD 中设置了此权限并保存。但是,从不要求访问 SharePoint 页面的用户重新同意新权限,因此新 Graph 调用失败并显示 401 Unauthorized 消息。
我已经尝试了许多不同的端点和权限,并且我确定我在应用程序中设置了正确的权限。
当应用程序权限更改时,如何自动为用户显示同意对话框?
管理员同意不是一种选择。
我记得前一段时间与 Azure AD 团队的一名成员讨论过这个问题,这是他当时的建议(尽管我从未尝试过,所以它可能不起作用)。
基本上他的建议是,当您遇到Unauthorized (401)错误时,您再次将用户重定向到 Azure AD 登录,即再次遵循 OAuth 授权流程,但包括prompt=consent在登录 URI 中。这将向用户显示具有最新权限的同意页面。一旦用户同意最新的权限,您就可以将用户重定向回您的应用程序。您可能会发现此链接有助于理解propmpt参数的不同值:https : //docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-openid-connect-code。
同样,我没有亲自尝试过,所以它可能不起作用。如果没有,请告诉我,我将删除我的答案。
| 归档时间: |
|
| 查看次数: |
1030 次 |
| 最近记录: |