宮水の日記

宮水の日記

主に書評や資格取得について記事を書いています。

Twitterログインの仕様変更後、callback URLにパラメータをつける方法

みなさんこんにちは。

変な時間に起きてしまって眠れなくなってブログを書いている宮水です。

 

 

f:id:kattyan53:20190204024741p:plain

 

 

 

いつか忘れちゃったんですけど、だいぶ前にTwitterログインの仕様変更がありましたね。

developer.twitter.com

callback URLが、なんでもよかったのがちゃんと確認するようになった件です。

 

 

 

localhost:3000は使えなくしたので、ローカルでやる場合は
127.0.0.1:3000にしてねー

とか

 

f:id:kattyan53:20190204022827p:plain

Callback URLはWebsite URLに書いてあるものが同じじゃないとだめだよー

 

とか書いてありました。

 

 

私はだいぶ前にTwitter Developer Toolを登録していたので、上記の要件を満たしていない適当なURLだったのですが、Escolaの仕様変更でとうとうcallbackURLを変更しないといけない事態に陥り、泣く泣く英語のドキュメントを頑張って読む羽目になりました。

 

 

そして、ローカル用と本番環境用で以下のcallbackURLを設定しようと思ったんですけど、パラメーターがつけられない!!

 

 

f:id:kattyan53:20190204023636p:plain

↑クエリパラメータはだめですってエラーがTwitter Developer Toolで出ます。

 

 

でも「?provider=twitter」をつけないとproviderがnilだよこら!!ってエラーが出てしまって、sorceryを使ってTwitterログインできないんです。。。

[ https://www.escola-pro.com/oauth/callback?provider=twitter ]

↑こんな感じにしたいんだけど...

 

 

そこで、以下のように対応しました。

Twitter Developer Toolでは

 ローカルのcallbackURLを「http://127.0.0.1:3000/oauth/callback」としました。

 本番では、「https://www.escola-pro.com/oauth/callback」としました。

 

②ローカルの.envファイルにパラメーターを記載しました。

 TWITTER_CALLBACK: 'http://127.0.0.1:3000/oauth/callback?provider=twitter'

 

③本番環境では、herokuを使用しているので、

heroku configの方に
TWITTER_CALLBACK: https://www.escola-pro.com/oauth/callback?provider=twitter
と、パラメーターを設定しました。

 

以上です!

Twitter Developer ToolのcallbackURLが厳しくなったけど、こうやったらcallbackURLにパラメータがつけられるよ!というお話でした。

 

読んでいただきましてありがとうございました。