このガイドでは、ニーズに応じた構成でアプリをビルドできるように、ポータビリティの一般的なシナリオのいくつかを説明します。
アクセストークンは移植可能です。トークンを取得したら、そのトークンをどのマシンからでも使用できます。ウェブインターフェイス、モバイルクライアント、サーバーをまとめるとき、異なる使用可能な構成を組み合わせたものを取得できます。しかし、これらの異なる構成には、機能とセキュリティの面でそれぞれ独自のメリットとデメリットがあります。
設定 | メリット | デメリット | セキュリティに関する注 |
---|---|---|---|
ログインとAPIリクエストはウェブクライアントで行われる(短期トークン)。 | シンプルな実装。 | オフライン投稿なし。 長期アクセスなし。 認証の回数が多い。 | |
ログインとAPIリクエストはネイティブモバイルクライアントまたはウェブクライアントで行われる(長期トークン)。 | 認証の回数が多くない。 | オフライン投稿なし。 | |
ログインとAPIリクエストはウェブクライアントで行われる(コード交換後の長期トークン)。 | 特定の状況における追加のセキュリティ。 | 実装が困難。 オフライン投稿なし。 | 特定の状況においてのみ有益。 |
ログインはネイティブモバイルクライアントまたはウェブクライアントで行われる。 APIリクエストは(長期トークンを使用して)サーバーで行われる。 | オフライン投稿。 追加のセキュリティ機能がサーバーベースの呼び出しで利用可能。 | クライアントは、どのプロキシ呼び出しでもサーバーを呼び出す必要がある。 | すべての呼び出しに |
ログインはネイティブモバイルクライアントまたはウェブクライアントで行われる。 APIリクエストはサーバーまたはクライアントで行われる。 | オフライン投稿 クライアントからのユーザー主導投稿 | 実装が困難 | サーバーから行われるすべての呼び出しに |
これは最もシンプルな構成で、認証とAPIリクエストはクライアントで行われます。このモデルでは3通りの構成が可能です。
この一般的な構成では、認証はクライアントで行われますが、すべてのAPI呼び出しはクライアントに代わってサーバーで行われます。サーバーはappsecret_proof
パラメーターを使用することで、呼び出しを行う際にセキュリティをさらに強化できます。
この構成は、上記の方法の組み合わせです。
SDKのAPI呼び出しで使用するアクセストークンを指定する方法は何通りかあります。
setCurrentAccessToken
メソッドにはaccessToken
パラメーターがあります。setCurrentAccessToken
メソッドにはtoken
パラメーターがあります。FB.api()
メソッドにはaccess_token
パラメーターがあります。