24 lines
580 B
TypeScript
24 lines
580 B
TypeScript
import passport from 'koa-passport';
|
|
|
|
import Auth from '../../model/auth';
|
|
import { Auth as AuthRecord } from '../../db/schema/auth';
|
|
import LocalStrategy from './strategies/local';
|
|
import JwtStrategy from './strategies/jwt';
|
|
|
|
passport.serializeUser((user, done) => done(null, (user as AuthRecord).record));
|
|
|
|
passport.deserializeUser(async (id, done) => {
|
|
const user = await Auth.findOne({ record: id });
|
|
|
|
if (user) {
|
|
done(null, user);
|
|
}
|
|
|
|
done('user not found', null);
|
|
});
|
|
|
|
passport.use(LocalStrategy);
|
|
passport.use(JwtStrategy);
|
|
|
|
export default passport;
|