トークンの生成/拡張に関して、Android/iOS SDK についてこれまでに発見したことは次のとおりです。
SDK を使用してクライアント側でトークンを生成する 2 つの方法と、トークンを拡張する 3 つの方法を見つけました。
生成:
1) Facebook アプリ。SSO トークンを生成します
2) Web ブラウザー (iOS)/Web ダイアログ (Android/BB)。iOS では SSO トークンを生成し、Android/BB では非 SSO トークンを生成します
これらのトークンはすべて長期トークンです。
拡張:
1) iOS/Android アプリ。Android の場合は、ユーザーがアプリにサインインしている場合のみです。それ以外の場合、バインドされたサービスへの呼び出しは何も返さず、エラーも返しません。そのシナリオで iOS をテストしていません。
2) auth.extendSSOAccessToken。これは古い API のエンドポイントです。私が知る限り、公式アプリが存在しない場合でも iOS SDK はまだ使用しています。SSO で生成されていないトークン (Android ポップアップ ダイアログ) でこのエンドポイントを使用すると、エラー コード 10 が表示され、トークンが SSO で生成されなかったことを示すメッセージが表示されます。これにより、トークンが SSO 経由で生成されている限り、それが機能する可能性があると思われる可能性があります。あなたの疑いは間違っているでしょう。「Facebook アプリケーションのアクセストークンが提供されていません」というメッセージとともにエラーコード 100 が表示されます。これにより、私が知る限り、このメソッドは Android ではまったく役に立ちません。
3) oauth/access_token。これは、FB がロードマップで使用するように指示しているエンドポイントです。もちろん、この方法は a) apk の逆コンパイル/アンパッケージングを介して APP_SECRET を公開し (FB はそうしないことを強く推奨します)、b) 短期トークンを長期トークンに拡張する場合にのみ機能します。そのため、Android/iOS で返されるデフォルトの長期トークンから始める場合は、最初に短期トークンを生成してから、このメソッドでクライアント側 (安全でない) またはサーバー側 (安全でない) で拡張する必要があります。すべての人のために)。長期トークンから短期トークンをどのように生成しますか? 私が知っていたらいいのに =(.
これまでのところ、これを達成するためのアイデアはどこにも見つかりませんでした。誰かが知っている場合は、共有してください!
これにより、少なくともサーバーを持つ人々に、長期トークンを拡張するための安全な方法が提供されます.