Articles of everyauth

如何使用everyauth和nodejs来保存用户标识信息

everyauth.everymodule.findUserById被调用一个id参数,everyauth从req.session中select。 这可以用来加载传递给req.user的用户信息 在本地主机上,当节点app.js服务器重新启动时,会话被清除。 我想要做的是设置一个cookie,其中包含我可以传递给everyauth的用户标识,以便在服务器重新启动时知道id和everymodule.findUserBy标识可以做到这一点。 我正在使用expressjs,发现connect-mongodb和cookie-sessions都不起作用。 那么提出的方法是什么呢? 换句话说,有没有预先填充每个用户信息的方法?

值得重新使用一个nodeJS服务器来使用连接(主要为everyauth)?

在过去的6个月里,我一直在研究自己的nodeJS应用程序,我从头开始构build所有的东西。 我的服务器只有几件事情,因为我的应用程序中的大部分工作都是在前端完成的。 我目前正在执行的一件事是用户login+应用程序的Facebook身份validation系统。 似乎每个authentication都比这里的其他任何东西都更加健壮。 但是,您需要有Express或Connect来使用它。 因此,我正在考虑重新编写我的代码来使用ConnectJS(主要是)这个目的。 也就是说,我真的很喜欢有一个非常简单的服务器,只做它需要做的事情,除此之外没有任何事情。 是否有任何其他authentication模块像每个authentication一样健壮,不需要任何人推荐的连接? 对于那些使用Connect的人来说,它提供的其他function有多方便? 是否值得gzipping服务器将返回的数据? 静态文件服务器是否比同样的东西的普通nodejs代码更快或者不同? 我现在非常忙碌,希望有经验的编程nodejs应用程序,无论有没有连接的任何想法。 最好, 萨米 AMMENDMENT – 如果我的服务器收到的每个请求都会涉及使用node-mongodb-native驱动程序连接到MongoDB,那么这是否会改变什么? 我有点困惑,我是否基本上可以将我已经编写的代码作为一个模块,作为我可以添加的一个中间件项目来连接。 如果这句话表明我对连接有什么误解,我很感激任何澄清。

路由器function内部不能获得everyauth的req.user

我是node.js和everyauth的新手。 当我只是在everyauth周围玩,我已经意识到everyauth.user在玉视图工作,但我不能让req.user在页面callback里面工作。 /** * Module dependencies. */ var express = require('express') , routes = require('./routes') , everyauth = require('everyauth') , Promise = everyauth.Promise , util = require('util') , models = require('./models'); //Everyauth setup everyauth.twitter .consumerKey('XXX') .consumerSecret('XXX') .findOrCreateUser(function(session, accessToken, accessTokenSecret, twitterData){ var promise = new Promise(); models.findOrCreateTwitterUser(twitterData,promise); return promise; }) .redirectPath('/'); var app = module.exports = […]

node.js – everyauth – Facebook API和会话处理

我运行一个node.js服务器应用程序,使用everyauth作为我的身份validationscheme,并尝试从我的服务器访问Facebook API。 一旦用户login(通过使用Facebook模块的everyauth),我目前处理这种方式是: var oauth = everyauth.facebook.oauth; oauth.get('https://api.facebook.com/method/fql.multiquery?format=json&queries=' + multiquery, req.session.auth.facebook.accessToken, function (err, data) { // do stuff here }); 这工作最初但几分钟后,通常约10米的不活动,我开始从Facebook API获得过期的令牌响应: Error validating access token: Session has expired at unix time… 在阅读了一些Facebook文档之后 ,似乎大多数访问令牌都应该持续默认的2小时,所以我想知道我是不是以正确的方式构buildAPI调用。 任何build议/想法的欢迎,谢谢! 编辑: 只是多一点的信息,从错误调用返回的过期unix时间确实less于当前时间,只是不知道为什么会这么短。 在此期间,我会做更多的debugging…

在mongoose-auth中编辑用户密码

如何在mongoose-auth中编辑用户密码? 我可以编辑所有其他的参数,但是这不是。 任何想法? 我解决了这个节省盐和散列与bcrypt。

我如何使用everyauth进行简单(单步)身份validation?

我如何使用everyauth执行一个非常简单的oauthauthentication与node.js如果我有公共密钥和密钥? 不像一个多步的facebooktypesauthentication,我只是想使用everyauth进行简单的authenticationREST调用。 并且everyauth是工作的正确工具?

通过我的Facebook应用程序处理Facebook注册 – 使用nodejs everyauth

我们使用everyauth将Facebook身份validation集成到我们的用户帐户系统(nodejs,express)中。 现在做什么(在伪代码中): everyauth .facebook .appId('….') .appSecret('…..') .findOrCreateUser( function (session, accessToken, accessTokenExtra, fbUserMetadata) { … } .redirectPath('/internal/facebook'); 身份validation完美。 问题是在经历这个stream程时: 用户现在没有他的用户代理的Facebook cookie(用户没有login到Facebook)。 用户通过Facebook调用身份validation(调用everyauth的/ auth / facebook服务) Facebook“login/login”页面已加载。 用户想创build新的Facebook帐户,并select“注册Facebook”。 用户完成注册的详细信息,然后通过点击他刚刚收到的邮件中的链接,通过我们的应用程序确认他的Facebook帐户注册。 所以用户去他的邮件,点击链接, 他被redirect到我们的用户帐户的根目录“/”。 – 这是一个没有UI的Web服务,它为不同的应用程序提供用户帐户服务。 问题如下: 在通过我们的应用程序注册Facebook之后,我们如何获得用户? 在这种情况下不调用findOrCreateUser() 。 在用户通过我们的应用程序注册到Facebook后(注册成功后),我们如何覆盖redirect到“/”的行为?

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

我试图检索谷歌电子邮件地址时使用EveryAuth NPM lib进行OAuth2.0调用谷歌。 有没有人设法让电子邮件返回使用EveryAuth? everyauth.google .entryPath('/auth/google') .callbackPath('/auth/google/callback') .appId('216450162097.apps.googleusercontent.com') .appSecret('8b6yf2nznWHgAu7iKNyGn-0F') .scope(['https://www.googleapis.com/auth/userinfo.email']) .findOrCreateUser( function(session, userAttributes) { console.log(userAttributes); }) .redirectPath('/'); 范围: https : //www.googleapis.com/auth/userinfo.email导致exception: 错误:Error 401(Not Found)!! 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} 那是一个错误。 请求中有错误。 我们知道的就这些。 在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(/ […]

NowJS当前会话

我正在使用express,everyauth和now.js创buildnode.js应用程序。 我有一个服务器端的now.js函数,我希望能够访问调用此函数的已validation用户的“用户”对象。 我没有访问“请求”或“会话”对象,我只有用户cookie和connect.sid 我的问题是,什么最好的方式来获取我正在寻找的会议信息? 当原始页面请求进入时,是否将这些详细信息存储在cookie中? 或者有没有办法从connect.sid获取会话对象? 谢谢

无法从everyauth获得自定义用户

我没有阅读有关通过everyauth访问当前用户的手册。 也就是说,我可以从我的服务器上的req.user ,我的视图上的everyauth.user和用户读取当前的用户信息,但是它们是未定义的。 但是,如果我尝试访问,例如,everyauth.twitter或everyauth.facebook,我从这个社交networking获取用户信息。 我想,当从数据库获得用户(查找或创build社会数据)它必须保存在会话variables,如currentUser ,我可以得到它在助手和其他数据库请求。 我的app.js代码: var express = require('express') , everyauth = require('everyauth') , Promise = everyauth.Promise , util = require('util') , mongoose = require('mongoose') , routes = require('./routes') , _ = require('underscore') mongoose.connect('mongodb://127.0.0.1/base'); var Schema = mongoose.Schema , ObjectId = Schema.ObjectId; // Everyauth settings above that app.configure everyauth.twitter .consumerKey('secretKey') .consumerSecret('secret') .findOrCreateUser(function (session, […]