IOS Facebook身份验证使用node.js passport-facebook-token

前端之家收集整理的这篇文章主要介绍了IOS Facebook身份验证使用node.js passport-facebook-token前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用来自 IOS应用程序的 passport-facebook-token对node.js api进行身份验证.

我有用户名和密码验证设置,并通过护照和护照-facebook-token设置正常工作.

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);
});

我只是无法弄清楚将访问令牌发送到API所需的HTTP请求语法.

任何帮助都将受到大力赞赏.

谢谢.

解决方法

确定设法从passport-facebook-token的策略文件中找出答案

这个需要:

http:// URL?access_token = [访问令牌]

从IOS我只是用以下方法测试:

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);
}
});

希望这有助于其他人.

猜你在找的iOS相关文章