Я обработал данные с использованием jwt, после чего bcrypt будет выполнен с целью passportjs для аутентификации.
, но когда выполняются passportjs, все становится неавторизованным
Я незнаете почему, извините, я новичок в этом.
мои маршруты
const express = require('express');
const router = require('express-promise-router')();
const passport = require('passport');
const passportConf = require('../passport');
const { validateBody, schemas } = require('../helpers/routeHelpers');
const adminController = require('../controllers/admin');
const passportSignIn = passport.authenticate("jwt", {
session: false,
failWithError: true
});
const passportJWT = passport.authenticate('local', { session: false, failWithError: true });
router.route('/signup')
.post(validateBody(schemas.authSchema), adminController.signUp);
router.route('/signin')
.post(
// validateBody(schemas.authSchema),
passportSignIn,
adminController.signIn
);
router.route('/secret')
.get(
passportJWT,
adminController.secret);
module.exports = router;
для контроллера я беру пример входа
const JWT = require('jsonwebtoken');
const Admin = require('../models/admin');
const { JWT_SECRET } = require('../configuration');
signToken = admin => {
return JWT.sign({
iss: 'NodeAPI',
sub: Admin.id,
iat: new Date().getTime(),
exp: new Date().setDate(new Date().getDate() + 1)
}, JWT_SECRET)
}
signIn : async (req, res, next) => {
//generate Token
const token = signToken(req.admin);
// res.status(200).json({ token })
console.log(token)
},
сообщение об ошибке:
AuthenticationError: Unauthorized
at allFailed (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\passport\lib\middleware\authenticate.js:172:21)
at attempt (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\passport\lib\middleware\authenticate.js:180:28)
at JwtStrategy.strategy.fail (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\passport\lib\middleware\authenticate.js:297:9)
at JwtStrategy.authenticate (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\passport-jwt\lib\strategy.js:96:21)
at attempt (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\passport\lib\middleware\authenticate.js:361:16)
at authenticate (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\passport\lib\middleware\authenticate.js:362:7)
at handleReturn (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\express-promise-router\lib\express-promise-router.js:24:27)
at D:\GLHF\LEARN\NODE JS\mm-test\node_modules\express-promise-router\lib\express-promise-router.js:56:9
at Layer.handle [as handle_request] (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\express\lib\router\layer.js:95:5)
at next (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\express\lib\router\layer.js:95:5)
at D:\GLHF\LEARN\NODE JS\mm-test\node_modules\express\lib\router\index.js:281:22
at Function.process_params (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\express\lib\router\index.js:335:12)
at next (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\express\lib\router\index.js:275:10)
at Function.handle (D:\GLHF\LEARN\NODE JS\mm-test\node_modules\express\lib\router\index.js:174:3)
Предположение: я приравнял пароли и электронные письма к Почтальону, большое спасибо за вашу помощь, сэр:)