-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathauth.js
43 lines (30 loc) · 964 Bytes
/
auth.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
"use strict";
import passport from 'koa-passport';
import bodyParser from 'koa-bodyparser';
import session from 'koa-session';
import FacebookStrategy from './auth/passport-facebook';
import TwitterStrategy from './auth/passport-twitter';
import RedditStrategy from './auth/passport-reddit';
import JwtStrategy from './auth/passport-jwt';
import User from './models/User';
import app from './server';
import { APP_SESSION_SECRET } from './config';
passport.serializeUser(function serialize(user, done) {
done(null, user);
});
passport.deserializeUser(function deserialize(user, done) {
done(null, user);
});
passport.use(FacebookStrategy);
passport.use(TwitterStrategy);
passport.use(RedditStrategy);
passport.use(JwtStrategy);
// Proxy is allowed.
app.proxy = true;
// Session, swerve
app.keys = [ APP_SESSION_SECRET ];
app.use(session(app));
app.use(bodyParser());
app.use(passport.initialize());
app.use(passport.session());
export { passport };