【Rails】本番環境でのSNS認証ログインについて(Facebook, Twitter, Google)

おはようございます。
月に10回更新を目標にしているのですが、今日が6月の10投稿目になります。なんとか達成できそうで一安心\(^o^)/
気を引き締めて書いていきたいと思います。今回はSNS認証の本番環境での実装になります。

実装の流れ

① アプリのドメイン取得とSSL
② コールバックURLの編集

のみです!ただアプリのドメイン取得とSSL化が少し骨のいる作業になります。

① アプリのドメイン取得とSSL

まずは、アプリのドメインの取得とSSL化をしないといけません。詳しいやり方は省略しますが、アプリを本番環境で動かせているのなら、下の記事の通りにやれば問題なく実装できました。

https://qiita.com/Yuki_Nagaoka/items/1f0b814e52e603613556
https://qiita.com/Yuki_Nagaoka/items/3020f02d3fd74c8572a0
https://qiita.com/Yuki_Nagaoka/items/55ed1610cfc1f59398b1

ハマった点

一点だけハマった点があったので共有させてもらいます。
お名前.comで取得したドメインの詳細にてネームサーバーの情報を登録する操作があり、その後ターミナルでネームサーバーの確認をする作業があるのですが、待てど暮せど変更が反映されないということがありました。ネームサーバーの変更の反映には72時間ほどかかる場合があると補足がしてあったので3日くらい待っていたんですけど変更されず散々調べた結果、単純にURLの誤記が原因でした。再度ドメインを取得し直すところからやり直したところ、変更の反映30分もかからなかったです。なので、もしなかなか変更が反映されないということがあれば、簡単な誤記など疑ってみて下さい。

② コールバックURLの編集

ここまでこれれば後は簡単です。
それぞれのSNSAPIの設定で、本番環境のコールバックURLを設定するだけです。

Twitter
f:id:shun_0211:20200628083826p:plain



Facebook
f:id:shun_0211:20200628083818p:plain



google
f:id:shun_0211:20200628083934p:plain



これで無事、本番環境でSNS認証でログインすることができるようになっています。エラーが出る場合はコールバックURLがちゃんと合っているかの確認をまず行って下さい。
補足ですが、FacebookAPIではローカルのコールバックURLは設定しなくても自動で認識してくれるみたいです。めっちゃ優秀ですね。


以上で今回は終わります。ここまで読んでくださり、ありがとうございました。分かりにくいやアドバイス等ありましたらコメントくださると幸いです。では!