问题标签 [everyauth]

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

authentication - 是否可以使用 EveryAuth / MongooseAuth 拥有多个帐户结构?

我正在努力在 express 和 mongoose 上使用 connect-auth 设置身份验证,但是要做的事情太多了,这让我有点陷入困境。我可以继续沿着这条路走下去,但这似乎很像重新发明轮子。

EveryAuth(带有 MongooseAuth 助手)看起来相当吸引人,但我最初没有使用它的主要原因是我有几种具有自己属性和工作流程的帐户类型。例如,某些帐户类型需要批准,而其他帐户类型无需批准即可使用 oauth/openid 登录。

通过查看示例,看起来它对一般流程非常固执己见。我只是不知道这会有多困难,或者是否有可能超出正常的帐户身份验证方法。

是否可以为每种模型类型设置 EveryAuth?如果没有,是否有任何其他方式来处理不同的工作流程?

非常感谢!

0 投票
1 回答
682 浏览

node.js - NowJS 当前会话

我正在使用 express、everyauth 和 now.js 创建 node.js 应用程序。

我有一个服务器端 now.js 函数,我希望能够在其中访问调用此函数的经过身份验证的用户的“用户”对象。我无权访问“请求”或“会话”对象,我只有用户 cookie 和 connect.sid

我的问题是,获取我正在寻找的会话信息的最佳方法是什么?当原始页面请求进入时,我是否将这些详细信息存储在 cookie 中?或者有没有办法从 获取会话对象connect.sid

谢谢

0 投票
1 回答
719 浏览

node.js - 在 express.js 的everyauth 中合并登录和注册页面

在密码验证的默认everyauth 设置中,登录和注册页面是不同的。我尝试合并相应的jade文件并将我的服务器文件中的get/post注册和登录路径设置为相同。然后我加载了合并页面并收到以下错误:

500 参考错误:/Users/eterna/Downloads/fame/views/index.jade:8 6| 标签(for=everyauth.password.loginFormFieldName) 登录 7| 输入(类型='文本',名称=everyauth.password.loginFormFieldName,值=userParams[everyauth.password.loginFormFieldName])> 8| #电子邮件 9| 标签(for=everyauth.password.emailFormFieldName) 电子邮件 10| 输入(类型='文本',名称='电子邮件',值=用户参数['电子邮件'])11 | #password userParams 未定义。

我显然是以错误的方式解决这个问题。是否有将登录和注册放在同一页面上的简单解决方案?

0 投票
1 回答
232 浏览

node.js - 用于社交身份验证数据的 Redis 用例

我检查了具有出色功能的 EveryAuth 模块并决定在我的项目中使用。

我的问题是,如何在 redis 中处理社交身份验证数据(twitter、facebook ......)

0 投票
1 回答
1705 浏览

node.js - Node.js EveryAuth 获取 Google 电子邮件地址

在使用 EveryAuth NPM lib 向 google 进行 OAuth2.0 调用时,我正在尝试检索 google 电子邮件地址。有没有人设法让电子邮件使用 EveryAuth 返回?

范围:https ://www.googleapis.com/auth/userinfo.email导致异常:

错误:错误 401(未找到)!!1 display:block;height:55px;margin:0 0 -7px;width:150px}* > #g{margin-left:-2px}#g img{visibility:hidden} * html #g img{visibility:visible}*+html #g img{visibility:visible} 谷歌

401. 这是一个错误。

您的请求中有错误。我们知道的就这些。

在 EventEmitter 的 [object Object].fail (/Users/thegoleffect/Documents/Projects/Spoondate/nitrous/node_modules/everyauth/lib/promise.js:50:15)。(/Users/thegoleffect/Documents/Projects/Spoondate/nitrous/node_modules/everyauth/lib/modules/google.js:58:15) 在 EventEmitter.emit (events.js:67:17) 在 EventEmitter._respond (/Users /thegoleffect/Documents/Projects/Spoondate/nitrous/node_modules/everyauth/node_modules/restler/lib/restler.js:127:12) 在 EventEmitter._fireEvents (/Users/thegoleffect/Documents/Projects/Spoondate/nitrous/node_modules/everyauth /node_modules/restler/lib/restler.js:131:52)在 /Users/thegoleffect/Documents/Projects/Spoondate/nitrous/node_modules/everyauth/node_modules/restler/lib/restler.js:115:19 在 IncomingMessage。(/Users/thegoleffect/Documents/Projects/Spoondate/nitrous/node_modules/everyauth/node_modules/restler/lib/restler.js:205:5) 在 IncomingMessage。(/Users/thegoleffect/Documents/Projects/Spoondate/nitrous/node_modules/everyauth/node_modules/restler/lib/restler.js:113:32) 在 IncomingMessage.emit (events.js:81:20) 在 HTTPParser.onMessageComplete ( http.js:133:23)

0 投票
1 回答
1072 浏览

facebook - node.js -everyauth - Facebook API 和会话处理

我正在运行一个 node.js 服务器应用程序,使用everyauth作为我的身份验证方案,并尝试从我的服务器访问 Facebook API。一旦用户登录(通过使用 Facebook 模块的everyauth),我目前处理此问题的方式是:

这最初有效,但几分钟后,通常大约 10m 不活动,我开始从 Facebook API 收到过期的令牌响应:

在阅读了一些Facebook 文档之后,似乎大多数访问令牌应该默认持续 2 小时,所以我想知道我是否没有以正确的方式形成 API 调用。欢迎任何建议/想法,谢谢!

编辑:

再多一点信息,错误调用返回的expire unix时间确实小于当前时间,只是不知道为什么会这么短。与此同时,我会做更多的调试......

0 投票
2 回答
566 浏览

javascript - 在everyauth中添加另一个步骤的最佳方法是什么?

我想在everyauth openid 模块中定义的 OpenId 身份验证序列中再添加一个步骤。

我不确定everyauth 是否是为此而设计的。作者提到它是可定制的,但没有示例,我仍然是一个 javascript 新手。

例如,everyauth 中的 OAuth 模块定义了它的认证回调步骤,如下所示:

如果我需要额外的自定义步骤,我应该怎么做?我宁愿不更改everyauth 模块源代码。

0 投票
2 回答
1045 浏览

node.js - 是否值得重新设计 nodeJS 服务器以使用 Connect(主要用于everyauth)?

在过去的 6 个月里,我一直在开发自己的 nodeJS 应用程序,在那里我自己从头开始构建了所有东西。我的服务器只做几件事,因为我的应用程序中的大部分工作都是在前端完成的。

我目前正在考虑实施的一件事是应用程序的用户登录 + facebook 身份验证系统。似乎every-auth 是一个比其他任何东西都更强大的框架。但是,您需要拥有 Express 或 Connect 才能使用它。

因此,我正在考虑修改我的代码以使用 ConnectJS(主要)用于此目的。也就是说,我真的很喜欢拥有一个非常简单的服务器,它只做它需要做的事情,除此之外什么都不做。是否有任何其他身份验证模块与every-auth 一样强大,不需要任何人推荐的 Connect?

对于那些使用 Connect 的人来说 - 它提供的其他功能有多方便?是否值得对服务器返回的数据进行 gzip 压缩?静态文件服务器是否比执行相同操作的常规 nodejs 代码更快或有什么不同?

我现在真的很犹豫,如果有使用和不使用 Connect 的 nodejs 应用程序编程经验的人的任何想法,我将不胜感激。

最好的,
萨米

修正 - 如果我的服务器收到的每个请求在某个时候都涉及使用 node-mongodb-native 驱动程序连接到 MongoDB,这会改变什么吗?对于我是否可以将我已经编写的代码作为某种模块充当我可以添加到连接的中间件项目之一,我有点困惑。如果这句话表明我完全误解了 connect 的作用,我将不胜感激。

0 投票
2 回答
974 浏览

mongodb - Everyauth:针对数据库检查 github 身份验证

我对 node.js 很陌生,而且我遇到了 everyAuth 模块的问题。

我的问题是,我正在尝试创建一个应用程序,让用户通过 github oauth 登录并检查用户是否在数据库中被列入白名单。我想停止身份验证返回 true,直到我检查用户是否在白名单中。我尝试了几种方法来做到这一点,但无济于事。

任何人都可以解释一下吗?

调用github方法

用户类

0 投票
1 回答
1084 浏览

node.js - 如何使用everyauth 和nodejs 保存用户ID 信息

everyauth.everymodule.findUserById 使用一个 id 参数调用,everyauth 从 req.session 获取该参数。然后可以使用它来加载传递给 req.user 的用户信息

在 localhost 上,当节点 app.js 服务器重新启动时,会话被清除。

我想做的是设置一个 cookie,其中包含我可以传递给everyauth 的用户 id,以便在服务器重新启动时它知道 id 并且everymodule.findUserBy Id 可以做它的事情。

我正在使用 expressjs,发现 connect-mongodb 和 cookie-sessions 都不起作用。那么建议的解决方法是什么?

换句话说,有没有办法用用户信息预先填充everyauth?