【问题标题】:How to authenticate between Azure Functions and a dedicated App Service VM [closed]如何在 Azure Functions 和专用应用服务 VM 之间进行身份验证 [关闭]
【发布时间】:2020-05-27 15:16:28
【问题描述】:

我有一个在消费计划中运行的Function 应用程序。我在 Windows 上启用了 ReadyToRun 编译并针对 x64。问题是 bin 文件夹有许多 dll,总大小为 90 MB。我想尽可能减少冷启动时间。

我正在考虑利用多个应用(通过添加多个 Function 应用或专用 VM 来处理很少使用的逻辑)。是否有任何关于如何在多个应用程序之间进行身份验证的 MS 文档?我的函数应用程序现在正在使用 JWT 的自定义身份验证。一旦用户通过主应用程序进行身份验证,我正在考虑在其他应用程序中调用 REST API。

【问题讨论】:

  • 我强烈建议将您的第一个问题拆分为一个单独的问题,因为它与标题不匹配,这会损害人们找到它的能力,并且会给答案带来压力这两个问题,即使有人不具备这两个方面的专业知识。
  • 好的。将第一个问题移到另一个线程。

标签: azure authentication azure-functions azure-web-app-service cold-start


【解决方案1】:

你的第一个问题我没有答案。但是,我也许可以帮助解决第二个问题。你有没有研究过Durable Functions?如果您希望利用多个应用程序,这似乎是您的解决方案。有关 Durable Functions 的 MSFT 文档,请参阅下面的链接。

Azure Durable Functions

使用 Durable Functions 可以让您协调多个函数的逻辑流程。然后,您可以调用使用生成的密钥进行身份验证的内置 HTTP API。

希望这对您的第二个问题有所帮助。

【讨论】:

  • 是否有任何文档我可以查看以了解生成的身份验证密钥如何与 Durable Functions 一起使用?
【解决方案2】:

我强烈建议您研究 Azure App Service Authentication/Authorization(也称为 EasyAuth)功能。如果您在应用服务计划、消费计划或高级计划上运行函数应用(即,您在 Azure Functions 平台上运行它,而不是将其托管在原始 VM 或其他一些计算平台上),您将获得此功能自动。

This resource 描述了如何为受 Easy Auth 保护的应用程序生成有效的不记名令牌。另请注意,如果您在 C# 中使用 HTTP 触发器,则只需添加 additional parameter to your signature 即可从令牌中获取声明。

【讨论】:

  • 我必须使用自定义身份验证,所以我不能使用那些身份验证提供程序。此外,我已经为我的函数应用程序提供了一个有效的身份验证机制。理想情况下,我想避免将令牌传递给下一个应用程序,以便它再次使用数据库验证令牌。我希望看看是否有办法在 Azure 中调用另一个应用程序并“信任”它而不通过令牌。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-11
  • 2020-09-06
相关资源
最近更新 更多