2013-05-03 17 views
7

Facebookの統合バックエンド

私は、個々の利用者の情報を持っているバックエンドサーバを持っています。 TwitterやFacebook認証は、それが彼/彼女は、これらのプラットフォーム+古典的な方法(電子メール+パスワード)

質問できるように使用することが決定されましたので、最近はユーザアクセス1のアプリケーションをさせるための一般的な方法である:

ユーザーの後

のFacebookを使用してログインして、私は、コールバック、それは(SDK付きなど)に成功したことを示す受信:

- (void)sessionStateChanged:(FBSession *)session 
         state:(FBSessionState) state 
         error:(NSError *)error 
{ 
    switch (state) { 
     case FBSessionStateOpen: 
      if (!error) { 
       // We have a valid session 
       NSLog(@"User session found"); 
      } 
      break; 
     case FBSessionStateClosed: 
     case FBSessionStateClosedLoginFailed: 
      [FBSession.activeSession closeAndClearTokenInformation]; 
      break; 
     default: 
      break; 
    } 
  1. どのようにそれが可能である今、資格を渡しますsをサーバーに転送し、 という順番で独自のエンドポイントにアクセスしますか?

  2. リクエストを作成しているこの特定のユーザーが実際にバックエンドで認証(または登録)されていることをバックエンドで知ることができますか?

  3. 私たちがFacebookの面で作成するアプリの役割は (https://developers.facebook.com/apps/)ですか?

答えて

2
  1. あなたは私はあなたがすべての登録ユーザーの電子メールを保存しますと仮定FBSession.activeSession.accessToken
  2. を使用してOAuthのトーク​​ンを取得することができます。 -[FBRequestConnection startForMeWithCompletionHandler:]を使用して、ユーザーに関する情報を取得できます。これにより、FBGraphUserインスタンスが返されます。このインスタンスには、他の詳細の中で電子メール/名前が含まれています。
  3. あなたのFBアプリケーションは実際にこのプロセスで大きな役割を果たしません。 FBがユーザーに許可を求めると、アプリとアイコンの説明が表示されます。ユーザーのフィードに何かを公開すると、小さなアイコンが表示されます。 FBアプリのページをあなたのウェブサイトにリンクすることができます。
+0

Twitterは少なくともOAuthトークンを提供していますか?また、(設定から)ネイティブ統合を使用すると、同じ情報を得ることができますか? – Peres

+0

はい、私はそう信じています:https://dev.twitter.com/docs/ios/using-reverse-auth – Mar0ux