将Microsoft Graph API与Azure AD 1.0身份验证一起使用

时间:2017-05-24 01:52:30

标签: azure-active-directory microsoft-graph

当我使用不同的Microsoft Graph REST端点和针对Azure 1.0 oauth端点获取的访问令牌(隐式流)时,我试图了解预期会失败的原因(如果有的话)。例如,我在Azure AD租户中创建了一个新的应用注册,添加了Microsoft Graph服务并选择了每个可用的权限 - 总共66个。我发现我可以使用从https://login.windows.net/common/oauth2/authorize端点获取的访问令牌来执行针对https://graph.windows.net/ REST端点的基本目录查询。然而其他的事情 - 比如" me"或OneNote REST端点因401未经授权的错误而失败。作为旁注 - 我可以让所有这些场景与Azure 2.0 oauth端点一起使用,并传入SCOPES以满足我的权限要求。

所以...基于所有这些,我不确定Microsoft Graph端点的大部分是否预计在这种情况下不起作用,或者我传递错误的RESOURCE参数当我重定向到... / authorize端点以获取我的访问代码或其他东西时。因此,如果有任何信息描述是否预期不支持,或者我们应该知道其他信息 - 例如,使用1.0 oauth端点时是否需要不同的RESOURCE(唯一的变量是'我现在正在看,或者其他什么。这里的任何具体细节都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:1)

访问令牌可用于一个端点,您可以检查访问令牌中的aud(受众)声明。这就是为什么我们建议使用microsoft graph api,因为使用Microsoft Graph为组织和消费者构建应用程序,这些应用程序通过单个端点连接到大量资源,关系和智能:https://graph.microsoft.com

您说过针对https://graph.windows.net/ REST端点执行基本目录查询,因此可以使用访问令牌来调用Azure AD Graph APi(https://graph.windows.net/)。如果使用该令牌进行微软图api调用(https://graph.microsoft.com),则无法执行此操作,因为访问令牌不适用于microsoft graph api端点。