Node.js 社交登录,vue使用passport进行身份验证(nodejs)

Node.js 社交登录,vue使用passport进行身份验证(nodejs),node.js,vue.js,axios,passport.js,vue-authenticate,Node.js,Vue.js,Axios,Passport.js,Vue Authenticate,我正在尝试使用vue身份验证和passport实现facebook登录。 我成功登录到我的Facebook帐户。我成功地得到了“回调码”。 这是我的回调url 因此,我使用axios将“回调代码”传递给服务器。因为我的服务器代码(passport facebook)是: Vue中的Axis代码是 this.$http.get('/api/users/auth/facebook/callback',{ params:{ code : this.param

我正在尝试使用vue身份验证和passport实现facebook登录。 我成功登录到我的Facebook帐户。我成功地得到了“回调码”。 这是我的回调url

因此,我使用axios将“回调代码”传递给服务器。因为我的服务器代码(passport facebook)是:

Vue中的Axis代码是

this.$http.get('/api/users/auth/facebook/callback',{
      params:{
        code : this.param
      }
    })
    .then((response) => {
      this.movies = param;
    })
但它从来都不起作用。。我不知道为什么。只是想知道,我将axios代码改为
get('api/users/')
。并编写了这样的服务器代码

router.get('/',()=>{
  console.log("good");
});
它起作用了。我可以在控制台中看到“好”消息。
让我知道你是如何实现社交登录的

如果您想使用passport配置Facebook登录,只需按照以下步骤操作即可:

第一步。添加passport配置

const passport = require('passport');
app.use(passport.initialize());
app.use(passport.session());

app.get('/success', (req, res) => res.send("You have successfully logged in"));
app.get('/error', (req, res) => res.send("error logging in"));

passport.serializeUser(function(user, cb) {
  cb(null, user);
});

passport.deserializeUser(function(obj, cb) {
  cb(null, obj);
});
第二步。设置facebook配置

const FacebookStrategy = require('passport-facebook').Strategy;

const FACEBOOK_APP_ID = 'your app id';
const FACEBOOK_APP_SECRET = 'your app secret';

passport.use(new FacebookStrategy({
    clientID: FACEBOOK_APP_ID,
    clientSecret: FACEBOOK_APP_SECRET,
    callbackURL: "/auth/facebook/callback"
  },
  function(accessToken, refreshToken, profile, cb) {
      return cb(null, profile);
  }
));

app.get('/auth/facebook',
  passport.authenticate('facebook'));

app.get('/auth/facebook/callback',
  passport.authenticate('facebook', { failureRedirect: '/error' }),
  function(req, res) {
    res.redirect('/success');
  });
这将解决您的问题


请参考此链接

我相信
api
是您当前的路线,然后您应该尝试从Vue Ajax调用中删除
/user
。$http.get('/api/auth/facebook/callback',{谢谢您的回复。但是api/use/是正确的。。。。。
const FacebookStrategy = require('passport-facebook').Strategy;

const FACEBOOK_APP_ID = 'your app id';
const FACEBOOK_APP_SECRET = 'your app secret';

passport.use(new FacebookStrategy({
    clientID: FACEBOOK_APP_ID,
    clientSecret: FACEBOOK_APP_SECRET,
    callbackURL: "/auth/facebook/callback"
  },
  function(accessToken, refreshToken, profile, cb) {
      return cb(null, profile);
  }
));

app.get('/auth/facebook',
  passport.authenticate('facebook'));

app.get('/auth/facebook/callback',
  passport.authenticate('facebook', { failureRedirect: '/error' }),
  function(req, res) {
    res.redirect('/success');
  });