Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure AD令牌颁发终结点未返回“scope”参数_Azure_Office365_Office365api_Microsoft Graph Api_Azure Ad Graph Api - Fatal编程技术网

Azure AD令牌颁发终结点未返回“scope”参数

Azure AD令牌颁发终结点未返回“scope”参数,azure,office365,office365api,microsoft-graph-api,azure-ad-graph-api,Azure,Office365,Office365api,Microsoft Graph Api,Azure Ad Graph Api,我正在使用本文所述的服务应用程序查询Microsoft Graph: 我成功地向租户特定的URL发出POST请求,并获得指定的JSON响应: { "token_type": "Bearer", "expires_in": "3599", "scope": "User.Read", "expires_on": "1449685363", "not_before": "1449681463", "resource": "https://graph.microsoft.com

我正在使用本文所述的服务应用程序查询Microsoft Graph:

我成功地向租户特定的URL发出POST请求,并获得指定的JSON响应:

{ 
  "token_type": "Bearer",
  "expires_in": "3599",
  "scope": "User.Read",
  "expires_on": "1449685363",
  "not_before": "1449681463",
  "resource": "https://graph.microsoft.com",
  "access_token": "<token>"
}

但是缺少范围参数。我已在我的AD配置面板中检查了所有Office 365 Exchange Online应用程序权限。对Graph API使用返回的令牌时,我能成功地打电话给你https://graph.microsoft.com/v1.0/users/ 但是没有其他端点。

您需要从Microsoft Graph service中可用的列表中选择应用程序范围,然后获得管理员同意

您需要从Microsoft Graph service中可用的列表中选择应用程序范围,然后获得管理员同意同意

我刚刚遇到这个问题,我想详细说明标记为正确的答案,因为它是正确的答案,但不是完整的解决方案。如果没有范围参数,则表示您的应用已注册,但管理员未同意应用访问您的广告实例。注册应用程序后,您必须生成并转到以下URL以使用管理员帐户授权应用程序,当然:

GET https://login.microsoftonline.com/{TenantID}/adminconsent?
client_id=<APP ID>
&state=<This is optional for your app to use>
&redirect_uri=<ReturnURL>
租户id:来自Azure门户-如果单击右上角的帮助图标,然后选择“显示诊断”,则可以在诊断JSON中找到租户id

AppID:来自Azure门户-注册应用程序时,您将转到管理控制台并剪切/粘贴


对于尝试进行图形集成的人来说,有大量有用的信息

我刚刚遇到这个问题,想详细说明标记为正确的答案,因为它是正确的答案,但不是完整的解决方案。如果没有范围参数,则表示您的应用已注册,但管理员未同意应用访问您的广告实例。注册应用程序后,您必须生成并转到以下URL以使用管理员帐户授权应用程序,当然:

GET https://login.microsoftonline.com/{TenantID}/adminconsent?
client_id=<APP ID>
&state=<This is optional for your app to use>
&redirect_uri=<ReturnURL>
租户id:来自Azure门户-如果单击右上角的帮助图标,然后选择“显示诊断”,则可以在诊断JSON中找到租户id

AppID:来自Azure门户-注册应用程序时,您将转到管理控制台并剪切/粘贴


对于尝试进行图形集成的人来说,有大量有用的信息

你能提供更多的信息吗?在我的原始问题中,我提到我已检查了Office 365 Exchange Online下的所有应用程序权限。这与此分开吗?在门户中的应用程序配置中,将这些应用程序权限添加到Microsoft Graph下,而不是Office 365 Exchange Online下,然后确保通过管理员提供同意的流程,然后您将在包含应用程序权限的令牌中看到角色声明。同意后,您将能够获得访问令牌并呼叫服务。对于客户端凭据流,访问令牌没有作用域声明,它具有具有权限的角色声明。您可以提供更多信息吗?在我的原始问题中,我提到我已检查了Office 365 Exchange Online下的所有应用程序权限。这与此分开吗?在门户中的应用程序配置中,将这些应用程序权限添加到Microsoft Graph下,而不是Office 365 Exchange Online下,然后确保通过管理员提供同意的流程,然后您将在包含应用程序权限的令牌中看到角色声明。同意后,您将能够获得访问令牌并呼叫服务。对于客户端凭据流,访问令牌没有作用域声明,它具有具有权限的角色声明。