0.1.0 • Published 10 years ago
magnet-jwt v0.1.0
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;
        }
      }
    }
  ]
};0.1.0
10 years ago