【问题标题】:ASP.NET Worker Service making calls to Web API in a secure way [closed]ASP.NET Worker Service 以安全的方式调用 Web API [关闭]
【发布时间】:2021-01-16 18:04:08
【问题描述】:

我有一个用 ASP.NET Core 编写的 web api。我还有一个 Worker 服务按计划执行工作。每次工作迭代完成时,我都想通知用户使用 Web api 的 Angular 应用程序。我希望 Web api 使用 SignalR(无论是 Azure SignalR 还是自托管 SignalR)。我认为 Worker 服务可以使用刚刚完成的作业的元数据作为有效负载来调用 Web API。然后 web api 将广播给那些收听的人。

Angular 应用使用受信任的 Active Directory B2C idToken 和 accessToken 对 Web API 进行经过身份验证的调用。由于 Worker 服务背后没有用户,我不确定如何保护我的 web api 以允许从我的 Worker 服务调用特定端点。我对此端点使用什么类型的身份验证?我必须从哪些选项中进行选择?这些方法的文档在哪里?

【问题讨论】:

  • 致投票结束这个问题的英雄们:我一直在努力寻找在哪里提出这些类型的问题。如果这种类型的问题真的不适合 StackOverflow,至少花一点时间考虑建议人们可以去哪里提问而不是在这里提问。在没有向提出问题的人反馈的情况下结束问题,通常会阻止提出问题的人进一步寻求答案。我花了很长时间试图自己弄清楚这一点。我只是想向一个聪明的社区寻求帮助和指导。
  • 这也发生在我身上,当我有一个棘手的问题并在几分钟内关闭时。但在我写这篇文章时,我看到问题是开放的。
  • 看看您的问题,如果将其部署为 Azure 函数,这似乎会得到更好的服务。也许您可以将您的工作人员服务重新设计为 Azure Function,我相信 Azure Function 有一种更方便的方式来使用 .NET Core 和 SignalR 或其他方式进行身份验证。我不是工人服务或天蓝色功能方面的专家,但提出一个想法。
  • 对于它的价值,我投票决定关闭它,因为它过于宽泛/教程要求,因为这似乎是它所要求的。手头没有任何代码的高级概念性问题更适合软件工程,而不是 Stack Overflow。如果您从一些实施开始并遇到问题,那么 SO就是您的网站。

标签: c# asp.net-core authentication asp.net-core-webapi


【解决方案1】:

我对该端点使用什么类型的身份验证?

您需要 client_credentials 授权类型。根据OAuth2 docs...客户端使用客户端凭据授予类型来获取用户上下文之外的访问令牌...

我必须从哪些选项中进行选择?这些方法的文档在哪里?

您提到您正在使用 AD B2C - 在 docs 中,他们提到当前不支持客户端凭据流。

但是,docs 指定了如何使用 Azure AD 进行设置

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 2022-10-14
    相关资源
    最近更新 更多