问题标签 [next-auth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
766 浏览

reactjs - NextAuth.js 用于与 Google 进行身份验证的 [client_fetch_error] 与 next.js

我正在使用 next-auth.js 库在 next.js 中向 Google 进行身份验证。它在本地主机中运行良好,但我在生产环境中遇到了问题。我浏览了 next-auth 文档,发现这是环境变量的一个已知问题。

我面临的错误是: [error][client_fetch_error] https://next-auth.js.org/errors#client_fetch_error。所以我通过添加一个环境变量来更改代码, NEXTAUTH_URL = "https://domainname/" 正如他们在文档中提到的那样。尽管如此,我仍然面临同样的错误,它也抛出了一个错误的网关请求GET https://domaniname/api/auth/session 502
此外,我确保 clientId、clientSecret 具有正确的值和授权的重定向 URI:https://domainname/api/auth/callback/google

谁能帮我解决如何纠正它?

0 投票
2 回答
135 浏览

mysql - Next-Auth Field 'identifier' doesn't have a default value

I am setting up next-auth for my app and trying to add login with email. I used mysql schemas from next-auth documentation and one of them is verification_requests:

When I try to login with email, it is giving following error: Field 'identifier' doesn't have a default value for following query:

I am getting this error because next-auth is trying to insert info verification_requests table but since the schema doesn't have default value for field identifier, it is throwing error. I couldn't find any thing mentioned about what kind of default value we need to declare in mysql schema for the Identifier field. Could anyone please help?

0 投票
1 回答
790 浏览

javascript - 如何将 _app.js 包装在多个提供程序中?

我想知道是否有可能以及如何将我的顶级页面包装_app.js在 Redux 提供程序中,考虑到我已经使用 Next-auth 提供程序将其包装,例如:

问题是当我尝试添加 Redux<Provider ..时,它说Provider已经定义了。

0 投票
2 回答
822 浏览

reactjs - 如何在 next-auth 中添加自定义“检查您的电子邮件”页面?(验证请求)

我试图在那里拥有自己的文字和风格。在文档(https://next-auth.js.org/configuration/options#pages)中,它说我们可以通过添加来添加自定义页面,verifyRequest: '/auth/verify-request'但没有示例

我尝试使用此代码创建自定义 verify-request.js 文件https://github.com/nextauthjs/next-auth/blob/1838e43b275fa36b1eb7bd046eead6795cfd0f2d/src/server/pages/verify-request.js但它不适用于我...

是否有示例ot教程如何做到这一点?我尽我所能搜索了所有内容,但一无所获。

0 投票
1 回答
1406 浏览

jwt - 下一个身份验证 + 下一个 JS

我正在尝试使用 NextAuth 作为我的项目的身份验证提供程序。我有一个要求,我有基于凭据的登录名/密码。在这种情况下,当我登录时,我必须将用户名/密码传递给自定义 API(例如:abc.com/auth/login)。这个 API 成功后将返回一个 JWT,以便将来进行通信以访问他们的资源。

我从 NextAuth 了解到它维护自己的会话和 JWT(如果未提供数据库)。此功能适用于我的情况,但我必须维护 API 返回给我的 JWT(如上所述)。所以现在有两个 JWT,一个是我从 API 收到的,一个是 NextAuth 创建的。

我的问题:

  • 有没有一种方法可以用来维护从 API 收到的自定义 JWT?
  • 如果 API 令牌已过期以进行调和,有没有办法让我可以终止 NextAuth 会话。
  • 保持 NextAuth 会话和自定义 JWT 令牌同步的最佳方法是什么?

提前致谢!

0 投票
1 回答
2031 浏览

next.js - 提供者为 Auth0 时,下一个身份验证登录失败并出现 oauth_get_access_token_error 和 callback_oauth_error 错误

在具有通过 Auth0 授权的 next-auth 库的 NextJS 应用程序上,我在授权流程中遇到错误:

没有任何引用的错误有任何细节。

auth0 中的应用程序设置实际上只是Allowed Callback URLs设置http://localhost:3000/api/auth/callback/auth0为 auth0 登录抱怨它的基础。

文件中的 next-auth 配置./api/auth/...[nextauth]如下:

什么可能是错误配置?是否有可能通过本地主机上的 next-auth 提供程序运行 auth0?

0 投票
0 回答
296 浏览

reactjs - 在 Next.js 中提供受保护的图像

我将 Next.js 与 next-auth 一起用于 OAuth,并希望提供只有经过身份验证的用户才能访问的图像。图像与 Next.js 应用程序存储在同一台机器上,例如在assets/images目录中。我将如何从那里为他们服务?我是否需要在api目录内创建一个 api 端点并在呈现受保护的页面时获取它们?

0 投票
2 回答
3116 浏览

graphql - 在 Apollo Server 上下文中获取 NextAuth.js 用户会话

我的网络应用程序正在使用:

  • NextJS
  • NextAuth.js
  • 阿波罗服务器

我在我的应用程序中设置了 NextAuth,我可以正常登录。

问题来自试图在 Apollo 上下文中访问用户会话。我想将我的用户会话传递给每个解析器。这是我当前的代码:

问题是,会话 ( userSession) 始终为空,即使我已登录(并且可以从适当的 NextJS API 路由中很好地获取会话)。我的猜测是,因为用于获取会话的 NextAuth 函数getSession({ req })正在被传递——req它是由 Apollo Server Micro 提供的,而不是来自 NextJS(NextAuth 所期望的)。我做了很多搜索,找不到遇到同样问题的人。任何帮助深表感谢!

0 投票
0 回答
180 浏览

postgresql - 如何使用 Hasura 和 Nextauth 在 DO 容器上公开 postgres 实例?

我正在使用 Hasura 的“一键式”部署到 Digital Ocean。postgres 实例运行良好,但我使用 NextAuth.js 对用户进行身份验证。无法通过 Nextauth 访问 postgres 实例。

这是我的docker-compose文件:

这就是docker-compose ps终端中运行显示的内容:

docker-compose文件中可以看出,我已经尝试映射端口。我也尝试进入/var/lib/docker/containers/<container_hash>并编辑hostconfig.json绑定端口,但没有成功。此外,我尝试编辑postgresql.conf以接受所有 IP,但没有成功。

这就是我将database值传递给 NextAuth 的内容:

没有可见的错误,但用户不是在数据库中生成的,因此我猜测没有连接。NextAuth 不会将任何错误记录到控制台。

如果我尝试psql使用以下命令从命令行连接,则连接超时。

我还发现 Hasura 的 droplet 带有 ufw 作为防火墙,并阻止除 80 和 22 之外的所有端口上的流量,但即使添加了端口 5432,也没有任何改善。

显然,我对 Docker 或容器一无所知。我期待有人告诉我我犯了什么简单、明显的错误。

谢谢!

0 投票
1 回答
284 浏览

asynchronous - 如何为下一个身份验证提取 Heroku postgres 凭据?

我正在尝试在 Heroku 上使用带有 Next-Auth.js 的 postgres 实例 Heroku 的文档指出不应将凭据硬编码到应用程序中;所以,我正在尝试使用 Heroku 的 api 来获取所需的 url。我的问题 - 我认为 - 当我尝试异步运行 axios 请求时,return 语句的值没有分配给对象的database属性options。我究竟做错了什么?非常感谢!