1

谢谢参观。这是我得到的语法错误:

[0] /Users/alexkarasik/Documents/server/services/passport.js:26
[0] async (accessToken, refreshToken, profile, done) => {
[0]       ^
[0] SyntaxError: Unexpected token (

这是错误引用的文件。我现在已经上下查找了 2 多个小时,并且认为没有理由收到此错误:

const passport = require('passport');
const GoogleStrategy = require('passport-google-oauth20').Strategy;
const mongoose = require('mongoose');
const keys = require('../config/keys');

const User = mongoose.model('users');

passport.serializeUser((user, done) => {
  done(null, user.id);
});

passport.deserializeUser((id, done) => {
  User.findById(id)
    .then(user => {
      done(null, user);
    })
});

passport.use(
  new GoogleStrategy({
    clientID: keys.googleClientID,
    clientSecret: keys.googleClientSecret,
    callbackURL: '/auth/google/callback',
    proxy: true
  },
async (accessToken, refreshToken, profile, done) => {
    const existingUser = await User.findOne({ googleId: profile.id });

    if (existingUser){
            //we already have a record with the give profileId
            return done(null, existingUser);
    }
            // we don't have a user record with this ID, make a new record
      const user = await new User({ googleId: profile.id }).save();
      done(null, user);
    }
  )
);

我真的很感激任何意见。

4

1 回答 1

0

Node 只是没有针对较新的 ES6 语法正确更新。更新它解决了这个问题。谢谢您的帮助。

于 2017-09-06T17:37:53.787 回答