【问题标题】:Nextjs authenticationNextjs 认证
【发布时间】:2022-06-28 17:50:20
【问题描述】:

我正在迈出 Nextjs 的第一步,我正忙于定义身份验证部分。我知道 Nextjs 通常依赖 NextAuth 进行身份验证。我的第一个想法是启用像谷歌这样的提供商,但我不明白如何避免新用户注册。我正在考虑的应用程序需要登录来保护路线,而不是注册部分。基本上我需要自己决定谁可以访问。

实际上,我开始研究依赖会话 cookie 和 MongoDb(不涉及 jwt)的快速后端,但现在我对如何进行有点困惑。

有没有办法避免向提供商注册新用户? 你有什么建议?

非常感谢

【问题讨论】:

  • 你试过 passport.js 吗?
  • 不,实际上我花了一些时间阅读 NextAuth。没用过护照。请问您使用 Passport 有什么好处?
  • 您不需要从头开始构建所有内容。它还有不同的提供商,如 google、facebook 等。
  • 好的,谢谢。我试试看
  • 您能否详细说明为什么要避免新用户注册?

标签: authentication next.js


【解决方案1】:

Nextjs 应用程序中的身份验证就像任何其他 React 应用程序一样。 虽然 NextAuth 很棒,但如果你不想依赖它,你也不必依赖它。

将 Nextjs 应用想象成一个基本的 React 应用。身份验证也是如此。在这个中没有任何特定于 Nextjs 的内容。

您可以将身份验证相关数据保存在 cookie/headers 中并编写一个中间件,使用它 getServerSideProps 调用您要保护的所有页面,如果会话已过期/无效,则将用户重定向到登录页面。

您可以创建与身份平台的自定义集成,这将允许您在收到来自特定身份平台的数据后选择是否为用户创建帐户。

【讨论】:

    猜你喜欢
    • 2021-08-11
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    相关资源
    最近更新 更多