【シングルサインオン解説】シングルサインオン実装「OpenID Connect編」
シングルサインオン実装の1つである「OpenID Connect」の概要について紹介します。
「シングルサインオン」とは
「シングルサインオン(SSO:Single Sign-On)」とは、1回のユーザー認証処理によって、それぞれ独立した複数のソフトウェアシステムにログインすることを可能とする仕組みを指します。
シングルサインオンの概要についてはこちらも参照ください。
→シングルサインオンの概要
「OpenID Connect」とは
概要
「OpenID Connect」は「OAuth 2.0」をベースとするシンプルなアイデンティティ連携プロトコルです。
主にトークンのデータ構造を拡張することでトークンによる「認証」を実現しています。
これにより、クライアントは認証プロバイダサーバによって実行された認証に基づいてエンドユーザーの身元を確認できるほか、相互運用可能なRESTのような方法でエンドユーザーに関する基本的なプロファイル情報を取得できます。
「OpenID Connect」の主な特徴
認証処理が各サービスから「OpenIDプロバイダ」に移動
OpenID Connectでは、各サービスで別個に実施していた「ID+パスワード認証処理」や「ワンタイムパスワード認証処理」などのユーザー認証処理を、「Google」や「Yahoo」のような「OpenIDプロバイダ」側で実施します。
認証結果を複数サービスで再利用可能
OpenID Connectでは、ユーザーは「あるサービスで認証された結果」を複数のサービス間で使い回して利用できます。
「OpenID Connect」の主なメリット
サービスサイト側
複雑な認証処理実装を省ける
「ユーザー認証処理」や「ワンタイムパスワード認証処理」をサービスサイトごとに組み込むのは、サイト構築において大きなコスト負担となります。
OpenID Connectの場合はOpenIDプロバイダに認証処理を委任して利用できるため、サービスサイト側はほぼコストをかけずに強力な認証機能を利用して、認証運用の手間も削減できるメリットがあります。
サイバーセキュリティ対策
各サービスサイトで「ユーザーID情報」や「パスワード情報」を保管する従来の認証システムの場合、個人認証情報漏洩のリスクが常に存在しています。
OpenID Connectの場合、「ユーザーID情報」や「パスワード情報」はOpenIDプロバイダ側で管理されるため、情報漏洩リスクを大幅に軽減できます。
ユーザー側
基本情報入力支援
初めてOpenID Connectを利用したサービスを使う場合、ユーザーはユーザー関連情報を入力する必要があります。
すでにGoogleなどのOpenIDプロバイダに基本情報を登録してある場合は、既存登録情報がデフォルトで表示されるため、ユーザーは同一情報を重複して入力する手間を省けるメリットがあります。
開発者側
統合が容易
OpenID Connectは、OAuth 2.0ファミリの仕様に基づいた相互運用可能な認証プロトコルで「シンプルなものをシンプルに、複雑なものを可能にする」という設計目標を持ちます。
開発者にとっては、シンプルなREST/JSONメッセージフローを使用するため、従来のIdentityプロトコルと比較して非常に簡単に統合しやすいメリットがあります。
最後に
「OpenID Connect」は主要なシングルサインオン実装技術であり、柔軟で高機能なシングルサインオンを構築できます。
弊社にご連絡いただければ「OpenID Connectを利用するシングルサインオンについてのご提案」「既存システムとの整合性調査」など、トータルサポートでご支援できます。
まずは、お気軽にお問い合わせください。
参考元サイト