Facebookのサーバー側のログインプロセスでは、サーバーはFacebookへのリクエスト中に「状態」変数を提供する必要があると述べています。これは、Facebookがログインコールバックページに戻ってサーバーが確認するCSRFトークンのように機能します。
しかし、なぜこれが必要なのかわかりません。偽のログインリクエストを受け取った場合でも、ログインリクエストのを使用してFacebookからaccess_tokenを取得する必要があり?code=ます。偽のリクエストはcode正しくないため、正しく機能しません。
さらに、ユーザーはFacebookアプリのリンクを介してサーバーにアクセスできます。?code=Facebookは自動的にリンクにパラメータを追加するので、サーバーはユーザーに自動ログインできます。codeこの紹介によって提供されたものを使用する場合state、とにかく検証するためのパラメーターがなく、Facebookもそれを気にしないようです。
stateオプションですか?それは本当に追加のセキュリティを提供しますか?