1

私は、JavaScript API を使用して作業しているサイトに Facebook ログインを統合する任務を負っています。

Facebook からの認証応答を正常に取得できます。私はそれをどうするかわかりません。

私がする必要があるのは、登録中です:

  1. ユーザーが Facebook ログインでサインアップできるようにします。
  2. 自分のアカウントのデータベースに何かを保存して、後で Facebook 経由でログインしたときに調べます。

次に、サイトに戻ったとき:

  1. ユーザーが Facebook にログインしていることを確認し、FB アクセス トークンを取得します。
  2. 安全に、ユーザーが Facebook にログインしていることを API に通知し、アカウントを検索して、独自の API のトークンを取得します。

Facebook ID を保存して調べていたのですが、簡単になりすましられることに気付きました。

これを行うための最も安全な方法は何ですか?

4

2 に答える 2

1

これを行うための最も安全な方法は何ですか?

IMHO:サーバーサイドでやっています。

signed_requestJS SDKを介してクライアント側のログインを行うときに取得した値をサーバーに渡すと、そこでデコードして検証し、本物であることを確認できます。これは、アプリのシークレットを使用して署名されているためです。あなたとFacebookは(知っているべきです)知っています。

クライアント側では、アプリのシークレットがないとリクエストの検証ができないため、そのレベルのセキュリティを確保することはできませんが、クライアント側のスクリプトではこれまで何の関係もありません。

于 2012-08-15T13:09:02.377 に答える
0

まず、 Facebook での認証に関する Facebook のドキュメントを読む必要があります。また、JavaScript SDK のドキュメントも一般的にフローは次のようになります。

1) FB.getLoginStatus() を呼び出して、すでに登録されているかどうかを確認します。手順 4 にジャンプした場合は、2) サイトに [Facebook Javascript でログイン] ボタンが表示されます。3) ユーザーがそのボタンをクリックします。アプリがアカウントにアクセスすることを承認するために Facebook に送信されます 4) Open Graph でコントロールが返されます

Facebook のアクセス許可をよく読んで、どのようなアクセス許可を要求すればよいかを確認してください。追加のアクセス許可を要求する必要がある場合は、ユーザーに承認プロセス全体を再度送信する必要があります。

于 2012-08-15T03:14:45.977 に答える