Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {Request, Response, Router} from 'express';
- import passport from 'passport';
- import {Strategy} from 'passport-local';
- const router: Router = Router();
- const myUsers = [{username: 'will', password: 'secret'}, {username: 'foo', password: 'bar'}];
- passport.use(
- new Strategy((username, password, done) => {
- // Application stops here
- const user = myUsers.find(u => u.username === username);
- if (!user) {
- return done(null, false, {message: 'Incorrect username.'});
- }
- if (user.password !== password) {
- return done(null, false, {message: 'Incorrect password.'});
- }
- return done(null, user);
- })
- );
- router.post('/login', (req: Request, res: Response) => {
- passport.authenticate('local', (err, user, info) => {
- if (err) {
- res.status(404).json(err);
- return;
- }
- console.log(user)
- if (user) {
- res.status(200);
- res.json({
- userInfo: user,
- });
- } else {
- res.status(401).json(info);
- }
- })(req, res);
- });
- router.get('/login', (req: Request, res: Response) => {
- res.send({message: 'welcome to login'});
- });
- export const users: Router = router;
Add Comment
Please, Sign In to add comment