2011-07-24 7 views
8

はい/いいえ+その他の質問:Facebook SSOと第三者のサイト登録は一段階で?

Facebook SSOシステムを使用して、同時に自分のウェブサイト/アプリのユーザーを登録することはできますか?

ユーザーの側で1回のキー入力が必要な場合と同様です。

また、iPhoneとAndroidでこれの実例がありますか?

私が読んだところでは、SSOを実行するプロセスと、登録を行うための別のプロセスがあります。

推論私は、facebookがInsightsシステムを通して私に与えることに加えて、ユーザーデータの自分自身の記録を保持したいと考えていますが、私はこれをできるだけ無痛にしたいと考えています。

t ;; drはこれまでに行われていますが、いくつかの例があります。

+0

解決策はありますか? –

答えて

2

本当に私が正しくあなたを理解してください、しかし、別のREGの流れを提示することなく、あなた自身のシステムにユーザーを登録することを想定していない、次の操作を行うことができます(?):

  1. にユーザーに依頼(SSOまたは通常のFBフローを介して - 最新のFacebook SDKを使用すると適切なフローがトリガーされます)。あなた自身のサインアップのためにask for any extra permissions you'll needに必ずしてください。
  2. アプリにFacebookの承認が通知されたら、FacebookのAPIを使用して登録に必要なユーザーデータを抽出します(FBのID、名前、電子メールを取得するためにグラフのパス/me?fields=id,name,emailを使用)。 Graph API Explorerは、取得できるフィールドを確認するのに適しています。
  3. (2)からの応答を使用して自分のシステムにPOSTを作成してアカウントを作成します。
  4. アカウント作成のリクエストが完了したら、ユーザーは自分のアプリで何をしようとしても構いません(すべて設定済みです)。また、必要に応じて、クライアント(デバイス)にアカウント識別子を保存することもできます。

このフローをユーザーにシームレスにするには、手順1〜4の間に読み込み/進捗インジケーターを表示する必要があります。

FacebookのSDK documentationは、手順(1)に進む必要があります。

いくつかのサンプル(のObjective-C)のステップのためのコード(2)と、部分的に(3):

- (void)facebookUserAuthorized 
{ 
    [FBRequestConnection startWithGraphPath:@"me" 
           parameters:[NSDictionary dictionaryWithObject:@"id,name,birthday,first_name,last_name,gender,email" forKey:@"fields"] 
           HTTPMethod:@"GET" 
          completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
           NSDictionary *userData = (NSDictionary*)result; 
           [self registerUserWithEmail:[userData objectForKey:@"email"] 
               facebookId:[userData objectForKey:@"id"] 
                gender:[userData objectForKey:@"gender"]]; 
          }]; 
} 

- (void)registerUserWithEmail:(NSString*)email facebookId:(NSString*)facebookId gender:(NSString*)gender 
{ 
    // Send a POST to your own server with the user details 
} 

そして、私はあなたがAndroid上で同じ原理を適用することができます確信しています。開始するにはFacebook's Android docsをご覧ください。

+0

答えに感謝します。私はその質問をして以来、私は多くのバックエンドの開発を学んだし、facebook sdkも改善されました。私はこの問題を尋ねました。なぜなら、プロセス全体に関する私の最大の懸念は、UI/UXに関連していたからです。同様のプロセスは、GoogleやTwitterなどの他のSSOシステムでスムーズに行えるでしょうか? –

+0

iOS 6では、TwitterとFacebookのSSOは非常に同じで、スムーズなregプロセスを提供できます(これはiOS自体に統合されている点です)。 Googleのプロセスがどのように機能するのかはっきりしていませんが、(GoogleはiOSでのサポートが少ないにもかかわらず、ほとんど同じです) –

関連する問題