3

ユーザーの Facebook リソース (写真/アルバム/など) へのサーバー側アクセスを作成しようとしています。ユーザーがネイティブモバイル アプリケーションを使用して1 回認証され、サーバーがユーザーの操作なしでユーザーのデータにアクセスできるようにする必要があります。

それを機能させるために必要な手順を理解しようとしています。

Facebook の: Login for Server-side Apps を読みましたが、そこで提案されているシナリオの使用方法を理解できませ。サーバーは、ユーザーがモバイル アプリケーションを使用しているかどうかに関係なく、バックグラウンドで独自の操作を実行しています。たとえば、トークンの有効期限が切れた場合はどうすればよいですか?

それ以上に、サーバーの介入なしに、ユーザーがモバイル自体で直接 Facebook 操作を実行できるようにしたいと考えています。

私が見ているように、これは私が期待するフローです:

  1. ユーザーがネイティブ モバイル アプリケーションを起動します。
  2. ユーザーは、ネイティブ モバイル アプリで Facebook の SDK を使用して認証します。
  3. ユーザーは、サーバー側でaccess-tokenに変換できる特別な tokenを受け取りました。
  4. トークンはサーバーに送信され、そこに保存されます。
  5. サーバーがユーザーの Facebook データにアクセスする必要がある場合、サーバーはこの特別なトークンを使用してアクセス トークンに変換します。
  6. トークンの有効期限が切れると、サーバーは特別なトークンを使用して、ユーザーの操作なしでトークンを拡張できます。

認証後にモバイル アプリケーションからサーバーに送信するデータ。また、サーバーはこのデータをどのように使用してユーザーの Facebook リソースにいつでもアクセスできるのでしょうか?

サーバーに C# Facebook SDK を使用しています。しかし、それはそれほど重要ではないと思います。メカニズムを理解する必要があります。

4

1 に答える 1

5

ユーザーがアプリケーションを継続して使用しない場合、トークンは期限切れになります。これは仕様によるものです。ユーザーがアプリケーションの使用を停止した場合、アプリケーションはユーザーのアカウントにアクセスし続けるべきではありません。

ユーザーがアプリケーションにログインすると、トークンがそのトークンの有効期限とともにアプリケーションに渡されます。有効期限が切れるまで、クライアントまたはサーバーからそのトークンを使用できます。ただし、ユーザーがアプリケーションを使用し続けない場合、サーバーがトークンを拡張するためにできることは何もありません。

ユーザーが引き続きアプリケーションを使用する場合は、サーバートークンを更新する機会があります。たとえば、AndroidおよびiOS SDKでは、ユーザーがアプリケーションを使用してFacebookリクエストを行うと、トークンが自動的に更新されます。その際、更新されたトークンをサーバーに送信できます。

于 2012-11-24T06:23:26.110 に答える