【发布时间】:2021-11-12 17:08:43
【问题描述】:
我正在使用 nextjs 构建一个 Web 应用程序,NextAuth 用于身份验证,mongoDB 使用 mongoose 作为数据库。 我在 [...nextauth].js 路径中实现了两个提供程序:Google 和 Github。另外,我已经通过连接 URL 将它连接到数据库。现在我期待的是根据我在 User 模型中提供的 Mongoose 模式自动保存用户。 问题是 Google 用户是根据架构保存的,而 Github 用户不是。
我有两个问题:
- 这是将 NextAuth 连接到我已经连接的 Mongoose 实例的正确方法吗?
- 对此行为的解释是什么?与 Github 相比,为什么 google 用户遵守架构。
我尝试阅读 NextAuth 网站中的文档,但找不到任何解决此问题的内容,也找不到任何解释如何使用 mongoose 实现此目的的内容。
配置文件是:
providers: [
Providers.GitHub({
clientId: process.env.GITHUBID,
clientSecret: process.env.GITHUBSECRET,
}),
Providers.Google({
clientId: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
}),
],
database: process.env.MONGODB,
来自 github 的用户文档示例: Github user document
来自 Google 的用户文档: Google user document
由于阅读文档对我没有帮助,而且网上没有太多关于这个主题的内容,我很想听听一些指导,告诉我在哪里可以找到更多关于 DB 连接如何与 next-auth 工作的信息以及我该如何明白它。谢谢。
【问题讨论】:
标签: mongoose next.js next-auth