Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // import * as module from 'module';
- const
- User = require('../models/user'),
- JwtStrategy = require('passport-jwt').Strategy,
- ExtractJwt = require('passport-jwt').ExtractJwt,
- config = require('./appconfig');
- // Setting JWT strategy options
- const jwtOptions = {
- // Telling Passport to check authorization headers for JWT
- jwtFromRequest: ExtractJwt.fromAuthHeaderWithScheme('Bearer'),
- // Telling Passport where to find the secret
- secretOrKey: config.jwtSecret,
- algorithms:['RS256']
- // TO-DO: Add issuer and audience checks
- };
- console.log(config.jwtSecret);
- module.exports = function(passport) {
- passport.use(new JwtStrategy(jwtOptions, function(jwt_payload, done) {
- console.log(jwt_payload);
- User.findOne({id: jwt_payload.sub}, function(err, user) {
- if (err) {
- return done(err, false);
- }
- if (user) {
- return done(null, user);
- } else {
- return done(null, false);
- // or you could create a new account
- }
- });
- }));
- };
- const express = require('express');
- const userRoutes = require('./user.route');
- const authRoutes = require('./auth.route');
- // const postRoutes = require('./post.route');
- const passport = require('passport');
- passport.initialize();
- var jwt = require('../config/passport')(passport);
- const router = express.Router(); // eslint-disable-line new-cap
- /** GET /health-check - Check service health */
- router.get('/health-check', (req, res) =>
- res.send('OK')
- );
- // mount user routes at /users
- router.use('/users', passport.authenticate('jwt', { session: false }), userRoutes);
- // mount auth routes at /auth
- router.use('/auth', authRoutes);
- // router.use('/posts', postRoutes);
- module.exports = router;
Add Comment
Please, Sign In to add comment