No Livro mean-full-stack-javascript-para-aplicacoes-web-com-mongodb-express-angular-e-node, Capítulo 8, criei o arquivo passport.js com o seguinte código:
var passport = require(‘passport’);
var GitHubStrategy = require(‘passport-github’).Strategy;
var findOrCreate = require(‘mongoose-findorcreate’);
var mongoose = require(‘mongoose’);
module.exports = function () {
var Usuario = mongoose.model('Usuario');
passport.use(new GitHubStrategy({
clientID: 'c82ac984a4c76ebdb9d2',
clientSecret: '2a5250c2e841ad79bf2a9d91472b7d0a5eba5517',
callbackURL: 'http://localhost:3000/auth/github/callback'
}, function (accessToken, refreshToken, profile, done) {
Usuario.findOrCreate(
{"login": profile.username},
{"nome": profile.username},
function (erro, usuario) {
if (erro) {
console.log(erro);
return done(erro);
}
return done(null, usuario);
}
)}
));
passport.serializeUser(function (usuario, done) {
done(null, usuario._id);
});
passport.deserializeUser(function (id, done) {
Usuario.findById(id).exec()
.then(function (usuario) {
done(null, usuario);
});
});
};
Quando mando subir o servidor ele está dando erro no declaração var Usuario = mongoose.model(‘Usuario’);
Schema hasn’t been registered for model “Usuario”.
Alguém pode me ajudar?