ソーシャルログイン実装の必要性とは
ソーシャルログインとは、SNS(GoogleやFacebookなど)の情報を使用して、サードパーティのアプリケーションやプラットフォームへのログインを容易にする仕組みです。また、ソーシャルログインは、ソーシャルサインインまたはソーシャルサインオンとも呼ばれています。ソーシャルログインのプロセスは、サインインと登録のエクスペリエンスを簡素化することで、アカウントを作成する必要がある場合の代替手段を提供するように設計されています。
- ユーザーにとって、ソーシャルログインはサイトやアプリに摩擦なくアクセスできるメリットがあるログイン方法です。過剰な資格情報を必要とせず、面倒な登録手順をスキップできます。
- 開発者や企業にとって、ソーシャルログインはユーザーの検証を合理化すると同時に、パーソナライズのためのユーザーデータへのアクセスに対する信頼性を向上できる魅力的な機能です。
このように、ソーシャルログインは誰もが歓迎すべきメリットがある機能のように見受けられます。ソーシャル認証には大きなメリットがあることは事実ですが、データセキュリティのリスクもあります。ここでは、ソーシャルログインのメリットとなる機能とデメリットになる可能性がある留意点を掘り下げます。ソーシャルログイン実装を成功させるための準備として参考にしてください。
ソーシャルログインの仕組み
ソーシャルログインは、簡単な手順で実行できる簡単な仕組みです。
- ユーザーはアプリまたはサイトにアクセスし、任意のソーシャルネットワークを選択します。これは一般的に、ソーシャルログインのボタンまたは「[ソーシャルプラットフォーム]でサインイン」のリンクとして表示されます。
- ソーシャルネットワークプロバイダーはログイン要求を受信し、ユーザーを認証します。この段階で、ユーザーはアプリまたはサイトのアクセス権を受け入れる必要があります。
- ソーシャルプロバイダーがユーザーのアイデンティティを確認すると、ユーザーはサイトまたはアプリにアクセスできます。
ソーシャルサインインには、中核となるいくつかのコンポーネントがあります。OAuth 2.0 は、ログイン目的でソーシャルネットワークのデータを機密に使用する許可をアプリに付与します。OpenID Connectは、サードパーティによるログインを容易にする認証プロトコルです。これにより、ユーザーは他のWebサイトのログイン資格情報を使用してアプリやアカウントのサービスにアクセスできます。これらの認証と承認のメカニズムを組み合わせることが、ソーシャルログインが機能するために必要です。以下の図は、ソーシャルログインプロセスの全体的な流れを示しています。
主要ソーシャルログインプラットフォームの比較
ソーシャルログインプラットフォームは、プライバシーの機能と実装の特徴がそれぞれ異なっており、留意する必要があります。ここでは、最も一般的なソーシャルアイデンティティプロバイダーの概要を比較して紹介します。
Facebook Loginを実装すると、バランスのとれた利便性とプライバシーを提供します。最終的にユーザーから要求する情報を決定するのは、Facebook Loginを使用する組織です。しかし、Facebookのレビュープロセスで、開発者はユーザーに許可のカスタマイズを多数提供することが要求されます。これらの許可を使用して、ユーザーはさまざまな情報をどの程度サードパーティ組織と共有するかを制御できます。
Google Sign-Inを実装すると、ユーザーはGoogleアカウントを使用して他のWebサイトにアクセスできます。開発者は、ユーザーの公開プロファイル、年齢層、フレンドリストにアクセスでき、ユーザーのパブリックフィードに対する読み取りと書き込みを実行できます。ユーザーは、承認時に共有する情報をカスタマイズできます。しかし、Googleのソーシャルログインソリューションでは、その後の変更を許可していません。変更するには、各サードパーティのWebサイトとの接続を切断して再認証しなければなりません。
LinkedIn Loginを実装すると、ユーザーはプロフェッショナルアイデンティティを使用してサインインできます。ユーザーは、アプリがアクセスできるアクセス許可を制御できません。ただし、LinkedInの情報要求の承認プロセスは最も厳格であると思われます。サードパーティのサイト所有者および開発者は、事前の承認がなければ、基本プロファイルデータ、場所、就業状況以外のユーザー情報を要求できません。
Microsoft
Sign In With Microsoftにより、ユーザーはMicrosoftアカウントを使用してログインできます。このソーシャルログインが実装されているアプリやWebサイトの場合、ユーザーは個人のメールアドレスとアカウント資格情報を使用してサインインできます。この方法を導入している大規模組織(学校や企業など)は、最初にアプリケーションまたはサイトをAzure ADに登録する必要があります。
Apple
Sign In With Appleを実装すると、ユーザーはApple IDを使用してさまざまなアカウントにサインインできます。Appleのサービスは、エンドユーザー目線で優れた独自のプライバシーとセキュリティの機能を備えています。たとえば、アプリやWebサイトが最初のサインイン時に要求できるのは、ユーザーの名前とメールアドレスの入力だけです。ユーザーは各サイトで使用するメールアドレスをランダムに作成して、個人のアカウントを隠すことができます。また、各ログインで二要素認証が必要になるので、最も高いレベルの安全性が提供されます。さらに、App Storeでソーシャル認証を提供するアプリは、「Sign In With Apple」をオプションとして提供する必要があります。
これらの機能を提供する「Sign In With Apple」は、他のソーシャルログインソリューションとはワークフローが若干異なります。たとえば、二要素認証が有効になっている場合、ユーザーは別のデバイスからのログインを確認し、Apple IDでサインインした後に認証コードを入力する必要があります。また、アプリまたはWebサイトにリダイレクトされる前に、ログインをもう一度確認するよう求められます。
汎用 OIDC
汎用OIDCは、Oktaが提供している機能です。ユーザーはこれにより、さまざまなアイデンティティプロバイダーからのアカウント資格情報を使用してアプリにサインインできます。組織は、OIDCに準拠するシステムを有効にすることで、Oktaでのサインインを可能にできます。これによって、複数のソーシャルプラットフォームから自由に選択でき、安全なカスタムのログインエクスペリエンスを顧客に提供できます。サードパーティのOIDCプロバイダーには、Dropbox、GitHub、Redditなどが含まれます。
ソーシャルログインのメリット
ソーシャルメディアログインは、次のようなさまざまな点でユーザーエクスペリエンスを向上させるメリットを提供します。
- 登録の簡素化:FacebookまたはGoogleアカウントを介すると、通常はいくつかのボタンをクリックするだけでサードパーティのWebページにログインできます。これにより、登録フォームに入力する場合に比べて、サイトやアプリへのアクセスがはるかに高速になります。
- パスワード依存度の低さ:「パスワード疲れ」は現実の問題となっています。パスワードログインにつきものの脆弱性に加えて、パスワードを覚える負荷が生じます。そのことが、ユーザーのサイト登録を遠ざけることになります。ソーシャルログインにより、ユーザーは新たなIDを作成し管理する必要がなくなり、パスワード疲れやログイン疲れが軽減されます。
- 信頼できるプロセス:ユーザーがアクセスしているサイトに関係なく、ソーシャルサインオンは、認識されやすい統一されたログイン方法を提供します。すでに信頼しているソーシャルネットワーキングプラットフォームを介することで、未知の新しいサイトやアプリとの間でデータを共有することの抵抗感が低くなるユーザーもいるでしょう。
ソーシャル認証を実装する組織には、次のようなさまざまなメリットもあります。
- ユーザー機能の改善:ユーザーがソーシャルネットワークを使用してアプリまたはサイトにサインインすると、サイト所有者はそのプラットフォームからのデータを分析し、ユーザーの好みを把握できます。開発者は、この洞察を使用して、カスタマイズ可能なユーザーエクスペリエンスを作成し、必要な機能を構築できます。
- 検証の向上:ソーシャルログインは、アクセス試行が信頼できる実際のユーザーからのものであることを確認するための追加の検証レイヤーを提供します。このような認証は、選択したソーシャルプラットフォームからの検証も要求して、スパムなどの有害なログインに対するさらなる防御を組み込んでいます。
- 実装が(一般的に)無料:ソーシャルメディアログインを実装し統合することは、Facebook LoginやGoogle+ APIのように、対応する各ソーシャルプラットフォームのAPIを使用することを意味します。サードパーティアプリが無料で使用できるリソースを制限しているAPIもありますが、一般的には無料でこれらのAPIを使用して、さまざまなソーシャルログインをサポートできます。
- 初期のエクスペリエンス向上:ユーザーがソーシャルメディアアカウントを使用してサインインした後、サイト所有者はユーザーのソーシャルアカウントに保持されている情報を使用して設定を自動で提案または入力できます。これにより、最初から利便性の良さを提供し、アプリやサイトのさらなる使用を奨励できます。
- ログイン失敗への対応負荷の軽減:ソーシャルログインでパスワードを不要にすることで、ログインの失敗によるセキュリティアラートやパスワード要求のトラブルシューティングに費やす時間を削減できます。
- カート放棄の削減とモバイルコンバージョンの向上:Eコマースのブランドの場合、ソーシャルログインによりオンラインショップのチェックアウトを簡素化できます。つまり、カートの放棄が減り、Webとモバイルの両方で購入を増やすことができます。
- アカウントのリンク:ユーザーがさまざまなアプリケーションでソーシャルログインオプションを選択すると、組織は複数のストアからのデータにアクセスできるようになります。したがって、より包括的な顧客プロファイルを作成できます。
- アプリの採用拡大:満足するエクスペリエンスを得たユーザーは、多くの場合に製品やサービスの使用を継続し、その企業への顧客忠誠度が高まります。ソーシャルログインは、顧客の継続利用のためのシームレスなインターフェイスに貢献します。
ソーシャルログインのデメリット
ソーシャルメディアのログインによって、ユーザーエクスペリエンスが合理化される一方で、次のようなセキュリティの脆弱性というデメリットが生じる可能性があります。
- データの侵害または窃取:FacebookやLinkedInのようなソーシャルアイデンティティプロバイダーは、これまでに悪名高いデータ侵害に直面し、データ漏えいによって一度に数百万ものユーザーアカウントが侵害されてきました。
- 安全性の低いパスワード使用:残念ながら、65%の人々は複数のアカウントやサイトで資格情報を使い回していると報告しています。ソーシャルログインサイトでデータの窃取が発生した場合、同じパスワードを繰り返し使用しているユーザーは、複数のアカウント侵害のリスクを抱えることになります。資格情報の漏洩により、侵害されたソーシャルメディアアカウントにリンクされているすべてのアプリやサイトログインが危険にさらされます。このため、ソーシャルログインを頻繁に使用しているユーザーは大きなリスクを負います。このようにソーシャルログインを使用することで、デメリットになってしまう可能性があることを忘れてはいけません。
- プライバシーとコンプライアンス:CCPAやGDPRなどの規制により、ユーザーにはデータ収集および共有のさまざまな慣行についてオプトインとオプトアウトの法的権利が付与されています。したがって、ソーシャルログインを実装する組織はプライバシーを慎重に考慮する必要があります。エンドユーザーにとっては、各プラットフォームのさまざまな許可要求を承認する前に入念に検討し、それぞれの要求が正当であるかどうかを判断することが重要となります。
ソーシャルログイン実装の必要性
総合的に考えると、ソーシャルログインには実装する価値があります。ソーシャルログインによって、ビジネスとエンドユーザーのエクスペリエンスが向上します。ただし、ソーシャルログインのエクスペリエンスが安全であることを確認するために、いくつかの手順を追加で実行することをお勧めします。
アカウントの乗っ取りを回避するには、多要素認証を使用してソーシャルログインを増強します。追加の認証形式を実装し、有効にすることで、ハッカーは漏えいした資格情報を使用してソーシャルメディアアカウントやリンクされたアプリやWebサイトを侵害できなくなります。カスタマイズ可能な許可を可能にしているソーシャルアイデンティティプロバイダーも、より好ましい選択肢となります。これは、組織がコンプライアンス要件を遵守すると同時に、信頼できるユーザーエクスペリエンスを作成するのに役立ちます。
ソーシャルログインでOktaを使いませんか?Oktaは、汎用OIDC、Facebook、Google、LinkedIn、Microsoftのサポートに加えて、Appleを一般公開版でサポートするようになりました。基本情報については、以下のクイックガイドをご覧ください。
- ソーシャルログインの概要(マニュアル)
- ソーシャルログインの設定(マニュアル)
- ソーシャルアプリを使用するOktaの認証(サポート記事)
- JHipsterアプリへのソーシャルログインの追加(ブログ記事)
- Spring Boot 2.0アプリへのソーシャルログインの追加(ブログ記事)
- Ionicアプリへのソーシャルログインの追加(ブログ記事)