IOS Facebook 认证使用 node.js passport-facebook-token

标签 ios node.js api passport.js

我正在尝试使用 passport-facebook-token 对 node.js api 进行身份验证来自 IOS 应用程序。

我设置了用户名和密码身份验证,并且按照示例通过 Passport 和 passport-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);
});

我只是想不出将访问 token 发送到 API 所需的 HTTP 请求语法。

如有任何帮助,我们将不胜感激。

谢谢。

最佳答案

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

它需要:

http://URL?access_token=[访问 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 Facebook 认证使用 node.js passport-facebook-token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18554890/

相关文章:

ios - 从继承类 -ios 实现方法时遇到问题

iphone - 访问存储在应用程序中的文件的最快方法

node.js - 如何从Electron/React App访问脚本?

node.js - 在没有域的 Heroku 上部署非 Web 服务器?

javascript - Node.js 获取文件扩展名

json - 使用 JSON 的 API 到 TableView

ios - UITextView 聚焦,但用户触摸 UICollectionViewCell。隐藏键盘并运行 didSelectItemAtIndexPath

ios - 卸载应用程序后的核心数据持久性

PHP Google Analytics API - 简单示例

api - 您如何从 ISBNdb.com 获取一本书的类别信息?