Permissions Microsoft Graph API-列出用户登录时使用的所有权限/范围
我有多个应用程序,用户可以使用其Microsoft帐户从我的网站登录。每个都需要不同的权限/范围集,例如一些只需要Permissions Microsoft Graph API-列出用户登录时使用的所有权限/范围,permissions,microsoft-graph-api,Permissions,Microsoft Graph Api,我有多个应用程序,用户可以使用其Microsoft帐户从我的网站登录。每个都需要不同的权限/范围集,例如一些只需要User.Read,但一些需要Directory.Read.All,脱机访问等 是否有任何方法可以查询Microsoft Graph API以获取用户登录时使用的所有权限/作用域(=同意) 例如GEThttps://graph.microsoft.com/beta/currentPermissions 目标是了解是否允许在应用程序上为用户运行特定的API调用。这将防止无用的API调用
User.Read
,但一些需要Directory.Read.All
,脱机访问
等
是否有任何方法可以查询Microsoft Graph API以获取用户登录时使用的所有权限/作用域(=同意)
例如GEThttps://graph.microsoft.com/beta/currentPermissions
目标是了解是否允许在应用程序上为用户运行特定的API调用。这将防止无用的API调用和
{
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation."
}
答复
浏览文档没有结果。如果用户使用工作或学校帐户(Azure AD)登录,您只需查看访问令牌中的权限列表,如User.Read或Files.ReadWrite。要在编写代码之前看到这一点,可以使用一些工具,例如,您可以向他们提供您的令牌(仅使用测试帐户,而不是真实帐户),并且可以在令牌中看到值(“声明”)
为了在代码中实现这一点,每种语言都有JWT解码库。我不确定您的编程使用的是什么,所以只要搜索GitHub/Google,我肯定您会看到大量可用的JWT库。我们在一个解决方案中有多个项目,我们在Asp.Net中使用OWIN来管理权限。当用户登录时,它检索用于调用api的令牌,处理api的后端将说明是否允许用户执行或查看请求的项目/页面。