Nextjs API 路由作为 API 网关

问题描述 投票:0回答:1

在我的微服务项目中,我需要一个新层作为 API 网关来更改/添加/检查几乎所有从前端(客户端)到我的后端 API 的请求的一些数据。大多数情况下,我会用它来检查是否提供了有效的 JWT 或请求是否格式错误。

作为前端,我的项目中使用了 nextjs 服务器。 Nextjs 具有 API 路由的特性(https://nextjs.org/docs/api-routes/introduction)。

我想知道如果您只想做一些基本的事情,比如检查请求是否具有有效的请求主体或是否提供了有效的 JWT,是否需要专用的 API 网关。在这些检查之后,我会将请求转发或重定向到另一个微服务后端 API 端点。

如果我使用 Nextjs API 路由而不是专用的 API 网关:

  • 我不需要在我的项目中管理一个全新的微服务(例如使用 Nodejs/Express 构建的 API 网关)
  • 我不需要为同源政策烦恼

对我来说,这种方法看起来不那么复杂,而且由于我有 nextjs 服务器运行,所以 API 路由可以毫不费力地使用。

我错过了什么吗?

使用 nextjs API 路由作为 API 网关是个好主意吗?还是应该继续使用专用的 API 网关?

next.js api-gateway
1个回答
1
投票

我过去出于类似原因使用过这种方法。很有魅力。

需要考虑的事情:

  • 您仍然需要在后端验证您的 jwt 令牌,以便通过代理。
  • 如果您正在使用 OIDC oauth,请考虑使用像 nextJS auth0 库这样的库来保护您在加密 cookie 中的 jwt 令牌。
  • 你可以使用像 express-http-proxy 这样的东西来做一些繁重的工作,围绕代理 api 请求从 nextjs 到你的后端。
  • 如果您使用像 sentry 这样的日志记录框架,请确保将前端 -> nextjs 服务器 -> 后端作为任何分布式跟踪关联的一部分,以便您可以通过层跟踪错误。

祝你好运

© www.soinside.com 2019 - 2024. All rights reserved.