问题标签 [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.
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
谁能帮我解决如何纠正它?
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?
javascript - 如何将 _app.js 包装在多个提供程序中?
我想知道是否有可能以及如何将我的顶级页面包装_app.js
在 Redux 提供程序中,考虑到我已经使用 Next-auth 提供程序将其包装,例如:
问题是当我尝试添加 Redux<Provider ..
时,它说Provider
已经定义了。
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教程如何做到这一点?我尽我所能搜索了所有内容,但一无所获。
jwt - 下一个身份验证 + 下一个 JS
我正在尝试使用 NextAuth 作为我的项目的身份验证提供程序。我有一个要求,我有基于凭据的登录名/密码。在这种情况下,当我登录时,我必须将用户名/密码传递给自定义 API(例如:abc.com/auth/login)。这个 API 成功后将返回一个 JWT,以便将来进行通信以访问他们的资源。
我从 NextAuth 了解到它维护自己的会话和 JWT(如果未提供数据库)。此功能适用于我的情况,但我必须维护 API 返回给我的 JWT(如上所述)。所以现在有两个 JWT,一个是我从 API 收到的,一个是 NextAuth 创建的。
我的问题:
- 有没有一种方法可以用来维护从 API 收到的自定义 JWT?
- 如果 API 令牌已过期以进行调和,有没有办法让我可以终止 NextAuth 会话。
- 保持 NextAuth 会话和自定义 JWT 令牌同步的最佳方法是什么?
提前致谢!
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?
reactjs - 在 Next.js 中提供受保护的图像
我将 Next.js 与 next-auth 一起用于 OAuth,并希望提供只有经过身份验证的用户才能访问的图像。图像与 Next.js 应用程序存储在同一台机器上,例如在assets/images
目录中。我将如何从那里为他们服务?我是否需要在api
目录内创建一个 api 端点并在呈现受保护的页面时获取它们?
graphql - 在 Apollo Server 上下文中获取 NextAuth.js 用户会话
我的网络应用程序正在使用:
- NextJS
- NextAuth.js
- 阿波罗服务器
我在我的应用程序中设置了 NextAuth,我可以正常登录。
问题来自试图在 Apollo 上下文中访问用户会话。我想将我的用户会话传递给每个解析器。这是我当前的代码:
问题是,会话 ( userSession
) 始终为空,即使我已登录(并且可以从适当的 NextJS API 路由中很好地获取会话)。我的猜测是,因为用于获取会话的 NextAuth 函数getSession({ req })
正在被传递——req
它是由 Apollo Server Micro 提供的,而不是来自 NextJS(NextAuth 所期望的)。我做了很多搜索,找不到遇到同样问题的人。任何帮助深表感谢!
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 或容器一无所知。我期待有人告诉我我犯了什么简单、明显的错误。
谢谢!
asynchronous - 如何为下一个身份验证提取 Heroku postgres 凭据?
我正在尝试在 Heroku 上使用带有 Next-Auth.js 的 postgres 实例 Heroku 的文档指出不应将凭据硬编码到应用程序中;所以,我正在尝试使用 Heroku 的 api 来获取所需的 url。我的问题 - 我认为 - 当我尝试异步运行 axios 请求时,return 语句的值没有分配给对象的database
属性options
。我究竟做错了什么?非常感谢!