いまやさまざまなサービスやアプリでソーシャルログイン機能が実装されています。しかし、非常に便利なソーシャルログインでも、いくつかデメリットが存在することをご存知でしょうか。この記事では、ユーザー側・サイトオーナー側が考慮すべきソーシャルログインのデメリットや危険性について解説します。
「ソーシャルログインを利用してみたいが、まずはデメリットを知りたい」というあなた向けの記事ですので、一つずつ見ていきましょう。
ソーシャルログインの仕組み
ソーシャルログイン機能を実装しているWebサービスやアプリなどでは、多くの場合「OAuth」と呼ばれる権限認可システムが用いられています。OAuthはユーザー情報を管理する情報源に対して、「トークン」と呼ばれる一時的なキーを利用して他のシステムから情報を連携する仕組みです。
具体的なOAuthの仕組みは次のとおりとなります。
- ユーザーのデータを管理するサーバー(リソースサーバー)に対してデータを要求
- 要求に際してトークンを生成して受け渡す
- リソースサーバーはトークンから要求に対する権限を確認
- 権限があればユーザーのデータを受け渡す
ここでいうリソースサーバーは、SNSなどのアカウントを管理するサーバーであり、API(Application Programming Interface)を介してデータのやり取りを行っています。APIはソフトウェアやサービスの機能を共有する仕組みであり、この仕組みによってソーシャルログインが実現するのです。
ユーザー情報を要求する側は、ユーザー情報を管理する必要がなく、個人情報の保護の観点からもメリットが得られます。
便利なだけじゃない、ソーシャルログインのデメリット
ソーシャルログインは非常に便利ですが、利用する際にはデメリットも把握しておく必要があります。ソーシャルログインを利用するユーザー側としては、次に挙げるようなデメリットがあるため注意しましょう。
収集されたくないデータを収集される可能性がある
ソーシャルログインを利用する場合、サービスやアプリ側からどんな情報を取得するかがはじめに示されます。たとえば、SNSでの氏名・プロフィール写真・メールアドレスなどが該当するものです。
しかし、ソーシャルログインで取得する情報はサービスごとに異なるもの。場合によっては、SNSでの投稿した写真や動画、ログイン履歴なども収集される可能性が考えられます。ユーザーにとって収集されたくない情報であっても、ソーシャルログイン機能を利用する上ではユーザー側で制限することは難しいでしょう。
そのため、ユーザーが収集されたくない情報が、ソーシャルログイン機能を実装しているサービスを運営する企業に知られてしまう可能性がある点は、デメリットとなります。
パスワードを忘れると多くのサービスが利用できなくなるかも
ソーシャルログイン機能でサービスに登録した場合、SNSなどのログインパスワードを忘れてしまうとログインできなくなってしまいます。もちろん、ソーシャルログインを利用しない場合であっても、パスワードを忘れた場合はログインできなくなるものです。
しかし、複数のサービスでソーシャルログインを利用していた場合は、その影響範囲が大きくなる点に注意しなければなりません。ソーシャルログインはメリットのほうが大きいため、デメリットは忘れられがちですが考慮すべき点と言えるでしょう。
ソーシャルログインの危険性
サイトオーナー側としては、ソーシャルログインを実装する際のデメリットや危険性にはどんなものがあるのでしょうか。
ソーシャルログインで取得したデータ以外取得できない
ソーシャルログインを実装する際には、連携するSNSなどのサービスからどのような情報を取得するのかを事前に決めなければならず、その際に取得できるユーザー情報が限られてしまうのです。
また、取得できる情報はSNSなどにユーザーが登録した情報のみであるため、本名や住所などが取得できない場合もあります。
SNSなどの仕様変更の影響を受ける可能性がある
ソーシャルログインでは、SNSなどのサービスから提供されるAPIを通じてデータを取得します。そのため、仕様変更などによってデータが取得できなくなる可能性が考えられるのです。
ソーシャルログインの仕様変更などを含む更新情報は、常に把握しておかなければなりません。手間がかかるという点では、デメリットとして挙げられるでしょう。
実装には専門知識が必要・コストがかかる
ソーシャルログインを実装するためには、OAuthやAPIに関する知識が必要不可欠であり、専門的な知識・スキルが求められます。そのため、自社にエンジニアがいない場合は実装することが難しいでしょう。
もちろん、ソーシャルログイン機能を提供する外部サービスの利用や、機能部分を外注することも可能です。しかし、自社開発する場合でも、外部サービスを利用する場合でもコストがかかることは忘れてはなりません。どうしてもコストがかかってしまう点は、ソーシャルログインを実装する上でのデメリットとなります。
安全なサービスを提供するために
ソーシャルログイン機能をサービスに実装する際には、ユーザーに安心・安全に利用してもらうために、次に挙げるポイントに気をつける必要があります。
必要以上の個人情報を取得しない
ソーシャルログイン機能を実装する際には、必要以上の個人情報を取得しないことが重要です。たとえば、ゲームアプリであればユーザーの本名や住所などの個人情報は必要ありません。
しかし、取得するデータの範囲設定をしっかり行わないと、必要以上のデータを取得してしまう可能性があります。仮にサイバー攻撃に遭って情報が流出してしまった場合、被害範囲が拡大してしまう恐れがあり、リスクを最小限に抑えるためにも必要以上の個人情報を取得しないことが重要なポイントの一つです。
連携先のSNSなどの機能を十分に理解する
ユーザー情報の取得先がSNSの場合は、タイムラインなどの機能との連携に注意しなければなりません。ユーザーのログイン履歴などが自動的にタイムラインに投稿されるようになっていた場合、ユーザーにとっては友人に知られたくない情報を勝手に公開してしまうことになってしまいます。
そのことにより、ユーザーに不信感や不快感を抱かれてしまうとサービスの利用を停止されてしまうかもしれません。これらの理由から、連携先がSNSの場合は機能を十分に理解した上で、ソーシャルログイン機能を実装するように心がけましょう。