10

さて、2週間前からfacebookを使用してハイブリッド認証が機能し、正しくログインしていましたが、変更はありませんでしたが、今朝、機能していないことがわかりました。Facebook アプリ (ID と秘密鍵) を、以前も機能していた別のアプリに切り替えようとしましたが、まだ同じことが起こっています。また、hybridauth に付属する例を実行しようとしましたが、どちらも機能していません。そのため、私の側からの構成ではなく、Facebook アプリの構成からでもないことがわかっています。

これは、ログインしようとすると次のように表示されます。

エラー! 認証に失敗しました。ユーザーが認証をキャンセルしたか、プロバイダーが接続を拒否しました。

元のエラー メッセージ: 認証に失敗しました! Facebook が無効なユーザー ID を返しました。

  • サーバーに関連する何かが発生する可能性はありますか?
  • Facebook は過去 24 時間以内に API に変更を加えましたか?
  • 似たようなことを実験した人はいますか?

更新: 1 週間前から機能しています。機能させるために、以前 (1 か月未満前) に同じ問題を抱えている他の人を見つけ、Facebook PHP SDK を更新して 17 日前に修正しました。

この問題を修正するための変更を確認できる GitHub へのリンクを次に示します。

https://github.com/F21/hybridauth/commit/3b115ee3abb5afbf44c37082e63aa8b056bf550c

これで、すべてが機能するようになりましたが、これらの変更を加えても同じエラーが発生しています(1週間の作業後)。

4

3 に答える 3

2

私も同様の問題を抱えていましたが、私の場合は解決策を見つけたと思います。おそらくそれは他の誰かを助けるでしょう。(CURLOPT_CONNECTTIMEOUT)

HybridAuthエラー(無効なユーザー)は非常に一般的です。基本的に、curlが何かを返すかどうかを確認し、返さない場合はそのエラーを返しますが、実際の理由はエラーメッセージに表示されません。

私がやったことは、facebook php sdkをダウンロードし、デフォルトの例https://github.com/facebook/facebook-php-sdk/blob/master/examples/example.phpを使用することです。

(私のアプリのキーを変更しました)

その時点で、HybridAuthを使用したときに以前は表示されなかった新しいエラーメッセージを見ることができました。

PHP致命的なエラー:キャッチされていないCurlException:6:名前のルックアップがタイムアウトしました

それは私が行ったbase_facebook.phpとVoilaのCURLのタイムアウトを増やすことについて話しているこの記事http://milkcodes.blogspot.com/2010/12/php-fatal-error-uncaught-curlexception.htmlを私に指摘しました!再び働き始めました。

多くの投稿の根本的な問題は、CURL接続がこれらの問題(https、タイムアウト、nslookupなど)の主な原因であるということです。

それをすばやく理解するための良い方法は、デバッグに便利なfbsdkを使用したテストスクリプトを保持することです。

base_facebook.phpの133行目あたり

public static $CURL_OPTS = array(
    CURLOPT_CONNECTTIMEOUT => 30,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
    CURLOPT_USERAGENT      => 'facebook-php-3.2',
于 2013-03-07T14:23:02.843 に答える
0

おそらく、あなたの設定は ID の代わりに KEY を送信します:

フェイスブックの例:

"keys"    => array ( "id" => "PUT_YOURS_HERE", "secret" => "PUT_YOURS_HERE" )

ツイッターの例:

"keys"    => array ( "key" => "PUT_YOURS_HERE", "secret" => "PUT_YOURS_HERE" )
于 2014-08-22T18:02:03.410 に答える