【发布时间】:2021-02-28 03:37:15
【问题描述】:
场景:我有一个使用 B2C 身份验证保护的 Blazor wasm 应用程序,它需要调用 HTTP 触发的 Azure 函数。保护该 Azure 函数的最佳方法是什么,以便只有 Blazor 应用和/或经过身份验证的用户才能调用该函数?
到目前为止,我知道如何使用 B2C 保护 Blazor 应用程序(显然很傻!),并且我还能够将 B2C 身份验证添加到 Azure 函数并通过验证 jwt 令牌来保护调用。但我并不清楚这两个部分应该如何结合在一起。
是否应该在 B2C 租户的 Azure Function 的应用注册中公开 API?如果是这样,Blazor 应用将如何对 Azure 函数进行经过身份验证的调用?
或者我是否只是通过 Azure 函数调用的 http 请求标头从 Blazor 应用程序发送 jwt 令牌,然后在函数内手动验证该令牌?
我最近阅读了很多关于这个主题的不同帖子,但我仍然无法弄清楚实现它的最佳解决方案是什么。
任何帮助/提示将不胜感激。
谢谢!
ps:我对使用 Azure API 管理不感兴趣,因为对于一个非常简单的应用解决方案来说,它有点贵。
【问题讨论】:
-
你有什么更新吗?
-
嗨@jim-xu !首先,感谢您的详细回答。我昨天才开始尝试让它工作。我一直在为新应用注册与 b2c 门户中的旧应用注册而苦苦挣扎。另外,我不能使用最新版本的 Microsoft.Extensions.Http (5.0) 它似乎破坏了应用程序的其他部分。我会及时向大家发布。 :)
标签: azure azure-functions azure-ad-b2c blazor-webassembly