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

node.js - NextAuth:使用 OAuth 授权对 Twitter API 的调用

我无法理解 Twitter 授权系统的工作原理。我正在使用next-auth向 Twitter 进行身份验证,我得到的响应如下所示:

如何使用它来调用 Twitter API?

使用twitter-lite,我如何使用refreshTokenaccessToken来授权请求​​?看来我需要access_token_keyand access_token_secret

任何帮助将永远感激。

0 投票
1 回答
3669 浏览

next.js - next-auth 中 useSession() 的“加载”返回值是什么?

我正在编写一个 Next.js 项目,并使用 GitHub 和next-auth. 在 的示例中next-auth,有一个对 的调用useSession(),它返回两个对象:sessionloading。但是,我看到的所有示例都没有实际使用该loading对象。

问题: 的目的loading是什么,在实践中如何使用?

0 投票
2 回答
2079 浏览

javascript - 使用 Next-Auth 进行身份验证时如何修复内部服务器错误

我正在尝试使用 Next-Auth 向我的 Next.js 项目添加身份验证,但是500 internal server error在提交凭据 ( http://localhost:3000/api/auth/error?error=Configuration) 后我被卡住了。

我认为这可能与在 http://localhost:3000 上运行有关,但我不确定。谁能看到我做错了什么?

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

页面/index.js

页面/_app.js

next.config.js

任何帮助将非常感激。

0 投票
2 回答
681 浏览

next-auth - nextauth 与自定义 Okta 提供程序

next-auth npm 包默认使用标准 Okta 域授权服务器,形式为https://${yourOktaDomain}/oauth2. 我必须连接到自定义 Okta 授权服务器,形式为:https://${yourOktaDomain}/oauth2/${authServerId}. 问题是:如何配置 nextauth 以识别 Okta 授权服务器我需要自定义服务器吗?如果没有此信息,NextAuth 不会形成正确的 URI。我在 NextAuth 站点1上找不到配置选项

0 投票
2 回答
1841 浏览

javascript - 如何使用 next-auth 获取额外的范围数据?

我正在使用带有不和谐身份验证的 next-auth,我将公会添加到我的范围,但我无法获取公会数据,这怎么办?

0 投票
1 回答
1127 浏览

cookies - 使用 NextAuth 跨多个域 (CORS) 进行身份验证

我想做一个从 domain1.com 到 domain2.com 的 XHR。domain2.com 是一个使用 NextAuth 的 NextJS 应用程序。

问题是当我执行此请求时,不包括 domain2 的 cookie。我的代码是:

服务器代码:

我怎样才能做到这一点?

0 投票
1 回答
6149 浏览

next.js - NextAuth 与自定义凭据提供程序不创建会话

我正在尝试在我的 NextJs 应用程序中实现 NextAuth。我正在关注官方文档。但出于某种原因,似乎用户会话对象不是在登录时生成的。

这是我的 pages/api/auth/[...nextauth].js 文件中的代码

我在这里没有得到什么?谢谢您的帮助。

0 投票
2 回答
3530 浏览

javascript - NextJs 身份验证与针对 DRF 的 Next-Auth

我有一个退出的 Django 项目,我正试图从模板转移到 NextJs 前端。我遇到了 Next-Auth-js,它在 Next Auth 中似乎很不错。

但是,该文档似乎更关注与 JS 相关的后端身份验证。按照此示例,我已将 NEXTAUTH_URL 环境变量发送到我的 DRF 端点 localhost:8002。虽然前端在 localhost:3000 上运行。虽然我的 _app.js 看起来像这样:

使用Nav.js进行测试,我更改了登录/输出 href 以指向我的 Django 端点,但似乎 next-auth-js 忽略了这一点,并将会话提取放置到我的前端http://localhost:3000/api/auth/session而不是http://localhost:8002/api/auth/session.

我将不胜感激有关如何使用 Django Rest Framework (DRF) 正确/安全地实现此身份验证的任何帮助

0 投票
2 回答
11902 浏览

javascript - 登录后在哪里以及如何更改会话用户对象?

我有奇怪的问题,我不知道问题出在哪里。我使用next-auth库在我的Next.js应用程序中制作身份验证系统。

一切正常 - 我可以通过检查是否有google firebase提交凭据的帐户来登录,session是否正在正确创建,但是当authorize初始化回调时,我会传递从google firestore正确登录后接收到的数据。用户对象包含整个数据并且它被向前传递。

然后,当我想从中读取数据时session,我之前传递的一些数据丢失了。

代码:

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

控制台记录的对象:

最好的是,对象(上图)始终具有相同的属性。我可以在authorize回调中传递任何对象,但在sessionuser对象总是有“名称,电子邮件,iat,exp”。唯一改变的是对象(姓名、电子邮件)中这两个属性的值。(其余属性 - “电话,身份证,姓氏” - 缺失)。

session在任何反应组件中都有控制台记录的对象:

控制台记录会话对象的照片

我能做些什么?我必须在回调中firestore单独接收数据吗?sessionNext.js导致问题的服务器端渲染吗?

0 投票
0 回答
860 浏览

next.js - Adding and using new database models with NextAuth

I'm using NextAuth to create a web service and connected it to a MongoDB database. I'm now able to log in with Google Auth and the records are saving correctly to my database. I now need to add new models to my database and add to them via API routes.

I followed these instructions to add a custom model Test.

Test.js

index.js

The I updated [...nextauth.js] to add Test to my adapter

At this point I'm not seeing any errors but I'm not sure it's added correctly. So I want to try to create a test Test document. However, I can't find any documentation on how to do this. I need to have access to the database connection but I've tried logging everything imported from 'next-auth/adapters', 'next-auth/client', 'next-auth', req, etc. and can't find anywhere that this connection is stored. I'd think I need to call the getAdapter() function stored in the TypeORM Adapter class but I can't seem to access it. I also tried accessing any of the built in methods like setUser and can't get those either. So I can't find any way to manually modify database records.