我正在使用 Next.js API 路由 - https://nextjs.org/docs/api-routes/introduction,但我不知道如何保护它们不被公开。
现在这些路由在我的生产服务器中是公开的。
例如:当我在浏览器中访问 mysite.com/api/cats
时,它返回 -
{ success: true, data: [...] }
请帮忙,我如何向公众隐藏这些 API 路由?
答案 0 :(得分:2)
如果您阻止浏览器请求 URL,那么用户在地址栏中键入 URL 时将看不到数据并且当它生成 Ajax 时,您的 JavaScript 将看不到它请求到相同的 URL。
您无法对浏览器用户隐藏数据,同时仍允许在同一浏览器中运行的应用程序访问它。
答案 1 :(得分:0)
使用 getSession()# 您可以使用 getSession() 方法保护 API 路由。
使用 getToken()# 如果您使用的是 JSON Web 令牌,则可以使用 getToken() 助手来访问 JWT 的内容,而无需自己处理 JWT 解密/验证。此方法只能在服务器端使用。