Kntmrkm.new

WEB技術のメモ

Gem omniauth-oauth2 バージョン1.4.0のエラー

Railsでの開発でOauthで外部サービス経由の認証をおこなうことがよくあるのですが、 一度遭遇したケースに再び時間をごっそり取られたので確実にメモしておきます。

エラー内容

E, [2016-03-21T21:30:09.618718 #10658] ERROR -- omniauth: (yahoojp) Authentication failure! invalid_credentials: OAuth2::Error, invalid_redirect_uri: redirect_uri is invalid.
{"error":"invalid_redirect_uri","error_description":"redirect_uri is invalid.","error_code":"201"}

redirect_uri is invalid.とあるので、アプリケーション側の設定に問題があるようですが、実はgemが悪さしています。

しっかりと以前にissueのリンクもコメントで残していたのに気づくのが遅すぎました。

以下のようにGemfileを設定すればOKです。

gem 'omniauth'
gem 'omniauth-oauth2', '1.3.1' # https://github.com/intridea/omniauth/issues/825
gem 'omniauth-facebook'

github.com

結構長いあいだ未解決で残ってますね。