その仕組みは、アプリに一致する API キーを使用してユーザーを Facebook にリダイレクトすることです。次に、ユーザーは Facebook にアプリに問題がないことを伝え、Facebook はユーザーをリダイレクトします。これは、ブラウザ経由でのみ実行できます。これを回避するには、実際には 2 つのオプションがあります。
編集、もう少し明確に:
オプション1
- ユーザーがあなたのウェブサイトにアクセスします
- ユーザーが Auth With Facebook ボタンをクリックする
- ユーザーには、Service Stack で設定された Facebook エンドポイントが送信されます
- ユーザーはサービス スタックによって Facebook にリダイレクトされます
- ユーザーは Facebook からサービス スタックにリダイレクトされ、URL にトークンが含まれます。
- トークンをデータベースに保存し、Facebook でアプリを使用できるようになったことをユーザーに伝えます。
オプション 1.5
オプション 1と同じですが、ユーザーにブラウザーを通過させる代わりに、UIWebView
コントロールを作成して Facebook Auth エンドポイントをポイントします。次に、ユーザーが認証されたことを示すサイトからの応答をリッスンします。私は客観的な c ではないので、それを行う方法について詳しく説明することはできません。
オプション 2
- iOS Facebook API を使用して、ここに示すように認証を処理します。
POST
カスタム エンドポイントを介した Service Stack への資格情報
- 資格情報をデータベースに保存し、将来それらを使用してユーザーに代わって呼び出しを行います。
Facebook ログインには何らかのブラウザが必要です。これは、Facebook の Cookie をウェブサイトの承認リクエストと共に渡す必要があるためです。これにより、Facebook は、どのユーザーがあなたのサイトを承認したいのか、そしてそのユーザーがリクエストを行っているのかを知ることができます。