Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express')
- , load = require('express-load')
- , passportLocal = require('passport-local')
- , passport = require('passport')
- , passportHttp = require('passport-http')
- , app = express()
- , path = require('path')
- , crypto = require('crypto')
- , helmet = require('helmet')
- , favicon = require('serve-favicon')
- , logger = require('morgan')
- , cookieParser = require('cookie-parser')
- , bodyParser = require('body-parser')
- , flash = require('express-flash')
- , BearerStrategy = require('passport-http-bearer').Strategy
- , compression = require('compression')
- , randomToken = require('random-token')
- , expressSession = require('express-session')
- , cors = require('cors');
- // view engine setup
- //app.use(express.static(path.join(__dirname, 'app/views/pagina')));
- //app.set('view engine', 'ejs');
- //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
- app.use(logger('dev'));
- app.use(cors());
- app.use(bodyParser.json());
- app.use(bodyParser.urlencoded({ extended: true }));
- app.use(cookieParser());
- app.use(helmet());
- app.use(flash());
- app.disable('x-powered-by');
- app.use(express.static(path.join(__dirname, '/public')));
- app.use(compression());
- app.use(cookieParser('iY}ONxQ,Y9I^Z}&y6-i}~35cS/vk/sf8+y@8c.2></>P*Z03Xhue?lzY%|dzN>S'));
- app.use(expressSession({
- secret: process.env.SESSION_SECRET || '1a5H(qzO&1+!8M35tXvai3A*JF%Os]eOoG63/Oo+:1S(R[%x[js09UKDam0#85',
- saveUninitialized: false,
- resave: false,
- cookie: {
- httpOnly: true
- }
- }));
- //inicialização passaport
- app.use(passport.initialize());
- //Usando passport session
- app.use(passport.session());
- //Strategia autenticador token.
- passport.use(new BearerStrategy(
- function(token, done) {
- // Importando o modelo..
- var User = app.models.schema.User;
- var TipoUser = app.models.schema.TipoUser;
- var Assinatura = app.models.schema.Assinatura;
- User.findOne({
- where: {
- token: token
- },
- include: [
- { model: TipoUser},
- { model: Assinatura}
- ]
- }).then((user)=>{
- if (!user) {
- return done(null, false);
- }
- return done(null, user, { scope: 'all' });
- }).catch((error)=>{
- return done(err);
- })
- }
- ));
- //
- // //Passport local para sessão de login
- // passport.use(new passportLocal.Strategy({
- // usernameField: 'login',
- // passwordField: 'password',
- //
- // },verificaLogin));
- // passport.use(new passportHttp.BasicStrategy(verificaLogin));
- //
- // function verificaLogin(username, password, done){
- // var pass = require('./app/middleware/password');
- // var User = app.models.schema.User;
- // var gerador = randomToken(32);
- //
- // User.findOne({
- // where: { email: username, senha: crypto.createHash('md5').update(password).digest("hex")}
- // }).then((result)=>{
- // if(result.length == 1){
- // console.log(result);
- //
- // // User.update({
- // // valor: req.body.medida[i].valor},
- // // {where: {id: req.body.medida[i].id}
- // // })
- // // .then(function (result) {
- // // res.json(result)
- // // })
- // // .catch(function (error) {
- // // res.json(error)
- // // });
- //
- //
- //
- // done(null, result);
- //
- // } else {
- // done(null, null);
- // }
- // }).catch((error)=>{
- // done(null, null);
- // })
- // }
- passport.serializeUser(function(user, done){
- done(null, user);
- });
- passport.deserializeUser(function(user, done){
- done(null, user);
- });
- load('middleware',{cwd: 'app'})
- .then('models/schema.js')
- .then('controllers')
- .then('routes')
- .then('config')
- .then('boot.js')
- .into(app);
- // catch 404 and forward to error handler
- app.use(function(req, res, next) {
- var err = new Error('Not Found');
- err.status = 404;
- next(err);
- });
- // error hndlers
- app.use(function(req, res, next) {
- var err = new Error('Not Found');
- err.status = 404;
- next(err);
- });
- app.use(function(err, req, res) {
- res.status(err.status || 500);
- res.end(JSON.stringify({
- message: err.message,
- error: {}
- }));
- });
- module.exports = app;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement