facebookから、私のレールアプリがv2.0 apiを使用していて、それは廃止予定です。私はこのような宝石を更新しました。apiバージョンがv2.2を超えている場合のみomniauth-facebookエラーが発生する
いくつかの未解決の問題のため、私はomniauth-oauth2をバージョンアップしませんでした。
その後、廃止予定のビューコードを変更します。私の設定を変更し、サーバーを再起動します。
config.omniauth :facebook, APP_ID, APP_SECRET, scope: 'email', info_fields: 'email,name'
facebook apiのバージョンはまだv2.0でした。私はgoogledとこれを見つけた。 https://github.com/mkdynamic/omniauth-facebook#api-versionはデフォルトのバージョンがv2.6だと言っていますが、まだv2.0を使用している理由はわかりません。とにかく、私はこのような設定コードを変更しました。
config.omniauth :facebook, APP_ID, APP_SECRET, scope: 'email', info_fields: 'email,name', client_options: {
site: 'https://graph.facebook.com/v2.6',
authorize_url: "https://www.facebook.com/v2.6/dialog/oauth"
}
しかし、機能しませんでした。ログは次のようなものです。
Started GET "https://stackoverflow.com/users/auth/facebook/callback?code=verylogcode&state=stateblabla" for 127.0.0.1 at 2016-07-26 22:52:03 +0900
(facebook) Callback phase initiated.
(facebook) Authentication failure! invalid_credentials: OAuth2::Error, :
{"access_token":"very_long_token_value","token_type":"bearer","expires_in":5160039}
Processing by OmniauthCallbacksController#failure as HTML
設定バージョンをv2.3にダウングレードしましたが、動作しませんでした。 v2.2からは、が動作します。
私の質問はこれです。
- omniauth-facebookはデフォルト設定でv2.6を使用しないのはなぜですか?
- どうすればこの問題を解決できますか?私はこの種のエラーを検出しましたが、私の場合、ログにエラーメッセージが正確に表示されません。 (OAuth2 :: Error、:実際に空いている)