1 | var passport = require('passport');
|
2 | var JwtStrategy = require('passport-jwt').Strategy;
|
3 | var ExtractJwt = require('passport-jwt').ExtractJwt;
|
4 |
|
5 | var opts = {
|
6 | jwtFromRequest: ExtractJwt.fromAuthHeader(),
|
7 | secretOrKey: process.env.JWT_SECRET || 'React Starter Kit',
|
8 | };
|
9 | passport.use(new JwtStrategy(opts, function(jwt_payload, done) {
|
10 |
|
11 | let profile = jwt_payload;
|
12 | var username = profile.email.split("@")[0];
|
13 |
|
14 | var user = {
|
15 | id: profile.id,
|
16 | email: profile.email,
|
17 | username: username,
|
18 | name: {
|
19 | firstname: profile.name.firstname,
|
20 | lastname: profile.name.lastname,
|
21 | },
|
22 | profile: profile
|
23 | };
|
24 |
|
25 | if (user.email) {
|
26 | done(null, user);
|
27 | } else {
|
28 | done(null, false);
|
29 | }
|
30 | }));
|
31 |
|
32 | module.exports = passport;
|