-
Notifications
You must be signed in to change notification settings - Fork 0
/
router.js
36 lines (30 loc) · 1.07 KB
/
router.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import Authentication from './controllers/authentication';
import './services/passport';
import passeport from 'passport';
import { Router } from 'express';
const authRouter = Router();
const autreRessource = Router();
// {session:false} => Si l'utilisateur est connecté ne pas créer de session,car l'authentification
// se fait par le token et non les cookies/session
const requireAuth = passeport.authenticate('jwt', { session: false });
const requireSignin = passeport.authenticate('local', { session: false });
/**
* AUTH ROUTER
*/
authRouter.post('/signin', requireSignin, Authentication.signin);
authRouter.post('/signup', Authentication.signup);
/**
* AUTRES RESSOURCES PROTEGEE
* Ceci est une route de test, mais ca pourrait n'importe quelle route
* requireAuth est le middleware qui protège la route, tout comme on peut ne pas en avoir
*/
// Middleware
autreRessource.get('/', requireAuth, (req, res) => {
res.send({
message: 'Voici comment proteger une route par authentification',
});
});
export default {
authRouter,
autreRessource,
};