问题标签 [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 投票
0 回答
788 浏览

reactjs - 使用自定义登录和后端实现 NextAuth 凭据时出错

我正在使用我的 NextJS(GraphQL) 应用程序实现 NextAuth。我有这个错误:

网络错误还显示:

错误:/api/auth/session 不支持 HTTP GET

错误:/api/auth/providers 不支持 HTTP GET

我不会GET在我知道的任何地方提出请求。我的代码如下:

pages/api/[...nextauth.js]

pages/login.js

handleLogin method

0 投票
0 回答
34 浏览

postgresql - 如何为 nextauth 引入 heroku postgres 凭证变量

原帖中,作者包括 PROCESS.ENV.API_KEY 和 PROCESS.ENV.POSTGRES_INSTANCE;

这些环境变量指的是什么???我如何从heroku生成这个?

原始帖子中的相关代码片段:

0 投票
0 回答
76 浏览

javascript - OAuth2 - 在数据库中存储什么?

我正在使用 NextAuth.js 进行用户身份验证。

登录部分已经完成,但是在将用户数据存储在数据库中时我迷路了。我想过使用accessToken作为密钥,但几天后刷新。

现在,解决这个问题的正确方法是什么?

0 投票
0 回答
116 浏览

async-await - 401 - 未经授权从 nextjs 调用 Twitch Api

我有这个代码:

这是 Next.js 函数,它将在每个请求上执行此操作。我正在使用 Next.js,next-auth 进行身份验证。一切都应该正常工作,即使在网上console.log(accessToken)我也能得到预期的输出。但在功能getId上它说401 - unauthorized。我正在调用 Twitch api。

0 投票
1 回答
964 浏览

javascript - 无法通过 Mongodb 中的下一个身份验证在登录时将自定义字段添加到用户模型

当用户通过下一个身份验证登录时,我需要将自定义字段添加到默认用户模型。我尝试了官方文档https://next-auth.js.org/tutorials/typeorm-custom-models中的方法。

以下是我的代码:

模型/User.js

模型/index.js

pages/api/auth/[...nextauth].js

这应该在用户模型中添加了一个额外的电话号码字段,但是当我检查 db 时,它只包含默认字段。我在这里做错了什么?有没有更好的方法来达到同样的结果??

0 投票
1 回答
787 浏览

reactjs - next-auth / urql - 访问访问令牌以在 urql 客户端中设置授权标头

我正在使用next-auth来管理我的 next.js 应用程序的 JWT 令牌和会话。我还使用urql作为 GraphQL 客户端。我在一个文件中初始化 urql 客户端,如下所示:

然后将其添加_app.tsx如下:

在这个阶段没有什么特别的。

现在我的问题是我希望能够访问访问令牌以Authorization在客户端中添加标头,但是由于这段代码存在于 React 组件之外,因此我无法使用useSessionnext-auth 提供的钩子。

任何人都可以提出解决这个问题的最佳方法吗?谢谢。

0 投票
0 回答
725 浏览

typescript - NextAuth.js - 向 Session 添加额外的属性

我正在尝试使用“identify”和“guilds”范围对 Discord 用户进行身份验证。似乎可以token.profile使用以下代码将 Discord 提供的用户信息添加到令牌中(注意我也包括行会数组):

但是,一旦我添加了一个将对象添加到会话中的session函数,即使在登录时会话也会一直存在,并且 Discord 的登录屏幕会提示我输入用户名和密码,而不是自动让我进入。profilenull

附带说明一下,我必须在函数中添加这么多@ts-ignores的原因session是它期望有一段Promise<WithAdditionalParams<Session>>时间我只返回 a Promise<Session>,不知道如何解决这个问题。

谁能帮我将我从 Discord 收到的信息添加到session我的应用程序中,以便我可以在我的应用程序中使用它?

0 投票
0 回答
475 浏览

typescript - next-auth TypeORM 中的自定义模型不起作用

我正在使用 next-auth 和 nextjs。我从文档中复制了它并对其进行了少量更改,但它不起作用。

它应该工作。但是当我调用 useSession 时它不会显示积分。我的数据库是 MongoDB,连接字符串。官方文档:https ://next-auth.js.org/tutorials/typeorm-custom-models

0 投票
0 回答
708 浏览

authentication - NextJs/ Apollo Client/ NextAuth 问题将授权承载令牌正确设置为标头

对于使用 apollo 客户端的经过身份验证的 gql 请求,我无法正确地将我的 jwt 令牌从我的 cookie 设置为我的标头。

我相信问题出在我的 withApollo.js 文件上,该文件将 App 组件包装在 _app.js 上。此文件的格式基于 wes bos 高级 react nextjs graphql 课程。发生的事情是 nextauth 将 JWT 保存为 cookie,然后我可以使用自定义正则表达式函数从该 cookie 中获取 JWT。然后我尝试将此令牌值设置为授权承载标头。问题是,在第一次加载带有需要 jwt 令牌的 gql 查询的页面时,我收到错误“无法读取未定义的属性 'cookie'”。但是,如果我点击浏览器刷新,那么它会突然起作用,并且令牌已成功设置为标题。

一些研究使我添加了一个 setcontext 链接,因此我尝试执行此操作。我尝试异步等待设置令牌值,但这似乎没有帮助。似乎标题在刷新之前不想设置。

lib/withData.js

页面/_app.js

api/auth/[...nextAuth.js]

0 投票
0 回答
51 浏览

next.js - 在 NextJS 中配置 next-auth 时添加 {Providers} 时出错

我正在尝试使用 next-auth 为我的应用程序设置身份验证,并且我需要在页面目录的“-App”页面中包含 {Providers}。代码应该如下所示,因为我将子组件包装在 Layout 组件中:

但是,我不知何故需要包括提供者以使其看起来像这样:

如何在不出错的情况下同时添加 Providers 和 Layout 组件?