Вход через фейсбук в угловом приложении с петлевым бэкэндом

Я делаю угловое приложение с 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

У кого-нибудь есть идеи, как это сделать?

Ответы на вопрос(1)

Ваш ответ на вопрос