大佬教程收集整理的这篇文章主要介绍了当用户在 nextjs 中未经身份验证时如何呈现 404 页面,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 next-auth 对用户进行身份验证。当我导航到 NextJs 服务器上不存在的 API 路由时,我收到 404 响应和错误页面。当未经身份验证的用户导航到我的 API 路由之一时,我想模拟这种行为。我目前的测试路线如下所示:
// API/test.Js
import { getSession } from 'next-auth/clIEnt'
export default async (req,res) => {
const session = await getSession({ req });
if (session) {
// Signed in
res.Json(JsON.stringify(session,null,2));
} else {
// Not Signed in
res.status(404);
}
res.end();
}
不幸的是,这会导致空白页。理想情况下,我希望未经身份验证的用户无法区分不存在的页面和被阻止的 API 路由之间的区别。我还注意到,当我卷曲一条不存在的路线时,例如curl -i http://localhost:3000/API
,我得到以下响应(以及错误页面的所有 HTML):
http/1.1 404 Not Found
Cache-Control: no-store,must-revalIDate
X-Powered-By: Next.Js
Content-Type: text/HTML; charset=utf-8
Content-Length: 2427
vary: Accept-EnCoding
Date: Thu,20 May 2021 10:45:45 GMT
Connection: keep-alive
Keep-Alive: timeout=5
当我运行 curl -i http://localhost:3000/API/test
以点击上述代码时,我得到以下响应:
http/1.1 404 Not Found
Date: Thu,20 May 2021 10:44:57 GMT
Connection: keep-alive
Keep-Alive: timeout=5
transfer-encoding: chunked
当用户未经过身份验证以查看(并返回相同的标头)作为默认 NextJs 404 错误响应时,如何修改响应?
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的当用户在 nextjs 中未经身份验证时如何呈现 404 页面全部内容,希望文章能够帮你解决当用户在 nextjs 中未经身份验证时如何呈现 404 页面所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。