2

ユーザーが Web サイトの Facebook でログイン ボタンをクリックすると、次のように呼び出します。

https://www.facebook.com/dialog/oauth?client_id=xxxxxxx&
redirect_uri=http://xxxxx.com/Account/FBLogin&scope=email,publish_stream 

FBLogin (文字列コード) メソッド内で、2 つのことを行います。まず、次のように呼び出します。

"https://graph.facebook.com/oauth/access_token?client_id=xxxxxxxxx&
redirect_uri=http://xxxxxx.com/Account/FBLogin&client_secret=xxxxxxxxxxxxx&code=" + code;

次に、FaceBook のログインが成功した場合、ユーザーをサイトにログインさせます。

iOS でのこのワークフローに相当するものは何ですか? 基本的に、Facebook 認証の一部としてサーバーでユーザーを認証したいと考えています。したがって、Facebook 認証が正常に返されると、ユーザーもシステムにログインします。

どうもありがとう!

4

1 に答える 1

0

Facebook iOS SDKを使用している場合、SSO(シングルサインオン)ワークフローはJavascript SDKのワークフローに似ています。これは、ユーザーにJS SDKのポップアップに似たものが表示されるためです。UIWebView、Safariブラウザー、またはFacebookアプリ(ユーザーの設定によって異なります)。

iOS SDKの最も魅力的な機能の1つは、シングルサインオン(SSO)です。SSOを使用すると、ユーザーはFacebookIDを使用してアプリにサインインできます。デバイスでFacebookiOSアプリに既にサインインしている場合は、ユーザー名とパスワードを入力する必要はありません。さらに、Facebookのプロフィール情報やソーシャルグラフにアクセスするためのユーザーからの許可を得ることができます。

SSOは主に、ユーザーをデバイス上のFacebookアプリにリダイレクトすることで機能します。ユーザーはすでにFacebookにログインしているため、ユーザーを識別するためにユーザー名とパスワードを入力する必要はありません。彼らはあなたのアプリが要求した許可で認証ダイアログを見るでしょう、そして適切なaccess_tokenであなたのモバイルアプリにリダイレクトされます。

開発者は、Facebook SSOの動作が、ユーザーのデバイスにインストールされているものによってわずかに異なることに注意する必要があります。これは、特定のiOS構成で発生することです。

  • アプリがマルチタスクをサポートするバージョンのiOSで実行されていて、デバイスにバージョン3.2.3以降のFacebookアプリがインストールされている場合、SDKはFacebookアプリ内で認証ダイアログを開こうとします。ユーザーが許可または拒否した後、Facebookアプリは呼び出し元のアプリにリダイレクトし、アクセストークン、有効期限、およびFacebookOAuthサーバーが返す可能性のあるその他のパラメーターを渡します。

  • アプリがマルチタスクをサポートするバージョンのiOSで実行されているが、デバイスにバージョン3.2.3以降のFacebookアプリがインストールされていない場合、SDKはSafariモバイルブラウザーで認証ダイアログを開きます。ユーザーが承認を付与または取り消すと、Safariは呼び出し元のアプリにリダイレクトします。Facebookアプリベースの認証と同様に、これにより、複数のアプリがSafariCookieを介して同じFacebookユーザーaccess_tokenを共有できます。

  • アプリがマルチタスクをサポートしないバージョンのiOSで実行されている場合、SDKはインラインUIWebViewをポップアップする古いメカニズムを使用して、ユーザーにFacebookにログインしてアクセスを許可するように求めます。FBSessionDelegateは、アプリが実装する必要のあるコールバックインターフェイスです。デリゲートメソッドは、アプリが正常にログインまたはログアウトしたときに呼び出されます。このデリゲートの詳細については、iOSSDKのドキュメントをお読みください。

...ユーザーがサインインまたはサインインを終了して「ポップアップ」からアプリに戻ると、アプリは、ユーザーがアプリにログイン/承認したかどうか(および有効な受信したアクセストークン)。

詳細については、こちらをお読みください: https ://developers.facebook.com/docs/mobile/ios/build/#implementsso

于 2012-08-11T01:06:36.190 に答える