问题标签 [koa-passport]

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 回答
1301 浏览

node.js - Discord OAuth2 使用 koa 登录

我正在尝试使用 koa 和护照登录不和谐。

koa-passport我使用了and的例子passport-discord,但不知何故我无法让它工作。似乎大部分都有效(我得到了 accessToken、refreshToken 和配置文件信息),但身份验证后的重定向从未发生,页面只显示Not Found.

使用快递,一切正常。

我认为错误在这里的某个地方,但我尝试了一切,但无法让它工作。

在 koa 中,第二个中间件不会被执行,而在 express 中它会。但是看看koa-router文档,它看起来应该。

这是我的完整代码:

服务器.js

auth.js

谢谢你的帮助!

0 投票
1 回答
782 浏览

node.js - 如何集成 Koa、Passport 和 MongoDB?

*请不要忽略看其长度的问题。它可能看起来很长,因为我附上了代码。实际的问题陈述真的很小。

我从过去两天开始尝试集成Passport、 Koa 和 MongoDB 。我一直失败,无法获得有关我所面临问题的任何参考。我主要关心的是让登录模块正常工作。

我的问题是,在我的索引路由中处理与 koa-passport 相关联的登录请求的函数正在被调用,并且 ctx.body 也被作为响应发送,但 successRedirect 和 failureRedirect 不起作用。下面是我正在使用的文件。

auth.js中,我在新的 LocalStrategy 中有控制台登录用户,就在var user = line 之后。没有任何内容记录到控制台。

auth.js

/routes/index.js

应用程序.js

从这里开始,我无法推断出任何东西。我进行了广泛的搜索并将代码更改为可以工作到这里。

0 投票
1 回答
303 浏览

passport.js - 如何封装 Koa-Passport?

也许这有一个非常简单的答案,但我的代码有些问题。这就是我想要做的。

我使用 koa-passport 创建了一个 koa2 应用程序,我想将 Passport 的使用封装在一个类 AuthAdapter 中(以下简称)。

我有一个 API 类并声明了如下路由:

...我的API


现在的问题是: setup 和 setupRoutes 被正确调用。Passport verify 正在执行,authroute 方法也在执行。

我的问题是 myGetterMethod 不是。

我的怀疑是,通过封装passport.authenticate,“返回”没有按应有的方式运行。

那应该如何实施?等待?

更新:感谢下面的答案,确实是解决方案,所以我的方法最终是这样的:

0 投票
0 回答
362 浏览

active-directory - PassportJS 错误:当绑定间歇性未完成时,不能对连接执行其他操作

TLDR:passportjspassport-ldapauth 是否存在竞争条件问题?

我在 nodejs 应用程序中使用该koa-passport库和passport-ldapauth策略,旨在针对 AD(Active Directory)对用户进行身份验证。哇,那是一口。

这是我passport.authenticate从 LDAP 中返回的错误:

BusyError: 00002024: LdapErr: DSID-0C060810, comment: No other operations may be performed on the connection while a bind is outstanding.

这里的问题很明显,有一个未完成的绑定,必须先关闭它,然后我才能进行另一个绑定以验证下一个用户。 然而,解决方案不是,它可能与 LDAP 相关,也可能与 passportjs 相关。我在这里希望为后者找到解决方案。(在等待对此#multiprocessing的响应时,将探索 LDAP 的配置选项)

这是我的代码:

在我们开始之前,要知道ldapConfigs在应用程序的整个生命周期中所有内容都保持不变,这意味着我在每次查找时都使用相同的 BINDDN 和 PASSWORD

因此,如标题中所述,此错误间歇性地发生。因此,代码本身通常可以正常工作,并且我能够在大约 95% 的时间内对用户进行身份验证,并且如果它INVALID_AUTHENTICATION在密码正确时抛出错误,那就是当我BusyError在日志中获取 the 时。

当我输入虚假的用户名/密码时,这个问题更加突出并且更容易重现,理想情况下应该提示我INVALID_USERNAME_PASSWORD错误,我大约有 75% 的时间。我得到的另外 25% INVALID_AUTHENTICATION

我什至尝试使用ldapsearchtmux. 我使用相同的 binddn 同时在大约 20 个窗格中运行了一个调用,它们都恢复得很好(我应该尝试用更多来运行它吗?100 个?1000 个?)。这就是让我相信问题不在于 LDAP 或 AD 的原因,而更多的是 passportjs。

我得出的结论是,passportJS 可能存在种族条件问题,但我在互联网上找不到任何文献。有没有人遇到过这样的事情?我相信绑定可能没有关闭,因为有时passport.authenticate可能会在调用回调之前返回?这甚至可能吗?它与我如何使用 async/await 进行编码有关吗?

我的后备方案可能是完全抛弃passportjs,只尝试使用ldapjs。任何想法,意见,建议,讨论将不胜感激

如果需要,这是完整的堆栈跟踪:

0 投票
2 回答
820 浏览

node.js - koa-passport logout() 没有清除会话

我正在使用 koa、koa-passport 和 koa-session 来记录用户,这些用户工作正常,但是当我调用 ctx.logout() 时,用户可以刷新并仍然登录。似乎 ctx.session 和/或 cookie 是没有被正确清除。

使用 Postman 发出请求时仍然失败。

我发现了很多关于 Express 的例子,包括以下但对 Koa 没有任何运气:https ://github.com/expressjs/cookie-session/issues/104

0 投票
1 回答
276 浏览

koa - koa-passport 身份验证总是返回 4XX

使用koa-passport时,我总是收到 404 或 401 错误。

0 投票
1 回答
168 浏览

passport.js - koa-router 不适用于本地护照策略

koa- passport中的 passport.authenticate 不适用于本地策略。我不使用会话,不使用序列化。这只是简单的护照示例,但服务器响应始终是 404。

0 投票
1 回答
120 浏览

typescript - @types/passport version 1.0.5 生成新错误:Type Authenticator does not meet the constraint IncomingMessage

我有一个 Koa.JS 网络应用程序,它使用 Passport.JS 进行 oAuth2 身份验证。这个网络应用程序是用打字稿编写的。这是验证码:

Web 应用程序可以使用 @types/passport 1.0.4 正常编译,但是当我将 @types/passport 的版本升级到 1.0.5 时会生成新错误。

有没有人经历过这个?

0 投票
1 回答
11 浏览

javascript - Koa & Passport 缺少凭据

我有一个 Koa 服务器,它使用 Passport 针对 Array 和一个 React 客户端对用户进行身份验证。成功登录后,以下请求未通过身份验证,因为 cookie 未定义。该authenticate函数的error参数有:

浏览该网站后,我修复了通常的错误,调用返回的函数authenticate,添加{credentials: 'include'}fetch等,但我仍然有同样的问题。

中间件列表: router.use(cookie.default());

app.use

koa-body、koa-session-store(也尝试过 koa-session)、passport.initialize()、passport.session()、router.routes()、koa-static

地方战略

/登录验证

/登录成功

客户来电