【发布时间】:2021-05-08 13:20:00
【问题描述】:
我有一个托管在 Azure 应用服务上的 .Net 5 Web API。
该 API 具有三个作为托管服务运行的后台服务,它们执行长时间运行的流程,例如批量发送电子邮件和短信,以及每天按计时器运行一次的其他功能。
我正在考虑将这些托管/后台服务转移到单独的 Azure Functions 中,然后我将通过 HTTP 请求从我的 API 调用/触发(除了在计时器上运行的那个)
我担心的是身份验证。这如何与 Azure Functions 一起使用?目前,我的 Web API 使用 Auth0 作为身份验证服务器。因此,当用户使用前端 Web 应用程序 (Angular) 时,他登录(通过 Auth0 的登录表单),然后前端从 AUth0 检索访问/承载令牌,然后它包含在对 API 的每次调用中(在 Authentication 标头中)。
现在,显然我不希望任何人都能调用 Azure Functions - 只有我的 Web API 才能这样做。但这是如何工作的? API调用时是否需要将从前端收到的访问令牌转发给Azure Function?或者我需要在 Azure 门户中设置什么来告诉它必须允许我的 API 访问 Azure 函数(并阻止来自任何其他来源的任何请求)?
我以前从未使用过 Azure Functions 甚至 WebJobs,所以我有点迷茫。 谢谢
【问题讨论】:
标签: azure asp.net-core authentication azure-functions webapi