5

Web サイト (PHP)、API (PHP)、およびネイティブの iPhone アプリを構築しています。ユーザーが Facebook アカウントでログインして、レビューを投稿したり、ウェブサイトまたは iPhone アプリを介してサーバー/データベースに写真をアップロードしたりできるようにします。これにより、完全なユーザー登録システムを作成する時間を節約できます。

この種のソリューション用に統一されたアーキテクチャを作成する方法を見つけようとしています。次のことを考えています。

登録:

  • ユーザーを含むデータベース テーブルを作成します (テーブルには次のフィールドがあります: id、facebook_uid、firstname、lastname)
  • iPhone アプリのログイン シナリオ: ユーザーは Facebook 経由でログインします。私のアプリに許可を与えるために許可を押します。access_token (携帯電話に保存されている) を使用してアプリに戻ります。その後、独自の API を呼び出して、ユーザー (データベースにまだ登録されていない場合) を次の情報で登録します: facebook_uid、firstname、lastname。
  • Web サイトのログイン シナリオ: Facebook 経由のユーザー ログイン。設定したリターン URL にリダイレクトし、ユーザーを (まだデータベースにない場合) facebook_uid、firstname、および lastname の値で登録します。

商品レビューの投稿

  • Iphone アプリ: 次のパラメーターを入力して API を呼び出します: review_text、facebook access_token。次に、私の API は、サーバー側で facebook への API 呼び出しを行い、facebook_uid を取得します。facebook_uid を取得したら、この Facebook ユーザーのレビュー レコードをデータベースに挿入します。(Facecbook access_token を送信する代わりに、facebook_uid の値を API に直接送信することもできました。ただし、facebook_uid を知っていれば、他のユーザーの行動に関するレビューを誰でも挿入できるため、これは安全性が低いと考えました)

  • ウェブサイト: Facebook Connect PHP ライブラリ FB ログイン セッションの助けを借りて、セッション facebook_uid を読み取ってサーバー側で直接レビューを挿入できます。

これは、Facebook を自分のプラットフォームのログインとして使用するための正しく安全な方法ですか? または、これを簡素化するために使用できる他の PHP モジュール/ライブラリはありますか?

4

2 に答える 2

0

私も同じようなシナリオです。電話でaccess_tokenを維持することは良い考えのように思えます。そして、APIを介してこれを渡し、自分のデータベースのユーザーを確認することも良い考えのようです。

常にFacebookAPIにpingを実行するのではなく、access_tokenを暗号化して独自のデータベースに保存し、それをチェックするのも同じくらい安全ではないでしょうか。

  1. Facebook経由でログインし、FacebookUIDとaccess_tokenを取得します。
  2. md5/shaで暗号化されたUIDまたはaccess_tokenの両方をデータベースに保存します。
  3. APIが呼び出しを行うたびに、access_tokenを渡し、保存されているものと照合して呼び出しを確認しますか?
于 2012-04-25T19:31:47.477 に答える
0

Facebook には既存の API があります http://developers.facebook.com/docs/guides/web/

このページには、これを実装する方法に関するチュートリアルも含まれています

iPhone 固有の facebook ログインについては、 https://developers.facebook.com/docs/mobile/ios/build/#implementssoを参照してください。

于 2012-04-25T10:17:41.927 に答える