使用 next.js,如何限制对 API 路由的请求仅来自网页?

Sha*_*oon 6 typescript next.js

我想将 API 路由限制为仅允许来自 Web(反应)应用程序。这能实现吗?

Eck*_*sDy 4

查看官方文档

以下是您要传递给 cors 中间件的选项:

const corsOptions = {
  origin: 'http://domain-of-your-webapp.com',
}
Run Code Online (Sandbox Code Playgroud)

编辑:

正如brc-dd和您所指出的,除了浏览器尝试访问您的 API 之外,上述解决方案不会防止任何其他情况。

我浏览了这个线程,似乎得出的结论是,如果您希望 API 是匿名的,那么这是非常不值得的。

如果您确实满足于身份验证,那么NextAuth.js是 Next.js 应用程序的一个简单而快速的解决方案。