Tag: facebook

Passport-Facebook和JavaScript Facebook SDK

我正尝试使用Passport-Facebook在Node.js / Express中使用Facebook对用户进行身份validation。 典型的护照方法是将用户转发到/ auth / facebook,这会提示用户使用典型的Facebook身份validation,然后将其发送到callbackurl:/ auth / facebook / callback。 我想在没有用户离开页面的情况下执行authentication。 即。 与popup。 使用JavaScript SDK,我可以达到这个目的,但是通过身份validation之后,我想引发护照来保存用户的详细信息,就好像他们使用正常的护照方法一样。 有没有其他人使用Passport和Facebook JavaScript SDK来完成这项工作?

Passport-Facebook令牌不断返回401

目前,我正在为我的iOS应用程序使用带有Express和Passport-facebook-token模块的NodeJS。 我遇到了麻烦,因为即使我们正在通过OAuth逻辑,服务总是返回401响应。 这个代码的任何想法,为什么它保持返回401,即使它成功validation,并来到我们的handleAuthentiation方法,但没有达到我有console.log("THIS IS NOT BEING CALLED")被调用console.log("THIS IS NOT BEING CALLED")调用? var http = require("http"); var express = require("express"); var bodyParser = require('body-parser'); var database = require('./database.js'); var passport = require('passport'), FacebookTokenStrategy = require('passport-facebook-token').Strategy; var User = require('./User.js'); var app = express(); //setup json parsing app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: true})); //setup facebook authentication passport.use(new FacebookTokenStrategy({ clientID: "2454efafd33r", […]

Loopbackjs社交用Facebooklogin

我有一个简单的Web服务,我想用Facebook和谷歌使用Loopbackjs添加社交login。 我已经完成了这个编辑的一部分,在这个链接中find了这个例子: https : //github.com/strongloop/loopback-example-passport,并按照这个指令: https : //docs.strongloop.com/display / public / LB /第三方+login+使用+护照 。 我现在的问题是,我需要在login后检索用户信息,以便用户模型中的每个后续编辑请求都可以直接指向拥有的用户实体。 例如用户X想要访问我的应用程序: X请求“example_site_address / auth / facebook”; X会redirect到“www.facebook.com/dialog/oauth?response_type=code&redirect_uri=example_site_address/auth/facebook/callback&scope=email&client_id=XXXXXXX”; 在他接受之后,他将redirect到“example_site_address / auth / facebook / callback&scope = email&client_id = XXXXXXX”; 然后他将再次redirect到“example_site_address / success_fb”,这个链接应该给客户端他login的用户实体。 使用谷歌这个问题解决了,因为我可以从cookie中检索AccessToken信息,find拥有这些信息的用户,然后将其发送回客户端,这样他就可以存储UserId,并且每个以下请求都可以像这个用户一样。 使用Facebook我无法做到这一点,因为cookie涉及loginencryption。 我真的是这种应用程序的初学者,所以我的策略是错误的。 你能帮我做这个吗?

Mongoose schematype.castForQuery错误。 用户身份validation失败

我使用护照战略使用本地护照使用节点js和mongoose时遇到问题。 有时(并不总是),它显示以下错误,我无法弄清楚,我无法login到系统。 我已经使用angularJS的客户端。 TypeError: schematype.castForQuery is not a function at cast (/Users/Harry/Desktop/socketio/node_modules/mongoose/lib/cast.js:229:32) at Query.cast (/Users/Harry/Desktop/socketio/node_modules/mongoose/lib/query.js:2753:12) at Query.findOne (/Users/Harry/Desktop/socketio/node_modules/mongoose/lib/query.js:1353:10) at Function.findOne (/Users/Harry/Desktop/socketio/node_modules/mongoose/lib/model.js:1343:13) at Strategy._verify (/Users/Harry/Desktop/socketio/app_api/config/passport.js:17:8) at Strategy.authenticate (/Users/Harry/Desktop/socketio/node_modules/passport-local/lib/strategy.js:90:12) at attempt (/Users/Harry/Desktop/socketio/node_modules/passport/lib/middleware/authenticate.js:348:16) at authenticate (/Users/Harry/Desktop/socketio/node_modules/passport/lib/middleware/authenticate.js:349:7) at module.exports.login (/Users/Harry/Desktop/socketio/app_api/controllers/authentication.js:302:4) at Layer.handle [as handle_request] (/Users/Harry/Desktop/socketio/node_modules/express/lib/router/layer.js:95:5) at next (/Users/Harry/Desktop/socketio/node_modules/express/lib/router/route.js:131:13) at Route.dispatch (/Users/Harry/Desktop/socketio/node_modules/express/lib/router/route.js:112:3) at Layer.handle [as handle_request] (/Users/Harry/Desktop/socketio/node_modules/express/lib/router/layer.js:95:5) at /Users/Harry/Desktop/socketio/node_modules/express/lib/router/index.js:277:22 at […]

MEAN堆栈Facebook授权错误:没有“访问控制允许来源”标题?

我正在尝试在我的MEAN堆栈应用程序上进行Facebook授权。 我正在使用passport和passport-facebook 。 我不使用jade或ejs ,我想使用纯粹的angularjs。 当我运行我的应用程序,并点击“login”button,我得到以下错误: XMLHttpRequest cannot load https://www.facebook.com/dialog/oauth?response_type=code&redirect_uri=http%…2Flocalhost%3A3030%2Fauth%2Ffacebook%2Fcallback&client_id=…. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3030' is therefore not allowed access. 我做了一些研究,发现node cors模块可以解决这个问题,但是没有。 我做错了什么,我该如何解决? 这里是我的routes.js文件(服务器端): app.get('/auth/facebook', passport.authenticate('facebook')); app.get('/auth/facebook/callback', passport.authenticate('facebook', { successRedirect: '/success', failureRedirect: '/error' })); app.post('/success', function(req, res, next) { User.findById(req.session.passport.user, function(err, user) { if(err){ res.send({success:false}); }else{ res.send({success:true,user: user}); } […]

使用passport-google-oauth2与Facebook和Google进行身份validation

我正在尝试使用passport-google-oauth2和passport-facebook分别passport-facebook和Google进行身份validation。 我的auth文件夹的项目结构如下所示: auth/facebook index.js login.js verifyCallback.js auth/google index.js login.js verifyCallback.js auth / google代码如下所示: verifyCallback.js var User = require('../../models/user'); module.exports = function(accessToken,refreshToken,profile,done){ function findOrCreateUser(){ console.log(profile); User.findOne({'google.id':profile._json.id},function(err,user){ if(err){ console.log("An error occured when logging in with google"); console.error(err); done(err); } else if(user) { console.log("User exists in google verify callback"); console.log(user); done(null,user); } else{ console.log("Creating a new user in […]

在Facebook中,使用nodejsselect页面的date范围见解

在节点中,我使用FB模块获取Graph API以获取页面上的见解。 为此,我正在提出要求 EX: https : //graph.facebook.com/v2.2/12345_12345/insights?since=2014-12-01&until=2014-12-31 我试图手动打在浏览器中 EX: https : //graph.facebook.com/v2.2/12345_12345/insights?since=2014-12-01&until=2014-12-31&access_token=MYACCESSTOKEN 我参考下面的链接,并根据指示我尝试了一些请求, 但即使它有一个数据 , 我只获得空数据。 selectdate范围来获得页面的洞察 || 获取Facebook页面的洞察数据 https://developers.facebook.com/docs/graph-api/reference/v2.2/insights https://www.facebook.com/help/336893449723054 注意 :12345_12345在这里是page.data.id的值,我给了重复值。

Node.JS中的Facebook OAuth:存储访问令牌

我正在使用OAuth API实现与Facebook交互的后端。 首先,我交换访问令牌的授权码: var accessTokenUrl = 'https://graph.facebook.com/v2.3/oauth/access_token'; var params = { code: req.body.code, client_id: req.body.clientId, client_secret: config.FACEBOOK_SECRET, redirect_uri: req.body.redirectUri }; request.get({ url: accessTokenUrl, qs: params, json: true }, function(err, response, accessToken) { … }); 我将需要访问令牌function请求到Facebook API(请求configuration文件信息,张贴到时间表等),所以我需要将其存储在服务器端的某个地方。 我可以这样做吗? exports.access_token = access_token; 换句话说,对于与Node.JS的每个连接而言,exports.access_token都是唯一的,还是所有客户端都共享此variables(在这种情况下,我完全可以不这样做)? 我也使用JSON Web令牌,所以我也可以在请求令牌后做到这一点: function createToken(accessToken) { var payload = { sub: accessToken, iat: moment().unix(), exp: […]

User.findOrCreate不是一个函数passport-facebook

我跟着护照facebook的github指南,这是我得到的结果: User.findOrCreate不是一个函数 我在passport.js中有这个代码: passport.use(new FacebookStrategy({ clientID : configAuth.facebookAuth.clientID, clientSecret : configAuth.facebookAuth.clientSecret, callbackURL : configAuth.facebookAuth.callbackURL }, function(accessToken, refreshToken, profile, done) { User.findOrCreate({ facebookId: profile.id }, function (err, user) { return done(err, user); }); } )); 我需要自己写findOrCreate方法吗? 我以为mongoose正在处理这个? 另外,profile.id是做什么的? 我是否需要将其编辑为与我的代码相关的内容? 我没有名为configuration文件的模型。 这是我的用户模型: var mongoose = require('mongoose'); var Schema = mongoose.Schema; var ObjectId = Schema.ObjectId; var crypto = […]

后端服务器软件与PHP / MySQL / JS类似Facebook的聊天?

我用PHP和JavaScript开发了一个类似Facebook的聊天工具。 这是一个论坛软件的插件。 目前我使用(短)轮询来接收新的消息,但我想用更好的东西来尝试它,比如套接字。 你会推荐什么样的聊天(可以在每个站点,私人聊天,组聊天..):WebSockets,node.js与socket.io,ejabberd …