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

node.js - Koa-passport - 访问 req 参数时出现“内部错误:非法访问”

大家好,我在使用 Koa 和 Koa 护照时遇到问题,在 LocalStrategy 上使用 Koa 护照和变体时遇到问题。首先,我尝试在 LocalStrategy 中选择将 req 传递给身份验证方法(您的函数存储在他们的 _.verify 变量中)。LocalStrategy中的代码片段:

不行 - 应用程序只是挂起(如果您不选择该方法,则不会发生这种情况)。所以然后我决定搞乱我自己的策略,看看事情在哪里。最终,我开始查看passport/middleware/authenticate.js,其中的身份验证函数返回一个包含的身份验证函数,其中有一个自调用的尝试函数。

这里(至少在这里)看起来是个问题。尝试访问 req 变量会给出“内部错误:非法访问”消息。但是,从同一签名访问 res 和 next 参数会返回适当的值 - “object”和“function”。

我在这里有点迷路,虽然我可以解决这个问题,但我宁愿不这样做。


更新 1

koa-passport/lib/framework/koa.js 有一个 req 对象通过代理从 koa 上下文中“模拟”出来,这可能是“非法访问”消息的原因。此时访问 req.path 工作正常/文件...

0 投票
2 回答
607 浏览

node.js - 如何在视图中访问已登录的用户对象?

用户登录后,如何this.req.user从视图内部引用?

我认为这将涉及更新 Jade 中间件的本地集合。不过,我无法获得对这个对象的引用。

到目前为止,我一直在做以下事情......

然后在视图中会有这样的东西......

当然,现在我有一个无法在设置时分配的用户对象。

0 投票
2 回答
349 浏览

javascript - 使用 KoaJS 和 PassportJS 自动登录用户

我正在尝试使用PassportJS自动登录用户。

这是我当前的代码:

但是当我运行它时,我得到了错误:

0 投票
1 回答
1006 浏览

koa - 如何使用 koa koa-passport 和 rethinkdb 管理用户和角色

我是 koa 的新手。我想用用户和角色实现一个简单的管理面板。是否有任何软件包可用于使用 koa 和 rethink db 管理角色。我正在使用 koa-passport 进行基本身份验证。

0 投票
2 回答
2006 浏览

asynchronous - Koa 2 + Passport + 异步

试图在 Koa 2 中实施本地 Passport 策略,但我错过了一些重要的东西......

当我的路线到达passport.authenticate() 时,我可以检索我的用户,但我永远不会从那个await() 返回,所以我的代码不会进一步发展。

授权:

路线

所以我的代码命中('USER FOUND - DONE')......但我从来没有在路线中达到'我从来没有做到这一点'。已经尝试过切换几件事,所以我确信这可能是我做得不对的事情。

0 投票
0 回答
289 浏览

javascript - 为什么报错会导致koa应用停止

这是我使用的代码

auth.js

index.js

错误信息

./../../koa-passport-example/server.js:53 throw new TypeError('error test') ^ TypeError: 错误测试

我需要如何修改中间件来修复它?有更好的方法来完成此认证吗?

0 投票
1 回答
121 浏览

react-router - 如何从 React Route 强制基于浏览器导航的 GET?

我的 React 应用程序中有一个登录页面,用户可以选择本地登录或通过社交网络 OAuth2 服务登录,该服务passport.js在基于 Koa 的 API 服务器上使用。

最初,我试图通过 ajax 调用后端,但似乎 OAuth2 服务器不允许我这样做,给我一个 CORS 错误,即使使用代理也是如此,所以我试图简单地Link在社交登录按钮周围放置一个将to属性添加到我的 API 后端 url,如下所示:

问题是当我单击按钮时,路由器拦截链接并尝试在该路径处呈现组件并设置浏览器位置(在导航栏中),但实际上并没有导致浏览器对资源执行 GET服务器——这导致我的通用 404 容器被渲染。我也尝试过使用普通的锚元素,但由于上述相同的原因而失败。

那么,我需要知道的是如何强制 React Router 忽略某个路径并允许浏览器对资源执行 GET?

0 投票
0 回答
801 浏览

node.js - 为什么我的 koa-passport 身份验证参数用户始终未定义?

我正在尝试将 koa-passport 用于 koa2,并遵循作者的示例,但我总是得到“未经授权”。我使用了 console.log ,发现它甚至没有命中serializeUser

然后我在网上搜索,发现路由器的另一篇文章,它转到serializeUserdone(null, user.id)抛出错误“无法从未定义中获取 id ”。

auth.js 如下所示。此外,我在这里遵循作者的 koa-passport 示例并尝试使用session,但我发送的每个请求都会收到 TypeError 说“无法读取未定义的属性'消息'”。但我认为这不是认证的核心问题,如果真的是的话,供参考。

顺便说一句,当我使用简单的默认设置时,它只会给我一个“未找到”。但是通过 console.log 我可以看到它实际上进入了loginPass

在 server.js 中:

非常感谢您的帮助!!!:D

0 投票
1 回答
379 浏览

mysql - PassportJS MySql:我真的需要在每个反序列化用户上查找数据库吗?

我使用 koa-passport 进行身份验证,凭据存储在 mySQL 服务器上。每个用户名在数据库表中都有一个唯一的 ID。我正在使用一个非常简单的方案,我只使用 ID 进行序列化和反序列化,而不是使用整个用户对象。

对于身份验证,数据库中定义了一个存储过程,如果在数据库中找到提供的凭据,则返回 null 或用户 ID(存储过程同时查看用户名和密码,因此无需在 nodeJS 上处理。请假设为了简单起见,下面的代码片段直接为我们提供了值,而没有格式化 mySQL 数据库中的结果)

有没有办法避免在每次反序列化时访问数据库?

0 投票
0 回答
208 浏览

node.js - KOA - Passport with Password Grant 策略

您好我正在尝试使用 Koa-passport 实施密码授予策略。我配置了如下策略

这就是我尝试验证的方式,

谁能帮帮我。上面的代码没有调用令牌 URL。但是控件进入了passport.authenticate中定义的回调方法。

提前致谢。