【问题标题】:Testing Azure Durable Functions locally returns an error about authentication handlers在本地测试 Azure Durable Functions 会返回有关身份验证处理程序的错误
【发布时间】:2021-12-14 11:18:31
【问题描述】:

我一直在 .NET 中使用 Durable Functions,遵循此基本指南:https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-create-first-csharp?pivots=code-editor-vscode

我把它全部设置好了,函数似乎运行正常(我得到了结果),但是当我尝试查询函数的状态时,我得到了以下错误:

发生了未处理的主机错误。 [2021-12-14T11:03:44.595Z] Microsoft.AspNetCore.Authentication.Core:未注册身份验证处理程序。您是否忘记调用 AddAuthentication().AddSomeAuthHandler?。

我一直在寻找可能的解决方案,但似乎找不到适合我的解决方案。我假设 ArmToken 与 Azure 资源相关,但在指南中他们没有提到需要设置它。我错过了什么吗?

【问题讨论】:

标签: c# azure authentication azure-durable-functions


【解决方案1】:

以防万一其他人遇到此错误并且有点难过,这里有一些额外的信息:

如果您将任何依赖 ASP.NET Core 身份验证中间件的库或项目集成到函数项目中,就会发生这种情况。在我们的例子中,我们在 Functions 项目引用的项目中使用 IdentityModel.AspNetCore Nuget 库。 IdentityModel.AspNetCore 依赖于 ASP.NET Core 的 Oidc 中间件,在其注册过程中,它会调用 AddAuthentication(...) 来注册服务。但是因为中间件对来自 ASP.NET Core 的东西有很多依赖,所以如果没有大量额外的工作,它就无法在函数运行时中工作。因此,您可能需要找到罪魁祸首库或项目并将其作为依赖项或拆分内容删除,然后错误就会消失。

更多关于我提到的具体库的功能集成问题,可以参考: https://github.com/IdentityModel/IdentityModel.AspNetCore/issues/110

【讨论】:

    猜你喜欢
    • 2019-05-27
    • 2018-08-12
    • 2018-03-27
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多