This repository has been archived on 2023-05-17. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
auth/lib/server/passport/strategies/jwt.ts
mifi 32bfbd7adc
All checks were successful
continuous-integration/drone/push Build is passing
Finishing touches to publish
2023-05-03 11:38:41 -04:00

23 lines
626 B
TypeScript

// eslint-disable-next-line import/named
import { ExtractJwt, Strategy as JwtStrategy } from 'passport-jwt';
import Auth from '../../../db/model/auth';
import { JWT_SECRET } from '../../../constants/env';
const opts = {
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKey: JWT_SECRET,
issuer: process.env.JWT_ISSUER,
audience: process.env.JWT_AUDIENCE,
};
export default new JwtStrategy(opts, async (jwt_payload, done) => {
const auth = await Auth.findOne({ record: jwt_payload.sub }).catch();
if (auth) {
return done(null, auth);
}
return done(null, false);
});