OAuth::Unauthorized エラー
Railsで現在サービスを開発しているホリカワ です。
本番環境でツイッター経由ログインしようとすると、上記のエラーが出ました。
原因としては
①CallbackURLの設定ミス
②Twitter API key関連の設定ミス
が多いかとは思います。(これ以外にもたくさんありそう)
解決方法
僕の場合は①でした。
結論からいうと、config/initializers/devise.rbに設定を加えると解決しました。
config/initializers/devise.rb
config.omniauth :twitter, "twiiter api key", "twitter secret key"
scope: 'email', callback_url: 'example.com/auth/twitter/callback'
↑を追加
config/initializers/devise.rb
config.omniauth :twitter, "twiiter api key", "twitter secret key", scope: 'email', callback_url: 'example.com/auth/twitter/callback'
わかったこと
このほかのエラーの原因として、本番環境の場合はhttps://
でないとダメみたいです。
また、twitter dev のアプリの設定で、callback_urlが間違っていないかはrails routes
で確認してみましょう。
user_twitter_omniauth_callback GET|POST /users/auth/twitter/callback(.:format
終わりに
OAuth::Unauthorized は調べてみた感じだといくつかの要因が考えられそうです。
こちらの記事が解決のお手伝いになればと思います。