
こんにちわ。個人でWebサービスを開発している管理人のヒロユキと申します。
いきなり宣伝ですが、先日家計簿を公開できるWebサービスを作成いたしました。
こちらのサイトでは、ソーシャルログインを個人スクラッチで実装してみました。その感想などを記載してみたいと思います。
実装は楽だが、実装以外のところが非常に面倒
自分が実装を行ったのは、GoogleでログインをするボタンとYahooでログインをするボタンです。

どちらも実装自体はかなり楽で1~2時間で終わらせることが出来ました。おそらくその他のソーシャルログインも実装は楽だと思います。
…というのも認証周りはもちろんAPI側でやってもらえますし、リダイレクトが発生するという以外ではただリクエストを投げるのと殆ど変わらないからです。
基本的な流れとしては
- フロントエンドからバックエンドのAPIを叩く
- バックエンド側からAPIのページにリダイレクトさせる
- API側の設定でコールバック先を指定できるので、そのコールバック先に対するRouteを作る
- 手順3のRouteの処理でAPIから受け取った情報を基にユーザー登録(認証)する
- ログイン後の画面にリダイレクトさせる

という感じです。
設計やプログラムが必要になるのは手順3くらいで、あとはリダイレクトでたらい回しにするだけですね。
正直処理内容もほとんど同じなので共通処理でガンガン作り回せるかと思います。
では自分が何故GoogleとYahooしかIDを作らなかったかと言うと、単純に実装以外の部分が非常に面倒だったからです。
次項に詳細を記載していきます。
ソーシャルログインの比較
設計段階の時に、色々なソーシャルログインを検討したので、その時の検討を基に比較表を作ってみました。
ソーシャルログイン | デベロッパー登録 | 料金 | ユーザー数 |
---|---|---|---|
普通 | かかる | 少ない | |
Yahoo | 楽 | 無料 | 普通 |
楽 | 無料 | 少ない | |
面倒 | 無料 | 普通 | |
Line | 楽 | 無料 | 多い |
ちなみユーザー数は下記のサイトのものを引用させてもらいました
https://socialplus.jp/content/sociallogin

まずGoogle様は有料だった(絶望)
情報を集めてみるとGoogle+との連携APIは無料だったようですが、サービス終了となってしまったた…。
GoogleのログインもGoogle Cloud Platformに登録すれば、個人でも連携を作ることは出来ます。
ただ、このGCPの登録がかなり面倒(わかりにくい)。
画像を多用している下記サイトなどが比較的わかりやすいかなと思います。
そして登録を行った瞬間に、無料トライアルは後365日だという表示が…

↑現在は、後322日になってます…。
AWSもそうですが、GCPもいくら掛かるのかが全くわからないので、個人で手を出すのは結構勇気がいるところですねえ…。
Twitterはデベロッパー登録が超面倒
他のプラットフォームは開発者登録さえしてしまえば、APIを使用し始めることが出来ます。
しかし、TwitterのAPIの登録はなんと承認制ということです。なんということだ…。
https://qiita.com/kngsym2018/items/2524d21455aac111cdee
上記のQiitaの記事を参考にさせてもらいましたが、
Twitter API使用用途の入力
Twitterデータをどのように分析するのかを説明。
※英語で200文字以上で入力
https://qiita.com/kngsym2018/items/2524d21455aac111cdee
>英語で200文字以上
>英語で200文字以上
>英語で200文字以上
即諦めました。
オススメはLINEとYahoo
FaceBookは比較的登録も容易なようなので導入しやすいですが、ユーザー数がかなり少ないというデメリットがあります。
ここでもう一度socialplusから引用させてもらった画像を貼ると

LINEとYahooの利用ユーザーは非常に多く、この2つのSNSだけで全体の75%をカバーできているということがわかります。
エンジニア界隈にいると「Yahooなんて使っている人いるか?」と思ってしまうのですが、やっぱり皆アカウント持っているんですよね。
そういう自分も持っていましたw
そしてLINEとYahooは導入も非常に簡単なので、ソーシャルログインで迷ったらLINEとYahooにしてみるのが良いのではないでしょうか。