現在、Javascript Facebook ログイン API を実装しています。
Facebook からのコールバック レスポンスに基づいて、このクライアント サイド スクリプトはクエリ文字列パラメータを含むリクエストをサイトの URL に送信します。その URL の電子メールに基づいて、クライアントが認証されます。
これは安全ではありません。私たちが確認できる他のトークンは Facebook から返されません (私が知る限り)。クエリ文字列パラメーターの電子メールに基づいてユーザーをログインさせることが期待されており、パスワードはありません。
クエリ文字列データが Facebook からの応答に続く JavaScript リダイレクトからのものであることを保証する別のクエリ文字列パラメーターを追加したいと思います。
これは、サーバー側と比較できるクライアントスクリプトによって作成されたある種のハッシュ値であるべきだと考えています。ただし、この秘密鍵を作成するために使用されるすべてのリソースは、クライアント Cookie を介して、またはクライアント スクリプトを検査することにより、攻撃者に利用可能になります。
私が使用できる、この問題に対する一般的で安全なアプローチはありますか?