ゴール:
- ユーザーがモバイル アプリケーション内でクライアント側の facebook ログインを介して認証できるようにします。
- facebook ログインで提供されたアクセス トークンを使用して、私がホストしている SmartFox サーバーで認証します。
詳細: 私はかなりの調査を行いましたが、私が見つけた最良の答えは次の 2 つの記事にあります。
- セキュリティで保護された Web サービスにもアクセスする iOS アプリでの Facebook 認証の設計
- ユーザー アクセス トークンからアプリケーション ID を取得します (またはトークンのソース アプリケーションを確認します)。
問題:
- SmartFox Server のカスタム ログイン拡張機能は、ユーザーの資格情報について同期決定を行います。これにより、上記の最初の記事のステップ 4 を完了できません。サーバーは、クライアントに応答を送信する前に、ユーザーのアクセス トークンを検証するために facebook からの応答を待つことができません (ログインと無効な資格情報)。
直感:
- 私が最初に考えたのは、ユーザーがゲストとしてロビーに参加できるようにし、通常のサーバー コマンドを使用してアクセス トークンを検証することです。アクセス トークンが検証されると、ユーザーは実際のゲームにログインします。私はまだこれを深く研究していませんが、私はそれに取り組んでいます。
解決済み: 上記の方法 (うまくいきました) を実装した後、サーバーがログイン結果を返す前に fb api のクエリを実際に処理できることに気付きました。これが将来誰かに役立つことを願っています:)