FacebookアカウントでログインするためのDevisewikiの指示に従いました。
ほとんどの場合、機能します。
問題は、(user_omniauth_authorize_path(:facebook))にログインすると、Facebookに移動して[承認]ボタンをクリックすることです。次に、本来のようにアプリにリダイレクトされますが、コールバック関数を押す代わりに、flash[:notice](「無効なクレデンシャル」のためにFacebookから認証できませんでした。」というエラーで同じページにアクセスしました。私が見るバックエンド:
(facebook) Callback phase initiated.
(facebook) Authentication failure! invalid_credentials: OAuth2::Error, : {"error":{"message":"Code was invalid or expired. Session is invalid. This could be because the application was uninstalled after the session was created.","type":"OAuthException","code":100}}
その後Started GET "/accounts/auth/facebook/callback?code=XXX、がポイントされますが、そのアクション()で処理する代わりに、facebookに送信されUsers::OmniauthCallbacksController#failureます。
しかし、不思議なことに、自分のFacebookアカウントで承認したアプリを見ると、自分のアプリがそこにあります。そして、次にログインリンクをクリックすると、すぐに承認され(FBにリダイレクトされません)、facebookアクションによってログインします。問題ありません。
なぜこれが起こっているのか、またはデバッグのヒントはありますか?彼らは大いに感謝されるでしょう。ありがとう!