Sto facendo un'applicazione angolare con backend loopback strongloop.Accesso da Facebook in app angolare con backend loopback
Inoltre, ho integrato un accesso di terze parti tramite Facebook utilizzando il modulo loopback-passport.
tutto andava bene in loopback-esempio-passaporto e tutto è a posto nella mia app proprio prima del momento del reindirizzamento alla mia app. Utente e token di accesso creati.
il codice:
app.get('/auth/login', ensureLoggedIn('/#login'), function(req, res, next) {
console.log('LOOGED IN!!');
console.log(req.user);
res.redirect('/#auth/login');
});
funziona bene. Ma non riesco a capire. come dare lo stato autenticato alla mia applicazione angolare.
Ho provato a fare un controller per instradare '/ # 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('/');
})
Questo codice fa una richiesta GET/api/utenti/2, ma riceve 401 errore.
Se io modificare il file di /loopback/lob/models/user.js impostazione di autorizzazione:
principalType: ACL.ROLE,
// principalId: Role.OWNER,
principalId: Role.EVERYONE,
permission: ACL.ALLOW,
property: "findById"
Poi la richiesta GET/API/utenti/2 riceve 200 e tutto ok.
Sono un po 'confuso. Non riesco a capire come rendere autenticabile la mia app angolare al loopback, anche se conosco access-token e userId
Qualcuno ha qualche idea su come farlo?
Qualcuno avrebbe in mente di condividere un'applicazione di esempio per questo? Grazie! – imesh