magnet-jwt

0.1.0 • Public • Published

Usage

Basic

import magnet from 'magnet-core';
import Config from 'magnet-config';
import Logger from 'magnet-bunyan';
import Server from 'magnet-spdy';
import Session from 'magnet-session';
import Passport from 'magnet-passport';

let app = await magnet([Config, Logger, Server, Session, Passport]);

config/passport.js

import { Strategy as JwtStrategy, ExtractJwt } from 'passport-jwt';
import jwt from 'jsonwebtoken';

export default {
  async serializeUser(user) {
    return user.id;
  },
  async deserializeUser(id) {
    return {};
  },

  strategies: [
    {
      adapter: JwtStrategy,
      options: {
        jwtFromRequest: ExtractJwt.fromAuthHeader(),
        secretOrKey: 'shhhhh',
        issuer: 'magnetjs.com',
        audience: 'example.net',
      },
      async check(app, jwt_payload) {
        try {
          let user = await app.models.user.findOne({ id: jwt_payload.sub });

          return user;
        } catch (err) {
          throw err;
        }
      }
    }
  ]
};

Package Sidebar

Install

npm i magnet-jwt

Weekly Downloads

0

Version

0.1.0

License

MIT

Last publish

Collaborators

  • kievechua