Rails OAuth::Unauthorized というエラー出たら
OAuth::Unauthorized エラー
Railsで現在サービスを開発しているホリカワ です。
本番環境でツイッター経由ログインしようとすると、上記のエラーが出ました。
原因としては
①CallbackURLの設定ミス
②Twitter API key関連の設定ミス
が多いかとは思います。(これ以外にもたくさんありそう)
解決方法
僕の場合は①でした。
結論からいうと、config/initializers/devise.rbに設定を加えると解決しました。
config.omniauth :twitter, "twiiter api key", "twitter secret key"
scope: 'email', callback_url: 'example.com/auth/twitter/callback'
↑を追加
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 は調べてみた感じだといくつかの要因が考えられそうです。
こちらの記事が解決のお手伝いになればと思います。
Author And Source
この問題について(Rails OAuth::Unauthorized というエラー出たら), 我々は、より多くの情報をここで見つけました https://qiita.com/jonnyjonnyj1397/items/5a59223b5dcbafeb4e10著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .