Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var session = require('express-session');
- var cookieParser = require('cookie-parser');
- var app = express();
- var bodyParser = require('body-parser');
- var morgan = require('morgan');
- var mongoose = require('mongoose');
- var config = require('./config/database');
- var cors = require('cors');
- mongoose.connect(config.database, function(err, db){
- if(!err){
- console.log('Conectado');
- }
- });
- var passport = require('passport');
- app.use(bodyParser.urlencoded({extended: true}));
- app.use(bodyParser.json());
- app.use(cookieParser());
- app.use(session({ secret: 'SecretSession'}));
- app.use(passport.initialize());
- app.use(passport.session());
- app.use(express.static(__dirname + '/public'))
- app.use(morgan('dev'));
- app.use(cors());
- var initPassport = require('./config/passport');
- initPassport(passport);
- var index = require('./config/index')(passport);
- app.use('/', index);
- server.listen(3030, function(){
- console.log('Rodando ');
- });
- var User = require('../app/models/user');
- var login = require('./login');
- var signup = require('./signup');
- module.exports = function(passport){
- passport.serializeUser(function(user, done) {
- console.log('serializing user: ');console.log(user);
- done(null, user._id);
- });
- passport.deserializeUser(function(id, done) {
- User.findById(id, function(err, user) {
- console.log('deserializing user:',user);
- done(err, user);
- });
- });
- login(passport);
- signup(passport);
- }
- var LocalStrategy = require('passport-local').Strategy;
- var User = require('../app/models/user');
- var bCrypt = require('bcrypt-nodejs');
- module.exports = function(passport){
- passport.use('login', new LocalStrategy({
- passReqToCallback: true
- },
- function(req, username, password, done){
- User.findOne({'username': username}, function(err, user){
- if(err){
- return done(err);
- }
- if(!user){
- console.log('NENHUM USUARIO ENCONTRADO COM O LOGIN ' + username);
- return done(null, false);
- }
- if(!validatePassword(user, password)){
- console.log('PASSWORD INVALIDO');
- return done(null, false);
- }
- return done(null, user);
- });
- }
- ));
- var validatePassword = function(user, password){
- return bCrypt.compareSync(password, user.password);
- }
- }
- var LocalStrategy = require('passport-local').Strategy;
- var User = require('../app/models/user');
- var bCrypt = require('bcrypt-nodejs');
- module.exports = function(passport){
- passport.use('signup', new LocalStrategy({
- passReqToCallback: true
- }, function(req, username, password, done){
- findOrCreateUser = function(){
- User.findOne({'username' : username}, function(err, user){
- if(err){
- console.log('ocorreu um erro ' + err);
- return done(err)
- }
- if(user){
- console.log('usuario ja cadastrado');
- return done(null, false);
- }else{
- var novoUsuario = new User();
- novoUsuario.username = username;
- novoUsuario.password = createHash(password);
- novoUsuario.nome = req.param('nome');
- novoUsuario.email = req.param('email');
- novoUsuario.save(function(err){
- if(err){
- throw err;
- }
- console.log('usuario cadastrado com sucesso');
- return done(null, novoUsuario);
- });
- }
- });
- }
- process.nextTick(findOrCreateUser);
- }));
- var createHash = function(password){
- return bCrypt.hashSync(password, bCrypt.genSaltSync(10), null);
- }
- }
- var express = require('express');
- var app = express();
- var router = express.Router();
- var jwt = require('jwt-simple');
- var isAuthenticated = function(req, res, next){
- if(req.isAuthenticated()){
- return next();
- }else{
- res.redirect('/');
- }
- }
- module.exports = function(passport){
- router.post('/api/login', function(req, res, next){
- passport.authenticate('login', function(err, user){
- if(err){
- res.json({sucesso: false, mensagem: 'Erro ao logar', erro: err});
- }
- else{
- var token = jwt.encode(user, 'JwTaUtHaNGULAR');
- return res.send({sucesso: true, token: 'JWT ' + token, mensagem: 'Autenticação OK'});
- }
- })(req, res, next);
- });
- router.post('/api/cadastro', function(req, res, next){
- passport.authenticate('signup', function(err, user){
- if(err){
- res.json({sucesso: false, mensagem: 'Erro ao criar usuário', erro: err});
- }
- else{
- res.json({sucesso: true, mensagem: 'Usuario criado com sucesso'});
- }
- })(req, res, next);
- });
- router.get('/api/dashboard/users', isAuthenticated ,function(req, res){
- console.log('request', req)
- Usuario.find({'_id': {$ne: id_user}}, function(err, usuario){
- res.json({sucesso: true, user: usuario});
- });
- });
- return router;
- }
- var mongoose = require('mongoose');
- var Schema = mongoose.Schema;
- var UsuarioSchema = new Schema({
- username: {
- type: String,
- required: true,
- unique: true
- },
- password: {
- type: String,
- required: true
- },
- nome: {
- type: String,
- require: false
- },
- email: {
- type: String,
- unique: false,
- require: false
- }
- });
- module.exports = mongoose.model('Usuario', UsuarioSchema);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement