Я создаю веб-сайт, и сейчас я работаю над подробностями входа.Паспорт Javascript - всегда получает «неавторизованный»
Я использую плагин Passport для приложения fullstack, но каждый раз, когда я пытаюсь войти, я получаю «неавторизованный», независимо от того, что я делаю.
ВХОД УПРАВЛЕНИЯ
$scope.login = function(form) {
$scope.submitted = true;
if(form.$valid) {
Auth.login({
email: $scope.user.email,
password: $scope.user.password,
})
.then(function() {
// Logged in, redirect to home
$location.path('/');
})
.catch(function(err) {
$scope.errors.other = err.message;
console.log(err);
});
}
};
AUTH ОБСЛУЖИВАНИЕ
login: function(user, callback) {
var cb = callback || angular.noop;
var deferred = $q.defer();
$http.post('/auth/local', {
email: user.email,
password: user.password
}).
success(function(data) {
$cookieStore.put('token', data.token);
currentUser = User.get();
deferred.resolve(data);
return cb();
}).
error(function(err) {
this.logout();
deferred.reject(err);
return cb(err);
}.bind(this));
return deferred.promise;
},
Serverside index.js
'use strict';
var express = require('express');
var passport = require('passport');
var auth = require('../auth.service');
var router = express.Router();
router.post('/', function(req, res, next) {
passport.authenticate('local', function (err, user, info) {
var error = err || info;
if (error) return res.json(401, error);
if (!user) return res.json(404, {message: 'Something went wrong, please try again.'});
var token = auth.signToken(user._id, user.role);
res.json({token: token});
})(req, res, next)
});
module.exports = router;
Я относительно новый с плагином для паспорта, поэтому я не знаю, где найти ошибку. Скажите, нужен ли вам больше кода.
Это сообщение, которое я получаю от консоли:
Failed to load resource: the server responded with a status of 401 (Unauthorized) angular.js:9866
GET http://localhost:9000/api/users/me 401 (Unauthorized)
нужно больше кода :) Нужно видеть ваш вызов 'passport.use'. –
Мне не хватает кода в моем проекте, который вызвал проблему – Detilium