0

私はモバイルオンラインゲームを持っていますが、サーバーにはプレーヤーのuser_idが必要です。しかし、Facebookはユーザーアカウントからデータを要求するためのaccess_tokenのみを提供し、署名されたuser_idは提供しません。サーバーへのリクエストでuser_idを置き換えるだけで、他のユーザーが別のユーザーのふりをすることができないように、SIGNEDuser_idを用意することが重要です。気になる人は誰でもクライアントバイナリで秘密鍵を見つけることができるため、クライアントでのサイギングは安全ではありません。

したがって、認証プロセスの中間ステップを作成する必要があります-access_tokenを使用してサーバーにリクエストし、次にfacebookにユーザー情報(クライアントではなくサーバーの地理的位置(一定)に依存します)をリクエストし、MY_SERVER_PRIVATE_KEYを使用して署名を作成します+ user_id、そしてそれをクライアントに送り返します。これは大きな問題ではありませんが、認証中に遅延が発生します。

私は何かが恋しいですか?アプリケーションの秘密鍵で署名されたFacebookからuser_idを受け取る方法はありませんか?

4

1 に答える 1

0

ユーザーが最初にアプリに接続していない限り、署名されたユーザーIDを取得することはできません。そのため、アプリではクライアント側またはサーバー側の認証フローを使用する必要があります。

Facebookのアプリケーション認証フローのドキュメント

于 2012-10-15T05:55:45.987 に答える