从Azure App Service Easy Auth获取AccessToken到Microsoft Graph

时间:2019-03-29 21:55:26

标签: azure authentication azure-active-directory microsoft-graph azure-ad-graph-api

我在Azure App Service上托管了.NET核心应用程序。该应用程序受Azure App Service Authentication保护。

我需要获取一个访问令牌才能访问Microsoft Graph。

由于我已打开Azure App Service Authentication,并且所有访问Web应用程序的用户都应该已经过身份验证,所以我想知道是否有可能从{{ 1}}或/.auth/me

Azure App Service Auth

我尝试遵循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#中)。

但是,我同时检查了服务器端和客户端,都没有找到访问令牌。知道出了什么问题吗?

1 个答案:

答案 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。