我在Azure App Service
上托管了一个.NET核心应用程序。该应用程序使用Azure App Service Authentication
保护。
我需要获取访问令牌才能访问Microsoft Graph。
由于我打开了Azure App Service Authentication
,并且所有访问Web应用程序的用户都应该已经过身份验证,我想知道是否有可能从/.auth/me
或Request.Headers["x-ms-token-aad-access-token"]
获取访问令牌。
我试着按照here上发布的示例,在那里我将additionalLoginParams
/config/authsettings
配置为["resource=https://graph.windows.net"]
(或根据Rohit建议使用["resource=https://graph.microsoft.com"]
),这反过来应该通过客户端的/.auth/me
或C#上的Request.Headers["x-ms-token-aad-access-token"]
为MS Graph提供访问令牌。
但是我检查了服务器端和客户端,并且没有找到访问令牌。知道出了什么问题吗?
因为这被标记为azure-gov我认为应用服务正在Azure政府中运行?如果是这样,您在调用Graph时在身份验证上下文或/ config / authsettings中指定了什么AAD权限?如果它在Azure Gov中,并且您计划对Azure Gov用户进行身份验证,则AAD权限应为login.microsoftonline.us。对请求的HTTP响应是什么?
此外,正如其他人所提到的,目前有两种“图形”API(Azure AD Graph和Microsoft Graph)可用。 Microsoft Graph将最终取代Azure AD Graph,但现在可以使用它们。
目前,Azure Gov中AAD Graph的资源uri与Azure Public:graph.windows.net相同。
但是,与Azure Gov中的graph.microsoft.com相比,Azure Gov中Microsoft Graph的资源uri是graph.microsoft.us。