Я пытаюсь добавить токен в мой API, у меня нет ошибки в консоли, но когда я пытаюсь использовать почтальон с моим маршрутом с сообщением (электронная почта и пароль)
"http://localhost:3005/api/utilisateur/login"
// '/v1/account/login'
api.post('/login', passport.authenticate(
'local', {
session: false,
scope: []
}), generateAccessToken, respond);
Почтальон возвращается ко мне: Unauthorized
Мой полный authMiddleware:
import jwt from 'jsonwebtoken';
import expressJwt from 'express-jwt';
const TOKENTIME = 60 * 60 * 24 * 30 // 30 days
const SECRET = "f9ilOusçSE El;l3 m4ng3 d3:s pimOu55e!";
let authenticate = expressJwt({secret: SECRET});
let generateAccessToken = (req, res, next) => {
req.token = req.token || {};
req.token = jwt.sign({
id: req.user.id,
}, SECRET, {
expiresIn: TOKENTIME // 30 days
});
next();
}
let respond = (req, res) => {
res.status(200).json({
user: req.user.username,
token: req.token
});
}
module.exports = {
authenticate,
generateAccessToken,
respond
};
А:
import mongoose from 'mongoose';
import {
Router
} from 'express';
import Utilisateur from '../model/utilisateur';
import bodyParser from 'body-parser';
import passport from 'passport';
import config from '../config';
import {
generateAccessToken,
respond,
authenticate
} from '../middleware/authMiddleware';
export default ({
config,
db
}) => {
let api = Router();
// CRUD - CREAT READ UPDATE DELETE
//'/api/match/add' // First Step Creat
api.post('/add', (req, res) => {
let newUti = new Utilisateur();
newUti.name = req.body.name;
newUti.email = req.body.email;
newUti.password = req.body.password;
newUti.nom = req.body.nom;
newUti.prenom = req.body.prenom;
newUti.pays = req.body.pays;
newUti.codePostale = req.body.codePostale;
newUti.adresse = req.body.adresse;
newUti.telephone = req.body.telephone;
newUti.sexe = req.body.sexe;
newUti.admin = req.body.admin;
newUti.dateCreationCompte = req.body.dateCreationCompte;
newUti.dateDebutPeriodeEssai = req.body.dateDebutPeriodeEssai;
newUti.dateFinPeriodeEssai = req.body.dateFinPeriodeEssai;
newUti.dateDernierConnexion = req.body.dateDernierConnexion;
newUti.dateDernierModificationMotDePasse =
req.body.dateDernierModificationMotDePasse;
newUti.nombreDeConnexion = req.body.nombreDeConnexion;
newUti.adresseIpCreation = req.body.adresseIpCreation;
newUti.dernierAdresseIpConnecte = req.body.dernierAdresseIpConnecte;
newUti.emailVerifier = req.body.emailVerifier;
newUti.save(err => {
if (err) {
res.send(err);
}
passport.authenticate(
'local', {
sesssion: false
})(req, res, () => {
res.json({
message: "Utilisateur enregistré"
});
});
});
});
// '/api/account/login'
api.post('/login', passport.authenticate(
'local', {
session: false,
scope: []
}), generateAccessToken, respond);
// /api/utilisateur/logout
api.get('/logout', authenticate, (req, res) => {
res.logout();
res.status(200).send('Succefully logged out ');
});
api.get('/me', authenticate, (req, res) => {
res.status(200).json(req.user);
});
// Second Step READ
//'/api/utilisateur' - Read
api.get('/', (req, res) => {
Utilisateur.find({}, (err, utilisateur) => {
if (err) {
res.send(err);
}
res.json(utilisateur);
});
});
// /api/utilisateur/:id' - Read 1
api.get('/id/:id', (req, res) => {
Utilisateur.findById(req.params.id, (err, utilisateur) => {
if (err) {
res.send(err);
}
res.json(utilisateur);
});
});
// update ' /api/utilisateur/:id'
api.put('/:id', (req, res) => {
Utilisateur.findById(req.params.id, (err, utilisateur) => {
if (err) {
res.send(err);
}
utilisateur.name = req.body.name;
utilisateur.email = req.body.email;
utilisateur.password = req.body.password;
utilisateur.nom = req.body.nom;
utilisateur.prenom = req.body.prenom;
utilisateur.pays = req.body.pays;
utilisateur.codePostale = req.body.codePostale;
utilisateur.adresse = req.body.adresse;
utilisateur.telephone = req.body.telephone;
utilisateur.sexe = req.body.sexe;
utilisateur.admin = req.body.admin;
utilisateur.dateCreationCompte = req.body.dateCreationCompte;
utilisateur.dateDebutPeriodeEssai = req.body.dateDebutPeriodeEssai;
utilisateur.dateFinPeriodeEssai = req.body.dateFinPeriodeEssai;
utilisateur.dateDernierConnexion = req.body.dateDernierConnexion;
utilisateur.dateDernierModificationMotDePasse =
req.body.dateDernierModificationMotDePasse;
utilisateur.nombreDeConnexion = req.body.nombreDeConnexion;
utilisateur.adresseIpCreation = req.body.adresseIpCreation;
utilisateur.dernierAdresseIpConnecte =
req.body.dernierAdresseIpConnecte;
utilisateur.emailVerifier = req.body.emailVerifier;
utilisateur.save(err => {
if (err) {
res.send(err);
}
res.json({
message: "Info utilisateur mise a jour "
});
});
});
});
// 'v1/utilisateur/:id - Supprimer
api.delete('/:id', (req, res) => {
Utilisateur.remove({
_id: req.params.id
}, (err, utilisateur) => {
if (err) {
res.send(err);
}
res.json({
message: "Utilisateur supprimé"
});
});
});
api.get('/pseudo/:name', (req, res) => {
Utilisateur.find({
name: req.params.name
}, (err, utilisateur) => {
if (err) {
res.send(err);
}
res.json(utilisateur);
});
});
return api;
};
Это мой первый API, я следую учебному пособию, надеюсь, кто-то мне поможет, вы можете увидеть полный проект по адресу: https://github.com/soosoo34/ParisSportifAPI