1

ユーザーが Facebook または電子メール/パスワードでサインアップできるようにしたい。どちらの場合も、サインアップ フローで名、姓、メール アドレスを尋ねます。しかし、彼らが Facebook 経由でサインアップする場合は、ユーザー オブジェクトのクライアント側からフォーム フィールドにデータを渡し、データが事前に入力されるようにします。もう 1 つのフィールドがあります。利用規約への同意です。

ユーザーが Facebook で認証し、利用規約に同意したら、確認ボタンをクリックする必要があります。これにより、サーバー側の検証 (PHP) がトリガーされ、フォームが有効に入力されていることを確認してから、DB にユーザーを作成したり、セッション変数「ログイン」などを処理したりします。

私の質問は次のとおりです。POST データで取得しているユーザーが実際に FB 経由で認証されたユーザーであることを確認するには、サーバー側で何をする必要がありますか? アクセス トークンを非表示のフォーム フィールドとして渡し、FB PHP SDK を使用して、フォーム内のメールと PHP 経由で呼び出されたユーザー内のメールが同じであること、およびトークンがアプリに対応していることを確認する必要がありますか? または、それを行うより良い方法はありますか?

Facebook のドキュメントは、この件に関して非常にあいまいで、多くのオプション、大量のリンク、明確な図がありません。

4

2 に答える 2

0

Googleがとてもよく説明してくれるので、そのフローを使用します。

于 2013-07-14T09:27:46.953 に答える
0

実際、サーバー上の User オブジェクトを取得し、それに対して POST データを検証するだけで済みます。

Graph API を使用する場合、クライアント API を使用して認証するか、サーバー API を使用して認証するかは問題ではありません。これは、同じ認証を共有するためです。

サーバーとクライアントで同じデータを取得する際のこの冗長性が本当に必要であることを確認する必要があります。

于 2013-07-14T09:38:05.400 に答える