如何获取Next.js ISR按需重新验证的Secret Key?Token来源解惑
Revalidate API路由的SECRET_TOKEN设置说明
- 这个SECRET_TOKEN可自行设定,无需依赖特定工具生成。
- 你可以自定义任意复杂度足够的字符串作为token,比如字母、数字、特殊符号的组合,核心是保证token难以被猜测,避免未授权访问。
- 使用时需将token配置到项目环境变量中(如
.env.local文件里添加SECRET_TOKEN=你的自定义字符串),然后在revalidate API路由代码中读取该环境变量,验证请求传入的secret参数是否匹配。 - 简单示例代码:
export async function GET(request) { const secret = request.nextUrl.searchParams.get('secret'); if (secret !== process.env.SECRET_TOKEN) { return new Response('Invalid secret', { status: 401 }); } // 执行页面重新验证逻辑 await revalidatePath('/target-path'); return Response.json({ revalidated: true }); }
内容的提问来源于stack exchange,提问作者testcoder101
相关产品推荐
相关产品推荐

