Javascript ReferenceError:未定义用户

Javascript ReferenceError:未定义用户,javascript,node.js,express,passport.js,Javascript,Node.js,Express,Passport.js,我试图通过vkontakte(vk.com)(passport vkontakte)进行身份验证时出错 错误:引用错误:未定义用户 这是我的auth.js var express = require('express'); var passport = require('passport'), VKontakteStrategy = require('passport-vkontakte').Strategy; var router = express.Router(); var app = e

我试图通过vkontakte(vk.com)(passport vkontakte)进行身份验证时出错

错误:引用错误:未定义用户

这是我的auth.js

var express = require('express');
var passport = require('passport'), VKontakteStrategy = require('passport-vkontakte').Strategy;
var router = express.Router();
var app = express();

router.get('/', function(req, res) {
    res.send('Auth');
});

passport.use(new VKontakteStrategy({
        clientID:     000, // VK.com docs call it 'API ID'
        clientSecret: '***',
        callbackURL:  "http://127.0.0.1:3000/auth/vkontakte/callback"
    },
    function(accessToken, refreshToken, profile, done) {
        User.findOrCreate({ vkontakteId: profile.id }, function (err, user) {
            return done(err, user);
        });
    }
));

router.get('/vkontakte',
    passport.authenticate('vkontakte'),
    function(req, res){
        // The request will be redirected to vk.com for authentication, so
        // this function will not be called.
    });

router.get('/vkontakte/callback',
    passport.authenticate('vkontakte', { failureRedirect: '/' }),
    function(req, res) {
        // Successful authentication, redirect home.
        var User = req.User;
        res.redirect('/');
    });

router.get('/logout', function(req, res){
    req.logout();
    res.redirect('/');
});
module.exports = router;
快速版本:4

定义用户模型 Mongoose或Mongoskin示例 您需要创建一个模型,以便您的策略能够正确地与应用程序交互。在您的情况下,此模型将面向用户,因此它被适当地命名为
User

让您开始的样板代码 这段代码是从strategy developers添加的,目的是让您开始学习

User.findOrCreate({ vkontakteId: profile.id }, function (err, user) {
    return done(err, user);
});
这是相同的概念,希望这能澄清问题

User.findOrCreate({ vkontakteId: profile.id }, function (err, user) {
    return done(err, user);
});