2013-09-01 8 views
6

Próbuję uwierzytelnić się w aplecie node.js przy użyciu passport-facebook-token z aplikacji IOS.Uwierzytelnianie IOS na Facebooku przy użyciu pliku node.js paszport-facebook-token

Mam ustawioną autoryzację nazwy użytkownika i hasła i działa poprawnie poprzez paszport i konfigurację paszportu i facebooka, jak na przykładzie.

passport.use(new FacebookTokenStrategy({ 
clientID: config.facebook.clientID, 
clientSecret: config.facebook.clientSecret 
}, 
function(accessToken, refreshToken, profile, done) { 
User.findOrCreate({ facebookId: profile.id }, function (err, user) { 
return done(err, user); 
}); 

Po prostu nie mogę znaleźć składni żądania HTTP potrzebnej do wysłania tokena dostępu do API.

Każda pomoc zostanie ogromnie doceniona.

Dzięki.

Odpowiedz

18

OK udało się wypracować odpowiedź z pliku strategii z paszportu-facebook-tokena

Wymaga:

http: // URL = [access_token token dostępu]

Od IOS Po prostu przetestowane z:

NSString *fbAccessToken = [[[FBSession activeSession] accessTokenData] accessToken]; 
NSLog(@"This is token: %@", fbAccessToken);   
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://myapi.url.com/auth/facebook?access_token=%@",fbAccessToken]]; 
NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:url]; 
[req setHTTPMethod:@"GET"]; 
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
NSURLResponse *res; 
NSError *err; 
[NSURLConnection sendSynchronousRequest:req returningResponse:&res error:&err]; 
if (!err) { 
NSLog(@"The user is logged in on the server side too"); 
} else { 
NSLog(@"Error occurred. %@", err); 
} 
});  

nadzieję, że pomoże ktoś inny.

+1

Jak wygląda twój kod nodejs? Próbuję podobne rozwiązanie, ale mówi "Błąd: brak strategii zarejestrowanej pod nazwą: facebook". W jaki sposób tworzysz swoje trasy? – Rafael

+0

Gdzie w dokumentach znalazłeś to? – danielrvt

+0

Właśnie przejrzałem plik strategii – poperob

Powiązane problemy