6

iOSアプリからpassport-facebook-tokenを使用してnode.js APIに認証しようとしています。

私はユーザー名とパスワードの認証を設定しており、例のようにパスポートとパスポート-facebook-トークンの設定を介して正常に動作しています。

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 要求の構文がわかりません。

どんな助けでも大歓迎です。

ありがとう。

4

2 に答える 2

18

OKは、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);
}
});    

これが他の誰かに役立つことを願っています。

于 2013-09-01T15:24:40.263 に答える