2

我正在使用Postman来查询图形API以获取AAD实例上的应用程序列表。Azure AD:身份验证缺失或格式不正确

验证网址:https://login.microsoftonline.com/common/oauth2/authorize?resource=https%3A%2F%2Fmanagement.azure.com%2F

访问令牌网址:https://login.microsoftonline.com/common/oauth2/token

有了这些,我能够获得访问令牌。现在,当我尝试查询图形API的应用程序的列表,包括在报头中的访问令牌一直以来,我得到以下错误:

{ 
"error": { 
    "code": "InvalidAuthenticationToken", 
    "message": "Access token validation failure.", 
    "innerError": { 
     "request-id": "***-***-***", 
     "date": "2017-07-25T16:21:06" 
    } 
} 

}

是否有解决此问题的方法?

编辑:我还发现奇怪的是,当我收到Access令牌时,我没有收到刷新令牌:

谢谢!

回答

2

Auth URL中的资源值不是图形API端点,因此您获得的访问令牌是针对其他资源的,图形API无法验证它。 对于图API,端点应为https://graph.microsoft.com/

刷新令牌不会针对某些OAuth授权类型(例如客户端凭据流)发出,因为客户端可以根据需要使用其凭据获取新令牌。这可能是您没有看到刷新令牌的原因。在涉及用户交互的流程中,刷新令牌用于获取新的令牌,而不需要用户交互。