程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了当用户在 nextjs 中未经身份验证时如何呈现 404 页面大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决当用户在 nextjs 中未经身份验证时如何呈现 404 页面?

开发过程中遇到当用户在 nextjs 中未经身份验证时如何呈现 404 页面的问题如何解决?下面主要结合日常开发的经验,给出你关于当用户在 nextjs 中未经身份验证时如何呈现 404 页面的解决方法建议,希望对你解决当用户在 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,请注明来意。
标签: