(57)【要約】【課題】クロスドメインでのシングルサインオンを支援する。【解決手段】ウェブシステム１００は、ユーザ端末１４から画像を要求された場合に、ユーザの認証状況にしたがって異なる態様の画像を提供する認証サーバ１０と、ユーザ端末１４からウェブページを要求された場合にコンピュータプログラムを提供するウェブサーバ１２を備える。そのコンピュータプログラムは、認証サーバ１０から画像を取得し、その画像の態様に応じて、認証サーバ１０におけるユーザの認証状況を判定し、ユーザの認証状況に応じたウェブページを表示させるための処理をユーザ端末１４に実行させる。【選択図】図１
2014010656.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの端末から画像を要求された場合に、ユーザの認証状況にしたがって異なる態様の画像を前記ユーザの端末へ提供する認証サーバと、
前記ユーザの端末からウェブページを要求された場合にコンピュータプログラムを前記ユーザの端末へ提供するウェブサーバと、
を備え、
前記コンピュータプログラムは、
前記認証サーバから前記画像を取得する画像取得機能と、
前記認証サーバから取得された画像の態様に応じて、前記認証サーバにおけるユーザの認証状況を判定する判定機能と、
前記ユーザの認証状況に応じたウェブページを表示させるための処理を実行する制御機能と、を前記ユーザの端末に実現させることを特徴とする情報処理システム。
【請求項２】
前記コンピュータプログラムの制御機能は、
前記認証サーバにおけるユーザの認証が有効である場合に、前記認証サーバからユーザの認証情報を取得する認証情報取得機能と、
前記認証情報を前記ウェブサーバへ送信することにより、前記認証情報に応じたウェブページを前記ウェブサーバから提供させるページ取得機能と、を含むことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
複数の認証サーバを備え、
前記コンピュータプログラムの画像取得機能は、前記複数の認証サーバのそれぞれから前記画像を取得し、
前記コンピュータプログラムの判定機能は、各認証サーバから取得された画像の属性に応じて、各認証サーバにおけるユーザの認証状況を判定し、
前記コンピュータプログラムの認証情報取得機能は、前記複数の認証サーバのうちユーザの認証が有効である認証サーバへアクセスして、ユーザの認証情報を取得することを特徴とする請求項２に記載の情報処理システム。
【請求項４】
認証サーバが、ユーザの端末から画像を要求された場合に、ユーザの認証状況にしたがって異なる態様の画像を前記ユーザの端末へ提供するものであるとき、
前記ユーザの端末からウェブページを要求されたウェブサーバが前記ユーザの端末へ提供するコンピュータプログラムであって、
前記認証サーバから前記画像を取得する画像取得機能と、
前記認証サーバから取得された画像の態様に応じて、前記認証サーバにおけるユーザの認証状況を判定する判定機能と、
前記ユーザの認証状況に応じたウェブページを表示させるための処理を実行する制御機能と、
を前記ユーザの端末に実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理技術に関し、ユーザ認証を実施する情報処理システムに関する。
【背景技術】
【０００２】
インターネットやブロードバンドサービスの普及に伴って、様々な金融サービスやＥＣ（Electronic Commerce）サービスがオンラインでユーザに提供されている。このようなオンラインサービスを提供するウェブサーバの中には、サービスを提供するためにユーザの情報を要求するものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１９９５７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ネットワークのドメインを跨った（すなわちクロスドメインでの）シングルサインオンを実現する際に、あるドメインに属する認証サーバにおけるユーザの認証状況を、別のドメインに属する依存サーバに対して受け渡すことが必要となる場合がある。ドメインが異なる場合、認証サーバと依存サーバの間でクッキー（Cookie）を共有できないため、ユーザが依存サーバへアクセスしたときに、認証サーバへリダイレクトさせる等の方式が用いられてきた。本発明者は、このような方式では認証サーバが停止中に処理の継続が困難になる場合があり、改善の余地があると考えた。
【０００５】
本発明は、発明者の上記着想にもとづきなされたものであり、クロスドメインでのシングルサインオンを支援するための技術を提供することを主な目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の情報処理システムは、ユーザの端末から画像を要求された場合に、ユーザの認証状況にしたがって異なる態様の画像をユーザの端末へ提供する認証サーバと、ユーザの端末からウェブページを要求された場合にコンピュータプログラムをユーザの端末へ提供するウェブサーバと、を備える。コンピュータプログラムは、認証サーバから画像を取得する画像取得機能と、認証サーバから取得された画像の態様に応じて、認証サーバにおけるユーザの認証状況を判定する判定機能と、ユーザの認証状況に応じたウェブページを表示させるための処理を実行する制御機能と、をユーザの端末に実現させる。
【０００７】
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、方法、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、クロスドメインでのシングルサインオンを支援することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態のウェブシステムの構成を示す図である。
【図２】図１の認証サーバの機能構成を示すブロック図である。
【図３】図１のウェブサーバの機能構成を示すブロック図である。
【図４】未認証ユーザ向けのウェブページのコードを模式的に示す図である。
【図５】図１のユーザ端末の機能構成を示すブロック図である。
【図６】ユーザ端末で表示されるウェブページを模式的に示す図である。
【図７】ウェブシステムの動作を示すフローチャートである。
【図８】図７のＳ１４のページ表示処理を詳細に示すフローチャートである。
【発明を実施するための形態】
【００１０】
図１は、実施の形態のウェブシステムの構成を示す。ウェブシステム１００は、サーバ・クライアント間でＨＴＴＰ通信を行う情報処理システムであり、認証サーバ１０で総称される認証サーバ１０ａ、認証サーバ１０ｂ、認証サーバ１０ｃと、ウェブサーバ１２と、ユーザ端末１４を備える。これらの各装置はインターネット１６を介して接続される。
【００１１】
ユーザ端末１４は、ウェブブラウザを搭載した情報処理装置であり、例えばＰＣ・携帯電話機・スマートフォン・タブレット端末であってもよい。ユーザ端末１４は、ユーザの操作に応じてウェブサーバ１２へアクセスし、ウェブサーバ１２から提供されたウェブページを所定のディスプレイに表示する。
【００１２】
認証サーバ１０は、ユーザ端末１４からのアクセスを受け付けて、ユーザを認証する情報処理装置である。認証サーバ１０は、ＯｐｅｎＩＤ規格のＯＰ（OpenID Provider）に対応し、ユーザの認証に成功した場合、セッションクッキーをユーザ端末１４へ発行する。ウェブサーバ１２は、ユーザ端末１４からのアクセスを受け付けて、そのアクセスで指定されたウェブページのデータをユーザ端末１４へ提供する。認証サーバ１０ａ〜認証サーバ１０ｃ、ウェブサーバ１２のそれぞれは、ネットワークのドメイン（以下、「インターネットドメイン」とも呼ぶ。）が互いに異なるものとする。
【００１３】
ここでウェブサーバ１２は、ＯｐｅｎＩＤ規格のＲＰ（Relying Party）に対応し、ユーザが認証サーバ１０ａ〜認証サーバ１０ｃのいずれかで認証済みの場合（例えば認証に成功し、その認証結果が有効な状態であるとき）は、認証済みユーザ向けのウェブページをユーザ端末１４へ提供し表示させる。その一方、ユーザが認証サーバ１０ａ〜認証サーバ１０ｃのいずれにおいても未認証の場合（例えば認証に失敗し、もしくは過去の認証結果が無効な状態であるとき）は、未認証ユーザ向けのウェブページをユーザ端末１４へ提供し表示させるものとする。したがってウェブサーバ１２は、認証サーバ１０におけるユーザの認証状況を認識する必要がある。
【００１４】
既述したように、認証サーバ１０とウェブサーバ１２はインターネットドメインが異なるため、認証サーバ１０がユーザ端末１４に設定したクッキー情報をウェブサーバ１２側では参照できない。そのため、クロスドメインでのシングルサインオンを実現するためのこれまでの方式の一例として、ウェブサーバ１２は、ユーザ端末１４からアクセスを受け付けると、まず認証サーバ１０ａへリダイレクトさせて認証サーバ１０ａにユーザ認証を実施させ、その認証結果をリダイレクトで取得する。次に、認証サーバ１０ｂへリダイレクトさせて認証サーバ１０ｂにユーザ認証を実施させ、その認証結果をリダイレクトで取得する、・・・を繰り返し、各認証サーバ１０でのユーザの認証状況を判別することがあった。
【００１５】
本発明者は、これまでの方式について、１）ユーザ端末１４におけるブラウザリダイレクトの回数が多くなり、ユーザ端末１４でのウェブページ表示に遅延が発生すること、２）認証サーバ１０の数が多くなるほど、上記１）の遅延が大きくなること、３）認証サーバ１０が停止中にページ表示処理が継続できないこと、を問題として認識した。
【００１６】
そして本発明者は、クロスドメインの環境においても、Ａ）ウェブページに埋め込まれたリソースに対するＨＴＴＰリクエストでは、設定済みのクッキーが送信されること、Ｂ）ウェブページに埋め込まれた画像の属性、具体的には幅や高さのサイズを取得できること、に着目して、クロスドメインでのシングルサインオンを効率的に実現させる仕組みに想到した。
【００１７】
具体的には、実施の形態の認証サーバ１０は、ユーザに自身の認証状況を確認させるための画像（以下、「確認用画像」とも呼ぶ。）を提供するためのＨＴＴＰエンドポイント、言い換えれば、ＨＴＴＰリクエストの受付窓口を予め設定しておく。そしてユーザ端末１４から確認用画像が要求された場合に、ユーザの認証状況に応じたサイズの画像をユーザ端末１４へ提供する。ウェブサーバ１２は、ユーザ端末１４からウェブページが要求された場合に、認証サーバ１０から確認用画像を取得して表示するコードと、確認用画像のサイズを判定するコードを含むウェブページをユーザ端末１４へ提供する。
【００１８】
ユーザ端末１４のウェブブラウザはウェブページの表示に際して認証サーバ１０から確認用画像を取得し、ウェブページのスクリプトコードでその画像サイズを判定することによりユーザの認証状況を判定可能となる。言い換えれば、ユーザが認証サーバ１０にログイン済みか否かを判定可能となる。これにより、ユーザの認証状況に応じた態様のページをユーザ端末１４に表示させるように、ウェブページのスクリプトコードで制御することができる。以下、図１の各装置の構成を詳細に説明する。
【００１９】
図２は、図１の認証サーバ１０の機能構成を示すブロック図である。認証サーバ１０は、ユーザ情報保持部２０と、セッション情報保持部２２と、ユーザ認証部２４と、認証情報提供部２６と、セッション管理部２８と、認証状況判定部３０と、画像提供部３２を備える。本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。後述のブロック図についても同様である。
【００２０】
ユーザ情報保持部２０は、認証対象のユーザに関する情報（以下、「ユーザ情報」とも呼ぶ。）を保持する記憶領域である。ユーザ情報には、ユーザ認証の成否を判定するための情報が含まれ、具体的には、ログイン画面でユーザが入力したユーザＩＤとパスワードの組と照合するための、ユーザＩＤとパスワードの情報が含まれる。またユーザ情報には、ユーザに関する各種の属性情報、例えばメールアドレスや性別、クレジットカード番号等が含まれてもよい。
【００２１】
セッション情報保持部２２は、認証サーバ１０とユーザ端末１４のセッションの情報を保持する記憶領域である。セッション情報には、認証サーバ１０がユーザ端末１４へ発行したセッションＩＤと、認証サーバ１０とユーザ端末１４のセッションの有効期限が含まれることとする。
【００２２】
ユーザ認証部２４は、ユーザ端末１４から認証要求を受け付ける。この認証要求とともにユーザ端末１４から送信されたクッキーがセッションＩＤを含む場合（このようなクッキーを「セッションクッキー」とも呼ぶ。）、ユーザ認証部２４は、セッション情報保持部２２のセッション情報を参照して、そのセッションＩＤに対応づけられた有効期限を確認する。セッションの有効期限内であれば、ユーザの認証が有効と判定する。
【００２３】
セッションの有効期限が途過しているとき、もしくは、ユーザ端末１４からセッションＩＤが未送信であるとき、ユーザ認証部２４は、ログイン画面のデータをユーザ端末１４へ提供し、そのログイン画面へ入力されたユーザＩＤ・パスワードをユーザ端末１４から取得する。そして、ログイン画面へ入力されたユーザＩＤ・パスワードがユーザ情報保持部２０のユーザ情報と整合する場合に、ユーザの認証が成功したと判定する。
【００２４】
認証情報提供部２６は、ユーザ認証部２４によりユーザの認証が有効と判定された場合、もしくはユーザの認証が成功したと判定された場合に、ユーザ認証の成功を示すアサーション（「トークン」とも呼ばれる）をユーザ端末１４へ提供する。実施の形態において、認証情報提供部２６は、アサーションのデータに、ユーザ情報保持部２０のユーザ情報（例えばユーザＩＤ）を含める。これにより、ユーザ認証に成功した旨とともにユーザ情報（例えばユーザＩＤ）を、ユーザ端末１４を介してウェブサーバ１２へ伝達する。
【００２５】
セッション管理部２８は、ユーザ認証部２４によりユーザの認証が成功したと判定された場合に、そのユーザに対するセッションＩＤを払い出し、現在日時に所定のセッション有効期間（例えば３０分）を加えた日時をセッション有効期限として、セッション情報をセッション情報保持部２２へ格納する。このときユーザ認証部２４は、セッション管理部２８により払い出されたセッションＩＤを、ユーザ端末１４のクッキー（セッションクッキー）へ設定する。またセッション管理部２８は、有効期限を途過したセッション情報をセッション情報保持部２２から削除する。
【００２６】
認証状況判定部３０は、確認用画像の提供要求をユーザ端末１４から受け付ける。認証状況判定部３０は、この要求とともにユーザ端末１４から送信されたクッキーがセッションＩＤを含むか否かを判定する。セッションＩＤを含む場合には、セッション情報保持部２２のセッション情報を参照して、そのセッションＩＤに対応づけられた有効期限を確認する。セッションの有効期限内であればユーザの認証が有効と判定する。その一方、ユーザ端末１４からセッションＩＤが未送信である場合、もしくは、セッションＩＤに対応づけられた有効期限が途過している場合、ユーザの認証が無効と判定する。
【００２７】
画像提供部３２は、認証状況判定部３０によりユーザの認証が有効と判定された場合に、その旨を示す所定サイズの画像データ（ここでは幅が２ピクセルの画像とする）をユーザ端末１４へ提供する。その一方、認証状況判定部３０によりユーザの認証が無効と判定された場合は、異なるサイズの画像データ（ここでは幅が１ピクセルの画像とする）をユーザ端末１４へ提供する。実施の形態では、ユーザの認証状況に応じて画像幅を変えることとするが、変形例として、画像の高さを変えてもよいことはもちろんである。
【００２８】
図３は、図１のウェブサーバ１２の機能構成を示すブロック図である。ウェブサーバ１２は、ページ保持部４０とページ提供部４２を備える。ページ保持部４０は、ユーザへ提示すべきウェブコンテンツを定めたウェブページのデータ（典型的にはＨＴＭＬプログラム）を保持する記憶領域である。本実施の形態では、ページ保持部４０は、認証サーバ１０により未認証のユーザ向けのウェブページと、認証サーバ１０により認証済みのユーザ向けのウェブページを少なくとも保持することとする。例えば前者は、全てのユーザへ公開可能なコンテンツのみを含む一方、後者は、認証済み（ログイン済み）のユーザに対してのみ公開可能なコンテンツを含むものである。
【００２９】
図４は、未認証ユーザ向けのウェブページのコードを模式的に示す。同図では具体的な処理の内容をコメント文として示している。コンテンツコード５０は、ウェブコンテンツを表示させるためのＨＴＭＬプログラムコードであり、画像取得コード５１を含む。画像取得コード５１は、認証サーバ１０ａ〜認証サーバ１０ｃのそれぞれから確認用画像を取得して表示させるコードである。スクリプトコード５２は、ウェブページにおけるデータ処理を制御するためのＪＡＶＡスクリプト（登録商標）コードである。図４では、スクリプトコード５２として、認証サーバ１０ａに関するデータ処理のためのコードを示しているが、認証サーバ１０ｂと認証サーバ１０ｃに関するデータ処理のコードも同様である。
【００３０】
画像サイズ取得コード５３は、認証サーバ１０ａから提供された確認用画像のサイズを取得するコードである。実施の形態では、ユーザの認証状況を画像幅で判別するが、画像の高さで識別してもよく、その場合「naturalHight」プロパティの値を取得してもよい。エラー判定コード５４は、確認用画像の取得に関連するエラーを検出するためのコードであり、エラーハンドリングコード５５はエラー検出時にそのエラーハンドリングを行うコードである。画像サイズ判定コード５６は、確認用画像の幅にもとづいて認証状況を判定するコードである。認証要求コード５７は、認証サーバ１０ａへ認証要求し、認証サーバ１０からアサーションを取得するコードである。リダイレクトコード５８は、リダイレクトによりアサーションをウェブサーバ１２へ転送するコードである。
【００３１】
図３に戻り、ページ提供部４２は、ウェブページの提供要求をユーザ端末１４から受け付ける。そのときページ提供部４２は、一旦、未認証ユーザ向けウェブページのデータをユーザ端末１４へ提供する。ページ提供部４２は、ユーザ端末１４からユーザＩＤを含む認証サーバ１０のアサーションデータを受け付けたことを条件として、認証済みユーザ向けウェブページのデータをユーザ端末１４へ提供する。
【００３２】
図５は、図１のユーザ端末１４の機能構成を示すブロック図である。ユーザ端末１４は、操作検出部６０と、モニター出力部６２と、通信処理部６４と、ブラウザ部６６を備える。操作検出部６０は、キーボードやマウス等の入力装置に対するユーザ操作を検出する。モニター出力部６２は、ユーザ端末１４のモニターへ画像データを送出することにより、その画像データをモニター（ディスプレイ）に表示させる。通信処理部６４は、ＨＴＴＰに則り、インターネット１６を介して、認証サーバ１０やウェブサーバ１２とデータを送受する。
【００３３】
ブラウザ部６６は、ユーザ端末１４に搭載されたウェブブラウザに対応する。ブラウザ部６６は、コンテンツ表示部６８と、画像取得部７０と、認証状況判定部７２と、認証要求部７４と、認証情報取得部７６と、認証情報転送部７８と、エラー処理部８０を含む。このうち、画像取得部７０、認証状況判定部７２、認証要求部７４、認証情報取得部７６、認証情報転送部７８、エラー処理部８０の機能は、図４で示した未認証ユーザ向けウェブページのプログラムコードをブラウザ部６６が実行することにより実現される。
【００３４】
コンテンツ表示部６８は、ウェブページのＨＴＭＬコード（各種タグを含む）やＪＡＶＡスクリプトコードを解釈し、それらのコードが定めるウェブコンテンツをモニターに表示させる。例えば、図４のコンテンツコード５０が定めるウェブコンテンツを表示させる。画像取得部７０は、図４の画像取得コード５１に対応し、認証サーバ１０ａ〜認証サーバ１０ｃのそれぞれから確認用画像を取得し、コンテンツ表示部６８を介して各画像を表示させる。
【００３５】
図６は、ユーザ端末１４で表示されるウェブページを模式的に示す。同図は、未認証ユーザ向けウェブページを示している。メインペイン９０には、未認証ユーザ向けのウェブコンテンツが表示される。サブペイン９２には、認証サーバ１０ａ（例えば同図のＡＡＡ）〜認証サーバ１０ｃ（例えば同図のＣＣＣ）のそれぞれに対応する３つのログインボタン９４を含むログインサイトの選択画面が表示される。またサブペイン９２は、認証サーバ１０ａ〜認証サーバ１０ｃのそれぞれから取得した認証状況確認用の画像を表示させる画像表示領域９６を含む。画像表示領域９６は、ウェブページの隅等の目立たない位置に設けられることが望ましい。また画像表示領域９６の確認用画像も、その表示色が背景色と同じである等、目立たない態様で表示することが望ましい。
【００３６】
図５に戻り、認証状況判定部７２は、図４の画像サイズ取得コード５３、エラー判定コード５４、画像サイズ判定コード５６に対応する。認証状況判定部７２は、認証サーバ１０ａ〜認証サーバ１０ｃのそれぞれから取得された確認用画像の属性を判定し、その属性に応じてユーザの認証状況を判定する。具体的には、画像幅が２ピクセル長である場合、ユーザの認証が有効である、すなわち認証サーバ１０によるユーザ認証が成功し、かつ、その認証が有効期限内であると判定する。その一方、画像幅が１ピクセル長である場合、ユーザの認証が無効である、すなわち認証サーバ１０によるユーザ認証が失敗し、もしくは、認証サーバ１０によるユーザ認証の有効期限が切れたと判定する。
【００３７】
また認証状況判定部７２は、画像取得部７０による画像取得でエラーが発生した場合、すなわち認証サーバ１０から画像取得できなかった場合や、取得された画像の幅が０ピクセル長であった場合は、認証サーバ１０が異常と判定する。そして後述のエラー処理部８０へエラーハンドリングを指示する。
【００３８】
認証要求部７４は図４の認証要求コード５７に対応する。認証要求部７４は、複数の認証サーバ１０のうち、認証状況判定部７２によりユーザの認証が有効と判定された認証サーバ１０に対してユーザ認証の要求電文を送信する。その際に、認証サーバ１０のインターネットドメインに対応するセッションクッキーがあれば、そのクッキーを合わせて送信する。
【００３９】
また認証要求部７４は、図６の未認証ユーザ向けウェブページにおいて特定の認証サーバ１０を示すログインボタン９４がユーザにより選択された場合に、その認証サーバ１０に対してユーザ認証の要求電文を送信する。なお認証要求部７４は、ユーザ認証の要求先の認証サーバ１０からログイン画面のデータが提供された場合、ログイン画面をモニターに表示させる。そしてユーザがログイン画面に入力したユーザＩＤおよびパスワードを認証サーバ１０へ送信する。
【００４０】
認証情報取得部７６も図４の認証要求コード５７に対応する。認証情報取得部７６は、認証サーバ１０によるユーザ認証の結果の情報であり、ユーザＩＤを含む認証情報（アサーション、トークン）を認証サーバ１０から取得する。認証情報転送部７８は、図４のリダイレクトコード５８に対応し、認証サーバ１０から取得された認証情報をウェブサーバ１２へ送信する。具体的には、ユーザ端末１４のウェブブラウザに、ウェブサーバ１２へリダイレクトさせることにより認証情報をウェブサーバ１２へ送信させる。
【００４１】
エラー処理部８０は図４のエラーハンドリングコード５５に対応する。エラー処理部８０は、認証状況判定部７２からエラーハンドリングが指示された場合に、所定のエラー対応処理を実行する。例えば、認証サーバ１０が異常であることを示す情報をウェブサーバ１２へ通知して、認証サーバ１０が異常である場合のウェブページをウェブサーバ１２に提供させてもよい。また、認証状況確認用の画像を介して異常が検出された認証サーバ１０について、未認証ユーザ向けウェブページにおける当該認証サーバ用のログインボタン９４を、ユーザが選択できない態様（disabled）としてもよく、非表示としてもよい。
【００４２】
以上の構成によるウェブシステム１００の動作を以下説明する。
図７は、ウェブシステム１００の動作を示すフローチャートである。ユーザ端末１４のブラウザ部６６は、ユーザにより指定されたウェブページの提供要求をウェブサーバ１２へ送信する（Ｓ１０）。ウェブサーバ１２のページ提供部４２は、その要求に応じたウェブページをユーザ端末１４へ提供し、認証済みユーザ向けウェブページが指定された場合は、一旦、未認証ユーザ向けウェブページをユーザ端末１４へ送信する（Ｓ１２）。ユーザ端末１４のブラウザ部６６は、未認証ユーザ向けウェブページの表示処理を実行する（Ｓ１４）。
【００４３】
Ｓ１４において、複数の認証サーバ１０の少なくとも１つによるユーザの認証が有効であることが確認された場合（Ｓ１６のＹ）、ユーザ端末１４の認証要求部７４は、ユーザの認証が有効である認証サーバ１０に対して、セッションクッキーとともに認証要求を送信する（Ｓ１８）。認証サーバ１０のユーザ認証部２４は、その認証要求を受け付けると、セッション情報保持部２２のセッション情報を参照してユーザの認証が有効であることを確認する。そして認証情報提供部２６は、ユーザ情報保持部２０に保持されたユーザＩＤ等のユーザ情報を含むアサーションのデータをユーザ端末１４へ送信する。
【００４４】
ユーザ端末１４の認証情報取得部７６は、認証サーバ１０から提供されたアサーションを取得し、認証情報転送部７８はそのアサーションをウェブサーバ１２へ転送する（Ｓ２０）。ユーザ認証に関するアサーションを取得したウェブサーバ１２のページ提供部４２は、認証済みユーザ向けウェブページをユーザ端末１４へ提供し、表示させる（Ｓ２２）。Ｓ１４において、複数の認証サーバ１０のいずれにおいてもユーザの認証が無効であるときは（Ｓ１６のＮ）、Ｓ１８〜Ｓ２２をスキップし、ユーザ端末１４のブラウザ部６６は、未認証ユーザ向けウェブページの表示を維持する。
【００４５】
図８は、図７のＳ１４のページ表示処理を詳細に示すフローチャートである。ユーザ端末１４の画像取得部７０は、確認用画像の提供を認証サーバ１０に要求する（Ｓ３０）。複数の認証サーバ１０のそれぞれにおいて、認証状況判定部３０は、セッション情報保持部２２に保持されたセッション情報を参照し、ユーザの認証が有効な状態か否かを判定する。ユーザの認証が有効な状態であるとき（Ｓ３２のＹ）、認証サーバ１０の画像提供部３２は、２ピクセル幅の画像データをユーザ端末１４へ送信する（Ｓ３４）。ユーザの認証が無効な状態であれば（Ｓ３２のＮ）、１ピクセル幅の画像データをユーザ端末１４へ送信する（Ｓ３６）。
【００４６】
ユーザ端末１４の認証状況判定部７２は、認証サーバ１０から提供された確認用画像のサイズを取得する（Ｓ３８）。エラーが未検出であれば（Ｓ４０のＮ）、認証状況判定部７２は、画像サイズに基づいてユーザの認証状況を判定する（Ｓ４４）。その一方、画像取得処理でのエラーや、画像サイズのエラー（例えば画像幅が０ピクセルであること等）が検出されると（Ｓ４０のＹ）、ユーザ端末１４のエラー処理部８０は、予め定められたエラーハンドリング処理を実行し、エラーに応じたウェブページを表示させる（Ｓ４２）。
【００４７】
本実施の形態のウェブシステム１００によると、ウェブサーバ１２がユーザ端末１４へ提供するウェブページのプログラムコードにおいて、認証サーバ１０から認証状況に応じたサイズの確認用画像を取得し、その画像サイズに応じてユーザの認証状況を判別する。これにより、クロスドメイン環境においてクッキーを用いることなく認証状況を判別し、ウェブページのプログラムコードによる適切なページへの遷移が実現でき、クロスドメイン環境でのシングルサインオンを実現できる。また、ウェブページのプログラムコード（言い換えれば依存サイトであるウェブサーバ１２）は、ユーザの認証状況を確認するために、認証サーバ１０が設定した画像サイズをチェックするだけであり、セキュリティ上のリスクも抑制できる。
【００４８】
また確認用画像の取得や画像サイズ取得により、認証サーバ１０が異常状態か否かを、認証要求前に判別しやすくなる。仮に認証サーバ１０が異常状態であっても、ウェブページのプログラムコードにおいてエラーハンドリングを行うことで、認証サーバ１０の異常によりウェブページの表示処理が中断することを回避しやすくなる。例えば、認証サーバ１０が認証要求へのレスポンスを返すことができない異常状態であっても、エラーハンドリングにおいて、その認証サーバ１０への認証要求を抑制する処理を実行することで、ウェブページの表示処理を継続させやすくなる。
【００４９】
またウェブシステム１００によると、ウェブサーバ１２が認証情報を受け付け可能な認証サーバ１０が複数存在する場合でも、認証情報を取得するためにアクセスする対象は、ユーザの認証が有効な認証サーバ１０だけとなる。これにより、ユーザ端末１４におけるブラウザリダイレクトの回数を抑制し、ユーザ端末１４においてウェブページの表示完了までに要する時間を低減できる。また、ウェブシステム１００において認証サーバ１０の数が増加しても、アクセスする認証サーバ１０の数の増加を抑制できる。すなわち、クロスドメイン環境において効率的なシングルサインオンを実現できる。
【００５０】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下変形例を示す。
【００５１】
第１の変形例を説明する。上記実施の形態では、ウェブサーバ１２は、ユーザ認証に関するアサーションを取得することを条件として、認証済みユーザ向けウェブページを提供した。そのため、未認証ユーザ向けウェブページのプログラムコードは、確認用画像のサイズにもとづいてユーザの認証が有効と判定した場合に、認証サーバ１０へ認証要求を送信し、そのレスポンスであるアサーションをウェブサーバ１２へ転送した。変形例として、ウェブサーバ１２は、ユーザの認証が有効な状態であることをもって、認証済みユーザ向けウェブページを提供してもよい。この変形例では、未認証ユーザ向けウェブページは、確認用画像のサイズによりユーザの認証が有効と判定した場合に、その旨をウェブサーバ１２へ通知することにより、ウェブサーバ１２に認証済みユーザ向けウェブページをユーザ端末１４へ提供させるプログラムコードを含んでもよい。例えば、ユーザの認証が有効である場合に、その旨を示すパラメータを含む認証済みユーザ向けウェブページのＵＲＬを指定したＨＴＴＰ−ＧＥＴリクエストをウェブサーバ１２へ送信してもよい。
【００５２】
第２の変形例を説明する。上記実施の形態では、ウェブサーバ１２はデフォルトのウェブページとして未認証ユーザ向けウェブページを提供した。変形例として、ユーザ端末１４からページ提供リクエストを受け付けたウェブサーバ１２は、一旦、認証状況判定用のウェブページ（例えば図４の未認証ユーザ用のコンテンツコードを含まないデータ）をユーザ端末１４へ提供してもよい。この変形例では、認証状況判定用のウェブページは、ユーザの認証が無効と判定した場合（確認用画像の幅が１ピクセルの場合）に、その旨をウェブサーバ１２へ通知することにより、ウェブサーバ１２に未認証ユーザ向けウェブページをユーザ端末１４へ提供させるプログラムコードを含んでもよい。例えば、ユーザの認証が無効の場合に、未認証ユーザ向けウェブページの提供要求（未認証ユーザ向けウェブページのＵＲＬを指定したＨＴＴＰ−ＧＥＴリクエスト）をウェブサーバ１２へ送信してもよい。
【００５３】
請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。例えば、請求項に記載の制御機能は、図５の認証要求部７４、認証情報取得部７６、認証情報転送部７８、エラー処理部８０の連携により実現されてもよい。
【符号の説明】
【００５４】
１０  認証サーバ、  １２  ウェブサーバ、  １４  ユーザ端末、  ７０  画像取得部、  ７２  認証状況判定部、  ７４  認証要求部、  ７６  認証情報取得部、  ７８  認証情報転送部、  ８０  エラー処理部、  １００  ウェブシステム。
【図１】
2014010656.tif 000003
【図２】
2014010656.tif 000004
【図３】
2014010656.tif 000005
【図４】
2014010656.tif 000006
【図５】
2014010656.tif 000007
【図６】
2014010656.tif 000008
【図７】
2014010656.tif 000009
【図８】
2014010656.tif 000010