3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rails OAuth::Unauthorized というエラー出たら

Posted at

OAuth::Unauthorized エラー

Railsで現在サービスを開発しているホリカワ です。

本番環境でツイッター経由ログインしようとすると、上記のエラーが出ました。
スクリーンショット 2019-05-28 21_0.14.35.png

原因としては

①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 は調べてみた感じだといくつかの要因が考えられそうです。
こちらの記事が解決のお手伝いになればと思います。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?