tomokiの備忘録

ITに関する簡単な備忘録です

【Ruby on Rails】突然Twitter認証で「OAuth::Unauthorized 403 Forbidden」エラーが出るようになった

今回の問題

Devise+Omniauthを使ってTwitter認証をしているサービスをHerokuにホストしていて今まで問題なく動いていたのですが突然

OAuth::Unauthorized (403 Forbidden)

f:id:tomokiit:20180713214404p:plain

というエラーを吐いて動かなくなった。

 解決法

これまでCallback URLsは適当なURLを設定していても動作しましたが、TwitterAPIの仕様変更があったらしいです。

 

Callback URLsTwitterAppsで設定しているコールバックURLと、リクエストで送るコールバックURLのパラメータを同じにすると動くようになるそうです。

https://ドメイン/users/auth/twitter/で認証する場合、Callback URLs

https://ドメイン/users/auth/twitter/callback

 

に設定することで今まで通り動くようになります。

ローカル環境でもエラーを回避したい場合

http://localhost:3000/users/auth/twitter/callback

 

を設定することで回避できます。

 

参考