Вход через фейсбук в угловом приложении с петлевым бэкэндом
Я делаю угловое приложение с backlond петлевой петли.
Также я интегрировал сторонний логин через фейсбук, используя модуль loopback-passport.
в loopback-example-passport все было нормально, и в моем приложении все было хорошо до момента перенаправления в мое приложение. Пользователь и токен доступа созданы.
код:
app.get('/auth/login', ensureLoggedIn('/#login'), function(req, res, next) {
console.log('LOOGED IN!!');
console.log(req.user);
res.redirect('/#auth/login');
});
работает отлично. Но я не могу понять. как придать аутентифицированное состояние моему угловому заявлению.
я попытался сделать контроллер для маршрутизации '/ # auth / login':
.controller('AuthCalbackCtrl', function($scope, $cookies, $location, AppAuth, $http, User, LoopBackAuth) {
//analogue of User.login responce interceptor
LoopBackAuth.currentUserId = $cookies['userId'] || null;
LoopBackAuth.accessTokenId = $cookies['access-token'] || '';
LoopBackAuth.rememberMe = false;
LoopBackAuth.save();
//asking for currentUser
User.getCurrent(function(user) {
console.log('ser.getCurrent ', user);
});
$location.path('/');
})
Этот код делает запрос GET / api / users / 2, но получает ошибку 401.
Если я настрою файл /loopback/lob/models/user.js, установив разрешение:
principalType: ACL.ROLE,
// principalId: Role.OWNER,
principalId: Role.EVERYONE,
permission: ACL.ALLOW,
property: "findById"
Тогда запрос GET / api / users / 2 получает 200 и все ок.
Я немного запутался. Я не могу понять, как сделать так, чтобы мое угловое приложение аутентифицировалось в loopback, хотя я знаю токен доступа и userId
У кого-нибудь есть идеи, как это сделать?