ソーシャルログインの注意点

会員制ポータルサイトなどで、ソーシャルサービスと連携したログインを実装する場合がありますが、その場合のメリットと注意点をご紹介します。

おおまかな仕組み

ソーシャルサイトに登録しているユーザーは、そのサイトによって既に認証(おもにメールアドレスの有効・無効の検証)されています。
その認証状態を外部のサイトからでも判別できる仕組みがソーシャルログインです。

基本的には「OAuth(オーオース)」という、通信上の決まり事を使ってプログラムします。

まずサイト側でユーザーがソーシャルログインのリンク等をクリックします。
この際、サイト側はソーシャルサイトへ認証要求を出します。
ソーシャルサイトでは認証要求に基づき、ユーザーへアクセス権限付与の確認画面を表示します。
ユーザーが権限を承諾してはじめて、サイト側に認証済みである情報が送られます。

注意点として、「ログイン認証」の機能が主であり、ソーシャルサイトとの連携等は別機能である点があります。
ユーザーはログイン権限(メールアドレスの提供等)を承諾しますが、それ以外の機能(例えばツイッターであれば代わりに投稿する機能など)は別途承認してもらう必要があります。

ソーシャルログインのメリット

認証をソーシャルサイトに任せることで、サイト側はメールアドレス等が有効かどうか検証する必要がなくなるため、工数やセキュリティ面でメリットがあります。

ユーザー側も入力の手間等が省けるため便利になります。

ソーシャルログインの注意点

ソーシャルサイトで認証後、サイト側で取得できるユーザーの情報は限られています。
例えば、一般的なサイトで必要なユーザー情報である「メールアドレス」と「パスワード」について、ソーシャルログインではユーザーの「パスワード」は取得できません。
ソーシャルサイトにもよりますが、概ね共通して取得できるユーザー情報は「ユーザー名」「メールアドレス」「画像(アバター画像)」です。
この3つの情報を会員に紐づけるのですが、方法はサイトの方針にもよります。

よく見る方法としては、ソーシャルサイトでの認証後にメールアドレスの入力を省き、パスワードのみ入力してもらってから新規登録する方法です。

それ以外としては、パスワードを空にするかシステム側で自動生成してしまい、とりあえず新規登録を済ますという方法もあります。
はじめにソーシャルログインしたユーザーは次回も同じ方式でログインする可能性が高いため、パスワードは必要ない、ということです。
(もちろん、パスワードをリセットできる手続きは用意します)

いずれにしても、自サイト会員のデータとソーシャルサイトから来るデータの整合性をとる必要があるという手間がデメリットの一つです。

また、ユーザー側のデメリットとしては乗っ取りなどの危険性が不明な点です。
ソーシャルログインを利用するには、各ソーシャルサイトで開発者として登録する必要がありますが、その開発者に悪意があるかどうか判断しづらいのが現状です。

アクセス権の付与画面にしても、わかりにくいものが多いため、なにも考えず許可したらアカウントを乗っ取られたという事例も少なくありません。
こういった不信感は企業にとってもデメリットです。
以上、ソーシャルログインの注意点をご紹介しましたが、サイトによって用途が変わってきますので、安易に組み込もうとせず、適切に利用したいですね。