Dockerized Azure Function App 的 AAD B2C 身份验证
AAD B2C Authentication for Dockerized Azure Function App
我们目前成功地运行 Node.js Azure Function App 部署在 Azure 的应用服务中,使用 AAD B2C 身份验证作为 React-基于单页应用程序。 SPA 中的用户身份验证是使用 Azure AAD B2C 完成的,其中用户获得一个 JWT 令牌,该令牌用作针对后端 API 的所有请求的承载令牌。
这很好用。
由于不同的原因,我们现在需要 dockerize 我们的 Function App 并将其移动到 Kubernetes 集群中。这使我们无法在应用服务中使用 Function App 的 AAD B2C 集成来保护 API,因此我们需要一种不同的方法来验证请求的 Bearer 令牌 .
据我们了解,有两种可能的选择:
- passport.js
- MSAL
passport.js 似乎适用于所有基于 Express 的应用程序,因此不适合我们,因为我们的 Function App 不是基于 Express 的。
我们还查看了 msal-node 和使用它的各种示例,但很难准确理解我们的令牌验证适合的位置和方式以及哪些示例(如果有的话)适合我们的用例。
我们是否在使用 msal-node 寻找正确的方向?如果是,我们如何通过使用 AAD B2C 验证 Bearer 令牌来完成保护容器化 Node.js Azure Function App 的任务?
我们找到了可行的解决方案。原来我们想的太复杂了,“正常”的 JWT 验证正是我们需要做的。
准确描述了我们想要实现的目标。
我们目前成功地运行 Node.js Azure Function App 部署在 Azure 的应用服务中,使用 AAD B2C 身份验证作为 React-基于单页应用程序。 SPA 中的用户身份验证是使用 Azure AAD B2C 完成的,其中用户获得一个 JWT 令牌,该令牌用作针对后端 API 的所有请求的承载令牌。 这很好用。
由于不同的原因,我们现在需要 dockerize 我们的 Function App 并将其移动到 Kubernetes 集群中。这使我们无法在应用服务中使用 Function App 的 AAD B2C 集成来保护 API,因此我们需要一种不同的方法来验证请求的 Bearer 令牌 .
据我们了解,有两种可能的选择:
- passport.js
- MSAL
passport.js 似乎适用于所有基于 Express 的应用程序,因此不适合我们,因为我们的 Function App 不是基于 Express 的。 我们还查看了 msal-node 和使用它的各种示例,但很难准确理解我们的令牌验证适合的位置和方式以及哪些示例(如果有的话)适合我们的用例。
我们是否在使用 msal-node 寻找正确的方向?如果是,我们如何通过使用 AAD B2C 验证 Bearer 令牌来完成保护容器化 Node.js Azure Function App 的任务?
我们找到了可行的解决方案。原来我们想的太复杂了,“正常”的 JWT 验证正是我们需要做的。