みなさんこんにちは。
変な時間に起きてしまって眠れなくなってブログを書いている宮水です。
いつか忘れちゃったんですけど、だいぶ前にTwitterログインの仕様変更がありましたね。
callback URLが、なんでもよかったのがちゃんと確認するようになった件です。
とか
Callback URLはWebsite URLに書いてあるものが同じじゃないとだめだよー
とか書いてありました。
私はだいぶ前にTwitter Developer Toolを登録していたので、上記の要件を満たしていない適当なURLだったのですが、Escolaの仕様変更でとうとうcallbackURLを変更しないといけない事態に陥り、泣く泣く英語のドキュメントを頑張って読む羽目になりました。
そして、ローカル用と本番環境用で以下のcallbackURLを設定しようと思ったんですけど、パラメーターがつけられない!!
でも「?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にパラメータがつけられるよ!というお話でした。
読んでいただきましてありがとうございました。