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