根据文档,您应该使用 SECRET_TOKEN 来防止未经授权访问您的重新验证 API 路由,即
https://<your-site.com>/api/revalidate?secret=<token>
但是,您应该如何从前端调用该路由并保持令牌的秘密呢?
例如,如果您有一个简单的 POST,然后想要触发重新验证,则必须通过 NEXT_PUBLIC 公开您的秘密令牌才能使用它:
function handleSubmit(payload) {
axios.post(POST_URL, payload)
.then(() => {
axios.get(`/api/revalidate?secret=${process.env.NEXT_PUBLIC_SECRET_TOKEN}`)
})
.then(() => {
// redirect to on-demand revalidated page
})
}
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?如何在不暴露 SECRET_TOKEN 的情况下通过前端调用 API 路由?
next.js ×1