Tag: oauth

如何让Google停止在PassportJS中自动logging用户?

我只允许用户使用某个域名login。 这个特定的function起作用,而不是问题的根源。 问题是当用户尝试使用不正确的电子邮件地址login时,用户会陷入一种负面的反馈循环。 参照上面的图片,用户(在没有信息的空白隐身页面中)从第一步开始。 单击login使他们到步骤二,然后到步骤3.试图login以不正确的域名结尾的电子邮件地址使他们到步骤4.这是所需的。 第四步之后,如果他们从网站注销,他们被提出第一步。 这是可取的。 注销代码如下。 app.get("/logout", function(req, res) { req.logout() req.session.destroy() res.clearCookie("connect.sid") res.redirect("/") }) 他们再次点击login后会发生什么是不可取的。 而不是把他们带回到第二步(所需的,所以他们可以用他们的正确的电子邮件地址再次login),它使他们直接到第四步。 就好像谷歌记得最后login的人一样。 这是我的passport.jsconfiguration文件的代码 。 简短的问题:我如何向Google表示不要这样做? 或者触发浏览器,让他们再次login? 我很茫然。 额外的细节:在谷歌的Oauth2.0文档 ,它提到了高清和领域,可以限制login到一个特定的领域。 但是我不知道如何在PassportJSconfiguration文件中configuration它。

如何使用node.js获取推文

有没有一种使用node.js在您自己的网站上获取Twitter推文的方法。 我尝试了一些node.js模块,但没有得到如何实现这一点。

无效的oauth2令牌请求

我正在开发一个需要使用Google进行身份validation的节点应用程序。 当我申请一个令牌时, https : //accounts.google.com/o/oauth2/token回应: error: 400 { "error" : "invalid_request" } 我已经试过用curl做同样的请求,并且收到了同样的错误,所以我怀疑我的请求有问题,但是我不知道是什么。 我粘贴了下面的代码: var request = require('request'); var token_request='code='+req['query']['code']+ '&client_id={client id}'+ '&client_secret={client secret}'+ '&redirect_uri=http%3A%2F%2Fmassiveboom.com:3000'+ '&grant_type=authorization_code'; request( { method: 'POST', uri:'https://accounts.google.com/o/oauth2/token', body: token_request }, function (error, response, body) { if(response.statusCode == 201){ console.log('document fetched'); console.log(body); } else { console.log('error: '+ response.statusCode); console.log(body); } }); 我已经三重检查,以确保我提交的所有数据是正确的,我仍然得到相同的错误。 […]

使用Node.js创build一个带有oauth的REST风格的Web服务

我想用Node.js创build一个REST风格的Web服务,但是我不知道从哪里开始。 我的意思是我想制作自己的服务器(类似Google或Facebook)。 例如:你创build一个应用程序,当你的应用程序想要获得一些Facebook用户的资源或授权时,必须向Facebook发送一个request_token,然后获取一个access_token。 然后我创build另一个客户端从我之前创build的服务器获取request_token和access_token。 也许我的问题得到了一些错误,因为我是这个主题的新手。 希望有人了解我的问题。

使用npm请求使用JSON发布

如何使用request npm模块执行以下操作? curl https://todoist.com/oauth/access_token \ -d client_id=0123456789abcdef \ -d client_secret=secret \ -d code=abcdef \ -d redirect_uri=https://example.com 我试过这样做: var body = JSON.stringify({ client_id: '0123456789abcdef', client_secret: 'secret', code: 'abcdef' }); var postBody = { url: 'https://todoist.com/oauth/access_token', body: body, headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }; request.post(postBody, function(error, response, body) { … });

谷歌oauth 2.0 API密码更改用户名和密码不被接受

我有一个表格使用nodemailer,xoauth2与谷歌APi oauth2,我上周更新了密码,从那以后我的应用程序没有工作,我得到: '535-5.7.8用户名和密码不被接受。 了解更多信息\ n535 5.7.8 我尝试删除应用程序,并创build一个新的,但它似乎并没有拿起新的更改密码。 任何build议如何解决这个问题? 我已经允许不太安全的应用程序,并显示解锁validation码。

如何保护移动和AJAX调用的JSON RESTful API?

我正在构build一个使用node.js和express.js构build的JSON RESTful API, API将通过客户端AJAX调用(来自Ember.js)和原生Android移动应用程序(标准HTTP请求)来访问。 我正在研究两件事情: 1)身份validation – 如何知道哪个用户正在访问的API,在开发中我使用了一个API密钥为每个用户,并将其传递到请求标头 2)安全 – 如何确保只有真正的身份validation的用户访问私人数据。 API键是本地移动客户端还是AJAX调用的好策略? (用户向API发送用户+传递并接收API密钥,然后用于创build其他请求) 我应该看看像OAUTH(1或2)? 我目前还没有第三方应用程序访问API的计划,所以我不需要授权,但这可能会在将来改变。 这是否意味着我需要拥有自己的OAUTH服务器?

Mongoose ValidationError在Passport KeystoneJS中创build新用户

我在我的项目中使用KeystoneJS的Passport身份validation插件 。 如果用户帐户存在并且与正在使用的社交networking绑定,那么一切都很好。 当创build一个新用户时,使用config选项'auto create user': true ,最后在oauthcallback路由上出现500错误。 日志说这是一个validation错误。 ValidationError: Validation failed at model.Document.invalidate (/app/node_modules/keystone/node_modules/mongoose/lib/document.js:1021:32) at /app/node_modules/keystone/node_modules/mongoose/lib/document.js:970:16 at validate (/app/node_modules/keystone/node_modules/mongoose/lib/schematype.js:610:7) at /app/node_modules/keystone/node_modules/mongoose/lib/schematype.js:627:9 at Array.forEach (native) at SchemaString.SchemaType.doValidate (/app/node_modules/keystone/node_modules/mongoose/lib/schematype.js:614:19) at /app/node_modules/keystone/node_modules/mongoose/lib/document.js:968:9 at process._tickCallback (node.js:419:13) 什么可能导致这个? 编辑 用户型号: var keystone = require('keystone'), Types = keystone.Field.Types, social = require('keystone-social-login'); /** * User Model * ========== */ var User […]

Deployd:如何实施dpd-passport并进行安全authentication

让我先说我真的很喜欢Deployd 。 我想在生产中使用它,但我想要合并OAuth和社交login,所以我安装了dpd-passport模块。 除了两个小(大)的问题之外,它工作的很好: 当用户通过OAuth提供商(例如Facebook,Twitter,Github)login时,会创build一个新的用户logging…但是如果同一用户清除了他们的Cookie或使用不同的浏览器login,则会创build一个新的用户logging。 如果我做了一些聪明的事情(阅读:hacky),并根据socialAccount和socialAccountId(为每个社交帐户独特但不变的)为社交login用户分配一个ID,则可以使用标准的用户创build方法来欺骗用户,如果他们知道用户的socialAccount和socialAccountId,则向/users端点发送POST请求。 我的问题是:IA)如何防止#1发生,或者B)禁用用户创build的标准方法,同时又不妨碍OAuth用户创build? 有没有人在生产中成功地使用过Deployd和dpd-passport ? 如果是这样,我想和你谈谈… 提前致谢!

无法从oauth2 office365日历API获取令牌

我无法从office365日历API获得令牌,从最近7到8个月,它正在工作,但突然间我得到错误“期待一个数组或一个可迭代的对象,但得到[对象为空]”。 你们可以在这里看到我的代码 var oauth2 = require("simple-oauth2")(ConfigOutlookCredentials); var scopes = ["openid","offline_access","profile", //here 'profile' is added bz not able to getting EmailId in this function getEmailFromIdToken. "https://outlook.office.com/mail.read", "https://outlook.office.com/calendars.readwrite" ]; function getTokenFromCode(auth_code,callback) { logger.MessageQueueLog.log("info","auth_code: "+auth_code+" || redirectUri: "+redirectUri+" || scopes: "+scopes); oauth2.authCode.getToken({ code: auth_code, redirect_uri: redirectUri, scope: scopes.join(" ") }, function(error, result) { logger.MessageQueueLog.log("info","error: "+util.format('%j',error.message)+" || result: "+util.format('%j',result)); […]