问题标签 [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.
next.js - 如何使用 next-auth 在 Next.js 中实现凭据授权?
我尝试使用next-auth获取凭据身份验证,但我没有使用它的经验,无论我做什么,我都会收到以下消息:
[next-auth][error][callback_credentials_jwt_error] 仅当启用 JSON Web 令牌时才支持使用凭据登录 https://next-auth.js.org/errors#callback_credentials_jwt_error
这是我的src/pages/api/auth/[...nextauth].js
文件。
我不知道我做错了什么。
express - 如何使用 next-auth 保护 API 和客户端中的路由
我运行一个后端和一个前端,两者都由端口 8080 上的后端和端口 80 上的前端提供服务。
因此,该应用程序可以正常获取这些路线。现在我需要你的帮助。我已经添加了 next-auth 所以在前端我可以
做类似的事情
这可行,但我还没有弄清楚如何保护 API 的路由。我想在前端和后端保护 route1 和 route2。我想当我登录时需要将令牌传递给 API 但我怎样才能让这两个相互交谈
请记住,我分别运行后端和前端,因为我的生产构建在 docker 中,这就是原因。
javascript - 尝试使用 next-auth 登录时 ECONNREFUSED 127.0.0.1:80
我使用next-auth.js库为 Next.js 我的应用程序创建身份验证系统。在我的本地计算机上一切正常,但在将网站部署到Vercel后,我的登录功能不起作用。
登录页面(/pages/signin)
加载正常,我提交凭据并收到如下错误:
https://projectname-git-branch.username.now.sh/api/auth/error?error=Error%3A%20connect%20ECONNREFUSED%20127.0.0.1%3A80
。
我发现许多文章错误即将错误baseURL
配置axios
,但我axios
在代码中到处都有很多请求(例如,我在应用程序加载后从 firebase 获取数据)并且它可以正常工作。
我控制台记录了我设置baseURL
属性的环境变量,axios
这很好。
我在那里写的关于这个问题的更多信息:#846
我真的不知道该怎么办。我没有得到关于这个错误发生在哪里、哪个文件和行号、我的代码中有什么请求的任何信息。
下面我把我的整个[...nextauth.js]
文件和登录表格。也许我应该在那里更好地配置一些东西。
reactjs - 如果 Apollo GraphQL 令牌无效或已过期,则 NextAuth.js 注销
尝试访问后端(Apollo GraphQL)并返回 401 因为令牌已过期或无效时,清除 NextAuth.js 会话的最佳方法是什么?
我想过一个errorLink
and signout
,但据我所知signout
不能在服务器端使用getServerSideProps
,而只能在客户端使用。
推荐的方法是什么?有没有其他方法可以实现中间件来处理这种情况?
谢谢
javascript - 成功登录后重定向或在下一个身份验证中注册凭据类型
是否有任何示例和/或方法可以在成功登录或注册凭据类型时重定向到私人仪表板next-auth
?我找不到任何明确的文档。
我正在考虑在下面添加重定向,但不确定这是否是正确的方法:
node.js - Mongoose:OverwriteModelError:编译后无法覆盖“用户”模型
我正在使用 Mongoose 管理 MongoDB 服务器,所有其他出现此错误的解决方案都没有帮助。模型没有在其他任何地方定义,我能想到的唯一问题是表/模型已经存在于 MongoDB 服务器上,但除此之外,我以前从未遇到过这个问题。
我目前的代码是这样的:
用户架构(主要作为示例,所有架构都会出现此问题)
我正在尝试做的是从NextAuth获取未正常提供的数据,例如accessToken
(session.accessToken
不是正确的 accessToken)。
我不知道该怎么做,我会尽我所能获得帮助。谢谢!
reactjs - 如何在不退出的情况下更新会话值?
使用NextAuth.js,如何在不注销并再次登录的情况下更新会话对象中的值?
例如,一旦用户登录,我将使用会话中存储的 URL 来显示用户的头像。
我还为用户提供更改他的头像,所以我希望session.user.image
使用头像的新路径进行更新和持久化。我将所有数据存储在 MongoDB 中。我怎样才能做到这一点?现在唯一的解决方案是要求用户退出并重新登录,但这听起来对我来说不是一个可以接受的解决方案:)
我的第一个想法是在用户更新他的头像后更新这个会话对象,但我不知道如何做到这一点。
javascript - 如何使用凭据提供程序在自定义后端使用 axios 确保身份验证
我目前有现有的 Laravel 后端,它返回 JWT 令牌并使用 data.accessToken = data.access.token 在登录回调下设置它。我还可以通过以下方式检索令牌并发送到私有端点:
但这仅在 React 挂钩中可用,但我需要发送它,并且我在另一个文件中有 axios 调用,代码如下:
如何从这个单独的文件中获取访问令牌并将其作为使用 API 客户端的每个请求的默认标头发送?
对于来自服务器的无效请求,还有什么推荐的方法吗?例如,如果我得到 401,我在哪里可以捕捉到这个并重定向回登录页面?
您要做什么尝试为来自单独库的每个请求发送访问令牌,如果未针对私有端点请求进行身份验证,则重定向到登录页面。
复制导入 axios,在 Next Auth 中使用凭证提供程序和自定义后端返回 JWT 令牌。将 signIn 回调中 JWT 的结果映射到数据,以便可以将其保存在用户会话中以供以后检索。
反馈在文档中似乎缺乏完整的示例,其中自定义后端具有凭据提供程序,具有私有端点处理和检索,为在单独的 API 请求中完成的请求封装访问令牌。最好有端到端的例子,我们可以参考实现处理所有这些场景。
reactjs - 是否可以将 next-auth Provider 包装在 redux Provider 中?
如果我已经在我的 next.js 应用程序中使用了 next-auth,我可以在 _app.js 中以某种方式在它周围添加 redux 吗?
我尝试的是这样的:
这个对吗?它是这样工作的吗?我还需要使用 redux-saga,对整个事情来说都是新的,所以我还处于设置阶段