Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
app.use(require('cookie-parser')(config.session_secret));
app.use(compress());
app.use(session({
secret: config.session_secret,
store: new RedisStore({
port: config.redis_port,
host: config.redis_host,
db: config.redis_db,
pass: config.redis_password,
}),
resave: false,
saveUninitialized: false,
}));
// oauth 中间件
app.use(passport.initialize());
// github oauth
passport.serializeUser(function (user, done) {
done(null, user);
});
passport.deserializeUser(function (user, done) {
done(null, user);
});
passport.use(new GitHubStrategy(config.GITHUB_OAUTH, githubStrategyMiddleware));
// custom middleware
app.use(auth.authUser);
app.use(auth.blockUser());
if (!config.debug) {
app.use(function (req, res, next) {
if(user) return done(null, user);
user = new User({
authId: authId,
name: profile.displayName,
created: Date.now(),
role: 'customer',
});
user.save(function(err){
if(err) return done(err, null);
done(null, user);
});
});
}));
app.use(passport.initialize());
// 放入session
app.use(passport.session());
},
app.set('view engine', 'hbs');
app.use(favicon(path.join(__dirname, 'public', 'img', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
// session middleware configuration
// see https://github.com/expressjs/session
app.use(session({
secret: '12345QWERTY-SECRET',
name: 'graphNodeCookie',
resave: false,
saveUninitialized: false,
}));
app.use(express.static(path.join(__dirname, 'public')));
app.use(passport.initialize());
app.use(passport.session());
app.use('/', routes);
// error handlers
// catch 404 and forward to error handler
app.use(function (req, res, next) {
var err = new Error('Not Found');
res.status(404);
next(err);
});
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function (err, req, res) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
const sequelizeSessionStore = new SessionStore({db: sequelize});
// FBC express initialization
const app = express();
app.set('trust proxy', 1);
app.use(organizationMiddleware());
app.use(appMiddleware());
app.use(
sessionMiddleware({
devMode: DEV_MODE,
sessionStore: sequelizeSessionStore,
sessionToken:
process.env.SESSION_TOKEN || 'fhcfvugnlkkgntihvlekctunhbbdbjiu',
}),
);
app.use(passport.initialize());
app.use(passport.session()); // must be after sessionMiddleware
fbcPassport.use();
passport.use('local', OrganizationLocalStrategy());
passport.use(
'saml',
OrganizationSamlStrategy({
urlPrefix: '/user',
}),
);
// Views
app.set('views', path.join(__dirname, '..', 'views'));
app.set('view engine', 'pug');
// Routes
dbStore.sync();
// First, our session middleware will set/read sessions from the request.
// Our sessions will get stored in Mongo using the same connection from
// mongoose. Check out the sessions collection in your MongoCLI.
app.use(session({
secret: app.getValue('env').SESSION_SECRET,
store: dbStore,
resave: false,
saveUninitialized: false
}));
// Initialize passport and also allow it to read
// the request session information.
app.use(passport.initialize());
app.use(passport.session());
// When we give a cookie to the browser, it is just the userId (encrypted with our secret).
passport.serializeUser(function (user, done) {
done(null, user.id);
});
// When we receive a cookie from the browser, we use that id to set our req.user
// to a user found in the database.
passport.deserializeUser(function (id, done) {
User.findById(id)
.then(function (user) {
done(null, user);
})
.catch(done);
});
passport.use(new WechatStrategy({
appid: 'wx0ff7006738630a6c',
appsecret: '866796103d71f653d69809cf1e8c2dae',
callbackURL: 'http://192.168.1.70:3000/auth/wechat/callback',
scope: 'snsapi_base',
state: true
// appid: 'wx3af1ba5b6113419d',
// appsecret: '74c7bf3702ff7d2cbc554ce19248a4b7',
// callbackURL: 'http://api.liangyali.com:3000/auth/wechat/callback'
}, function (openid, profile, token, done) {
return done(null, openid, profile);
}));
var app = express();
app.use(session({secret: 'test'}));
app.use(passport.initialize());
app.use(passport.session());
app.get('/auth/err', function (req, res) {
res.send({message: 'error'});
});
app.get('/auth/success', function (req, res) {
res.send({message: 'success'});
});
app.get('/', function (req, res) {
res.json({status: 'ok'});
});
app.get('/auth/wechat', passport.authenticate('wechat'), function (req, res) {
//dont't call it
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(cors());
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(morgan('dev'));
app.use(passport.initialize());
app.get('/', function(req, res) {
res.send('Page under construction.');
});
app.use('/api', api);
// 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 handler
app.use(function(err, req, res, next) {
const middleware = (app) => {
app.use(passport.initialize());
app.get('/auth/github', (req, res, next) => {
passport.authenticate('github')(req, res, next);
});
app.get('/auth/github/callback', passport.authenticate('github', { session: false }), async (req, res) => {
const user = await User.findOne({ where: { id: req.user.id } });
const tokens = await generateTokens(user, req);
res.send(oAuthtemplate({
title: 'Success',
status: 'success',
payload: { user: userProfileFields(user), tokens },
}));
});
};
module.exports.initialize = function(app) {
app.use(cookieParser());
app.use(session({
secret: 'SECRET',
resave: false,
saveUninitialized: true,
cookie: {
httpOnly: false,
maxAge: 3600000 //1 Hour
}
}));
app.use(passport.initialize());
app.use(passport.session());
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(obj, done) {
done(null, obj);
});
var callback = process.env.CALLBACK || 'http://localhost:5000/auth/github/callback';
passport.use(new GitHubStrategy({
clientID: github_client_id,
clientSecret: github_client_secret,
callbackURL: callback
middleware() {
this.express.use(logger('dev'));
this.express.use(bodyParser.json());
this.express.use(passport.initialize());
this.express.use(bodyParser.urlencoded({ extended: false }));
}
routes() {