はじめに
ツイッターログイン機能を実装した個人開発のWebアプリを公開しています。
自分自身で使っている分には問題なかったのですが、ログインリンクをクリックするとエラーになるという情報をユーザーさんからいただきました。
これを直した方法について記載いたします。
現象の再現
Googleで「読書のわ」と検索し、(読書のわがWebアプリの名前)検索結果からWebアプリにリンク。
ツイッターログインのためのリンクを貼ったボタンをクリックすると確かにエラーになりました。
なにはともあれログ確認
サーバーのログを確認すると、以下のエラーでした。
ツイッターログインのときのコールバックURLがないよというものです。
OAuth::Unauthorized (403 Forbidden):
developerサイトに確認しに行くと、設定はしてありました。なのになぜ。。
先程はSafariで確認したので、今度はChromeでもう一度Google検索から。
今度は問題なくログイン動作しました。なぜ???
URLをコピーして貼り付けてみると、想定と違うリンクになっているではありませんか。
ようやくタイトルの内容にたどり着きました。「www.」が勝手について検索結果にサイトが表示されていたんです。
Googleの検索順位は変わらないので、検索エンジンの問題でもなさそう。
ということはブラウザが勝手に「www.」をつけちゃったんですね。。
本来は「http://dokusyo-no-wa.com/ 」でいいものを、
「http://www.dokusyo-no-wa.com/ 」とされてしまった。
ドメイン以下でサイトを作っていたので考えもしなかったのですが、上の部分が勝手に変わってしまってはdeveloperサイトに登録したリンクとは異なってしまっており、エラーになっても致し方なし。。
対処としては「www.」をつけたリンクもコールバックURLに設定することで、無事エラーを回避して、ログインさせることができるようになりました。
通常のエラーの場合は対処法がたくさん記事になっています
https://saruwakakun.com/memo/omniauth-twitter
こちらのサイトがわかりやすく教えてくれているので、参考に。
最後に
エラーを教えてくださったユーザーさんには大変感謝しております。
この場を借りてお礼申し上げます。