0

私の会社は次のように機能するシステムを開発しています。

iPhone/モバイルアプリとRESTサービスを提供するPHPサーバーがあります。

モバイルアプリでは、ユーザーは2つの方法で登録/ログインできます。

  1. ユーザー名/パスワードのカップル
  2. Facebookのアカウント

ポイント1は非常に明確ですが、ポイント番号2に問題があります。

私が理解していることから、シーケンスは次のようになります。

1-アプリはfbユーザーデータを送信します。fbは、ユーザーを認証して「OK、それはあなたです」と答えるのを気にしない方法で送信します。2-アプリはphpサーバーにいくつかのユーザーデータを要求する必要があります。

ユーザーがアプリにfbでログインした後、サーバーとアプリ間の通信を認証するにはどうすればよいですか?

誰でも取得できる簡単なリクエストなので、「ユーザーfbidのデータを送って」とだけ尋ねることはできません。

4

1 に答える 1

4

そのため、「秘密鍵」(Facebook設定の一部)を使用します。

ユーザーがアプリを介してログインすると、ユーザーはアプリと情報を共有することを承認し、トークンを取得します。トークンはセッションIDです。そのセッションIDは、「秘密鍵」を持っていない限り、そのユーザーがアプリを使用してその電話からのみ使用できます。

次に、電話機はそのセッションIDをサーバーに渡します。

次に、サーバーは秘密鍵とともにトークンを渡し、Facebookはサーバーに電話のユーザーと同じ情報を返します。それが認証方法です。

秘密鍵を持っていない他の人(電話のユーザー以外)、およびトークンは役に立ちません。

于 2012-08-22T12:19:39.637 に答える