Tag: facebook

使用PassportJS和NodeJS的Connect来validationFacebook用户

我试图使用连接将护照集成到我的nodejs服务器,但似乎无法正确执行。 所有的指南/例子使用expressJS,所以我尽我所能重新格式化代码来处理我的代码,但我似乎无法得到它的工作。 相关部分如下所示。 有没有人对这个问题有什么build议? passport.authenticate()似乎永远不会被调用(至less在Facebook身份validationcallback内的console.log消息从不打印)。 我目前没有保存任何东西到数据库,所以这个问题应该希望是一个非常简单的东西,我只是想念。 唯一想到的是我对Facebook的潜在callback,这是一个本地主机url(因为我仍然在本地开发)。 我能够通过使用everyauth(来自纯粹的本地实例)来正确validationfacebook,但转而使用passportJS,因为我遇到了PassportJS似乎要解决的不同问题。 passport = require('passport'); fpass = require('passport-facebook').Strategy; passport.serializeUser(function(user,done){ done(null, user); }); passport.deserializeUser(function(obj,done){ done(null,obj); }); passport.use(new fpass({ clientID:'facebook app id', clientSecret:'facebook app secret', callbackURL:'http://localhost:3000/auth/facebook/callback' }, function(accessToken, refreshToken, fbUserData, done){ console.log('got here'); return done(null,fbUserData); } )); function checkLoggedIn(req, res, next){ console.log("req.user: " + req.user); if(req.user) next(); else{ console.log('\nNot LOGGED IN\n'); […]

在Node.js(Express)Facebookcanvas应用程序中获取signed_request

有什么办法如何获得和parsingNode.js Facebook页面标签应用程序中的signed_request? 我需要知道页面ID,如果用户喜欢的网页…

Facebook Messenger聊天机器人显示“检查您的连接,然后再试一次”。

最近,我试图为自己build立一个机器人。 当我使用ngrok在本地testing我的机器人时,它的工作是完美的,但是当我部署到AWS时,我偶尔发现了错误,并且没有从Facebook发送到我的服务器的webhook请求。 我不知道可能会出现什么问题。 我也检查了使用tcpflow进入服务器的请求,但没有运气,似乎Facebook只是没有发送特定的请求到我的服务器。 这是一个非常奇怪的问题,发生在我的机器人对话stream程的特定点上。 我总是需要重复我的回答或我的回传为了得到它的工作。 一些基本的服务器信息(不知道这是否重要): 可用区域:ap-southeast-1b types:t2.micro CPU使用率(当时):4% 我真的很感激,如果有人能解决我的神秘。 谢谢。 仅供参考,我已经向Facebook报告: https : //developers.facebook.com/bugs/1825253057751227

护照Facebookvalidationcallback没有被调用

我正在做一个节点的应用程序,当我尝试使用与Facebook的护照,validationcallback不运行(没有logging)。 任何帮助,将不胜感激。 var express = require('express'); var routes = require('./routes/routes.js'); var layout = require('./routes/layout.js'); var facebook = require('./routes/facebook.js'); var editprof = require('./routes/editprof.js'); var app = express(); var vogels = require('vogels'); var passport = require('passport'); var FacebookStrategy = require('passport-facebook').Strategy; var configAuth = require('./config/auth'); app.use(passport.initialize()); app.use(passport.session()); … passport.use(new FacebookStrategy({ // pull in our app id and secret […]

与使用zombie.js网站抓取问题

我需要做一些networking抓取。 在玩过不同的Webtesting框架之后,其中大部分的地方要么太慢(Selenium),要么我的需求太多(env.js),我决定zombie.js看起来最有前途,因为它使用一套可靠的库HTMLparsing和DOM操作。 然而,在我看来,它甚至不支持基本的基于事件的Javascript代码,如下面的网页: <html> <head> <title>test</title> <script type="text/javascript"> console.log("test script executing…"); console.log("registering callback for event DOMContentLoaded on " + document); document.addEventListener('DOMContentLoaded', function(){ console.log("DOMContentLoaded triggered"); }, false); function loaded() { console.log("onload triggered"); } </script> </head> <body onload="loaded();"> <h1>Test</h1> </body> </html> 然后我决定手动触发这些事件: zombie = require("zombie"); zombie.visit("http://localhost:4567/", { debug: true }, function (err, browser, status) { doc = […]

node.js表示app.get和app.post

我正在与Facebook应用程序canvas,需要后。 我正在使用快速处理app.post('/')和app.get('/')..是否有可能将这些在一个单一的function? 谢谢

什么是正确的方式做facebooklogin移动应用程序(与node.js / passport.js服务器)

我有一个移动应用程序正在与后端服务器,我想了解什么是使用Facebooklogin(创build一个帐户),然后保持整个系统同步的最佳做法。 以下是我目前了解的内容: – 移动应用程序可以在设备上进行login并获取access_token – 访问令牌可以传输到服务器。 我做了一个使用passport-facebook-token连接到api.myhost.com/auth/facebook路由的概念certificate,似乎我可以validation用户并检索他的FB数据。 因此,我可以将他匹配到我的数据库中的现有用户或创build一个新的logging。 我不明白:1)我必须使用https将FB令牌传输到我的服务器吗? 2)我应该怎么做我的其他请求,应该被authentication。 我不认为去FB每个请求是一个选项。 想到的一个select是生成另一个(我自己的)访问令牌,并返回作为FBauthentication的结果。 最简单的方法是使用passport-facebook-token会话(这样cookie会话ID可以被序列化并反序列化成用户ID)。 但这意味着我需要维护一些会议的KV存储。 另一种方式是为该用户生成我自己的随机令牌,并在成功login时将其与用户ID一起返回,并将其存储在用户logging中,并且每次从客户端调用API调用此ID /令牌对,并且每次都手动重新validation它们依靠护照。 或者也许凭借护照本地策略呢? 哪一个更好? 每个人的优点/缺点是什么? 2)如果我打算使用FB令牌发布到FB和做graphics分析(朋友等),我打算将令牌存储在服务器上。 我多久需要刷新一次? 每当应用程序启动并刷新客户端上的令牌时,是否应该使用新的FB令牌重新进行身份validation? 那么通过服务器到服务器调用刷新用户FB令牌怎么样? 如果我想保持对用户的FB数据的访问,但是用户停止使用我的或者很less使用它,我是否应该这样做? 是否有任何工作计划的食谱,运作良好? 谢谢!

护照authentication失败导致redirect循环

我正在使用节点,快递和护照与Facebook身份validation。 我有以下路线(当/facebook/auth/callback是callbackurl): function render(page, req, res) { var user = null; if (req.user) { user = req.user.toObject(); user.isLoggedIn = true; } res.render(page, { user: user }); } app.get('/auth-failure', function (req, res) { res.render('auth-failure'); }); app.get('/auth-success', function (req, res) { render('auth-success', req, res); }); app.get('/facebook/auth', passport.authenticate('facebook', { scope: [ 'email', 'user_about_me', 'publish_actions']})); app.get('/facebook/auth/callback', passport.authenticate('facebook', { failureRedirect: […]

身份validation(Passport)足够安全与Node js后端服务器?

使用Facebook身份validation的PassportJS足够用于带有Node JS的iOS后端吗? 我也有toobusy包,当事情变得很忙的时候,也会拒绝请求(我猜这对DDOS来说是好事)。 我正在考虑使用nginx作为我的Node.JS服务器的反向代理。 什么是更多可以扩展的安全措施? 一些build议和提示? 任何与安全相关的问题,我应该关注PassportJS的身份validation会话无法处理?

Facebook Messenger bot不按顺序发送消息

我正在玩一个简单的Facebook Messenger聊天机器人,我无法顺序发送消息。 在上面的例子中,它应该按顺序打印“你好!”,“1”,“2”,“3”。 我目前正在关注在这里发现的Facebook文档来实现这个简单的短信function。 我已经包含了我的Express Node.JS服务器代码如下: 定义sendTextMessage()函数: var request = require("request"); function sendTextMessage(user, text) { messageData = { text: text }; request({ url: "https://graph.facebook.com/v2.6/me/messages", qs: {access_token: PAGE_ACCESS_TOKEN}, method: "POST", json: { recipient: {id: user}, message: messageData } }, function(error, response, body) { if (error) { console.log("Error sending message: ", error); } else if (response.body.error) { […]