Microsoft Office365 APP图表api - nodejs

时间:2017-08-02 11:50:30

标签: node.js azure-active-directory office365api office365-apps azure-ad-graph-api

尝试构建一个Web应用程序,但在整个地方找到不同的文档,他们都说不同的东西。我想获得office365 azure活动目录下的所有房间和会议列表。

我现在正在阅读以下https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-scopes,但我对以下两个选项感到困惑。

  1. 请求个人用户同意
  2. 从目录admin
  3. 请求权限

    你使用其中一个吗?或者它们是否意味着按顺序使用?如果我只使用选项2,我需要一个令牌吗?这是怎么回事?

    干杯

1 个答案:

答案 0 :(得分:1)

在azure ad v2.0中,应用可以使用范围查询参数请求所需的权限。用户输入凭据后,v2.0端点将检查用户同意的匹配记录。如果用户过去未同意任何请求的权限,则v2.0端点会要求用户授予所请求的权限。这是用户同意。

另一方面,管理员可以同意申请代表任何员工行事。如果管理员同意整个租户,则组织的员工将不会看到该应用程序的同意页面。这意味着在管理员同意后,在OpenID Connect或OAuth 2.0授权请求期间不需要用户同意。

Microsoft生态系统中的高权限权限可以设置为管理员限制,例如microsoft graph的Directory.Read,当您的应用需要访问组织的管理员限制范围时,您应该直接请求它们来自公司管理员,也使用admin consent endpoint。在这种情况下,用户同意是不够的,您需要做管理员同意。当管理员通过管理员同意端点授予这些权限时,将授予租户中所有用户的同意(管理员同意后未经用户同意)。

管理员同意后,您可以使用OAuth 2.0 & OpenID Connect协议获取用于访问受保护资源的令牌,例如Web API。