ウェブアプリケーションのFacebookログインが急にエラーになった
弊社自社サービスとして、開発運用している英語勉強支援サービスhttps://gosen.world
本日(発見したのは昨日の夜間24:00前後ですが)
目次
現象
Facebookログインが急にエラーになりました。
下記のように、URLが読み込めません。FacebookIDで https://gosen.worldにログインしようとするユーザーがこのエラーに遭遇しているはずです。
最近、特に、ログイン周りの仕様変更やプログラムの修正が行なっていないのに、なぜこれになっているかが不思議ですが、こういう時は新しいノウハウを手に入れる最高のチャンスです!笑。
早速調査開始!
このエラーメッセージが表示されているページのアドレス欄をみてみますと
callbackのアドレスが、なぜかhttpになっています。
それをプログラムの中でcallback urlを記述している箇所を特定しましたら、相対パスになっていて、今まではそれでログインの機能が正常に動作していました。
callbackURL: (process.env.DOMAIN || '') + '/auth/facebook/callback'
環境変数から、DOMAINが設定されていない場合、callbackのurlが http://gosen.world/auth/facebook/callbackになってしまい、上記のエラーになったと分析しています。(実際も設定していないです。)
対策
プログラムを下記のように修正します。
callbackURL: (process.env.DOMAIN || '') + 'https://gosen.world/auth/facebook/callback'
またFacebookのアプリの設定画面で
「有効なOAuthリダイレクトURI」という項目でも
https://gosen.world/auth/facebook/callback
に設定してあげると、FacebookIDでhttps://gosen.worldに正常にログインできるようになりました!
まとめ
もし同じようなことに遭遇した人にご参考になれば幸いです。
では、また!
[amazonjs asin=”1430209690″ locale=”JP” title=”Facebook API Developers Guide (Firstpress)”]