Facebook PHP SDK v5.6.1を使用してOAuth認証を試みています。 ブラウザがリダイレクトURLに戻ると、アクセストークンの認証コードを交換できません。代わりに、私はredirect_uri_mismatch
エラーを取得する:リダイレクトURLにコードパラメータがある場合、PHP SDKはトークンを取得できません
Invalid redirect: https://.../ callback does not match one of the registered values.
(それが翻訳されなければならなかったため、テキストが正確ではないかもしれない)
私はFacebookのSDKをデバッグし、このエラーの原因はcode
であることがわかりましたリクエストURLに渡されたパラメータ。通常、SDKはPHP要求からのリダイレクトURLを推測しますが、code
パラメータなしでSDKにリダイレクトURLを手動で入力すると、トークン交換は成功します。
私の目標は、コードの変更を最小限に抑えて古いバージョンからSDKをアップグレードすることです。できるだけ手動でリダイレクトURLを指定しないようにしたいと思います。 getAccessToken
SDKメソッド内
、SDKは、URLからstate
パラメータを削除するように注意を要しますが、明らかに削除する必要があるcode
パラメータを、削除について何もしません。
Facebook Login
の私のアプリの設定では、厳格なモードをオフにしています。
リクエストURLをリダイレクトURLとして機能させるには、他に何をすべきですか? これに問題がある人はいないので、何かがオフになっている必要があります。