在运行一个名为“Test”的天蓝色函数后,我遇到了上述错误,该函数重定向到我们要使用的服务的外部 URL。
[FunctionName("Test")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequest req)
{
Log.Information("C# HTTP trigger function processed a request.");
string url = _authenticationService.GetAuthorizationUri().ToString();
return new RedirectResult(url);
}
URL 处的站点提示用户授权使用他们的数据,并执行重定向到我们“AuthorizationCallback”的先前授权的 url,以及查询字符串参数。
[FunctionName("AuthorizationCallback")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req)
{
Log.Information("C# HTTP trigger function processed a request.");
string code = req.Query["code"];
try
{
if (!string.IsNullOrEmpty(code))
{
await _authenticationService.ExchangeCodeForAccessToken(code);
return new OkResult();
}
}
catch (System.Exception)
{
return new UnauthorizedResult();
}
return new NotFoundResult();
}
AuthorizationCallback 函数被命中,但在控制台中产生以下错误:
我已经尝试在当前项目中安装 Microsoft.Extensions.Primitives 的最新稳定版本(5.0.0)和之前的版本(3.1.13),但我仍然遇到同样的错误。我注意到无法加载的包在 microsoft.azure.webjobs (3.0.23) 中,在 microsoft.azure.webjobs.extensions.storage (4.0.4) 中,但这些在另一个项目中使用完全,对于另一个天蓝色函数(blob触发)。关于如何克服这个错误的任何想法?谢谢你们。