##「OAuth::Unauthorized」エラーに遭遇
こちらの記事を参考にDeviseとomniauth-twitterの設定中にエラーに遭遇。
参考
[Rails] deviseの使い方(rails5版)
開発環境
ruby > 2.6.5
rails > 5.2.4.2
devise > 4.7.1
一通り設定後、localhostのログイン画面で「Sign in with Twitter」をクリックするとエラーが。
##原因は「Callback URL」
OAuth::Unauthorized
でひたすらググると
「Callback URL」に関する記事が複数ヒット。
どうやらTwitterのAPI仕様変更があったらしく、Callback URLを書き換える必要があるらしい。
アプリ側のCallback URLをこのように変更。
Callback_URL
http://192.168.10.2:3000/users/auth/twitter/callback
http://localhost:3000/users/auth/twitter/callback
なぜ2つ必要なのかわかりませんが、今回はこれで動きました。
##まとめ
Twitterに限らず、APIは仕様変更が頻繁に行われるので要注意ですね。
ローカル環境ではうまく動きましたが、本番環境に移行するときはまたエラーを吐くのでは?とドキドキしています。