Azure函数/Microsoft图形绑定未获取令牌(clientCredentials)

Azure函数/Microsoft图形绑定未获取令牌(clientCredentials),azure,azure-active-directory,microsoft-graph-api,azure-functions,Azure,Azure Active Directory,Microsoft Graph Api,Azure Functions,我试图在Azure函数上使用新的Microsoft Graph binding功能,因此我遵循了(使用clientCredentials): Azure广告应用程序注册良好,但是,调用该函数时,我收到以下错误: { “错误”:“未经授权的\u客户端”, “错误描述”:“AADSTS70001:在microsoft.com目录中找不到标识符为'ba8b3444-403f-4472-aba3-0407c563dd28'的应用程序\r\n空间ID:76a06d59-43a5-4862-9a1e-786

我试图在Azure函数上使用新的Microsoft Graph binding功能,因此我遵循了(使用
clientCredentials
):

Azure广告应用程序注册良好,但是,调用该函数时,我收到以下错误:

{
“错误”:“未经授权的\u客户端”,
“错误描述”:“AADSTS70001:在microsoft.com目录中找不到标识符为'ba8b3444-403f-4472-aba3-0407c563dd28'的应用程序\r\n空间ID:76a06d59-43a5-4862-9a1e-7864121c2200\r\n相关ID:F51CE93-d6e3-40f2-8427-a3af0b89750d\r\n标记:2017-11-20 10:11:41Z”,
“错误代码”:[70001],
“时间戳”:“2017-11-20 10:11:41Z”,
“跟踪id”:“76a06d59-43a5-4862-9a1e-7864121c2200”,
“相关性id”:“f511ce93-d6e3-40f2-8427-a3af0b89750d”
}
正如我所说,应用程序Id是正确的,并且已在我的Azure AD目录中注册(具有正确的权限)。为什么在尝试获取令牌时使用
microsoft.com
目录

这是我的函数c#代码(仅返回令牌):

公共静态异步任务运行(HttpRequestMessage请求、字符串图形、TraceWriter日志)
{
Info(“C#HTTP触发器函数处理了一个请求。”);
返回图;
//HttpClient=新的HttpClient();
//client.DefaultRequestHeaders.Authorization=新的AuthenticationHeaderValue(“承载者”,graphToken);
//返回wait client.GetAsync(“https://graph.microsoft.com/v1.0/groups");
}
这里是my_function.json`

{
“绑定”:[
{
“名称”:“请求”,
“类型”:“httpTrigger”,
“方向”:“在”,
“authLevel”:“匿名”,
“方法”:[
“得到”
]
},
{
“名称”:“graphToken”,
“类型”:“令牌”,
“方向”:“在”,
“资源”:https://graph.microsoft.com",
“标识”:“客户端凭据”
},
{
“名称”:“$return”,
“类型”:“http”,
“方向”:“向外”
}
],
“禁用”:错误
}

这是一个已知的问题,我们认为这是由使用公共端点而不是专用租户的绑定引起的。我不知道为什么公共端点的默认行为是使用Microsoft租户,但我可以通过对公共端点手动执行流在任何租户中重现该问题

我刚刚意识到我们的GitHub回购协议中没有跟踪该问题,因此我创建了一个新项目:


没有关于修复的预计到达时间,但团队将继续努力。

非常感谢Matt。很高兴看到代码已经修复,正在等待下一个版本。还要提到的是,作为一种解决方法,您可以像往常一样使用ADAL/MSAL获取应用令牌,并且它可以从Azure功能中正常工作。再次感谢!