(57)【特許請求の範囲】
【請求項１】
通信ネットワークを介して連携する複数のＷｅｂサーバ間で順次、セキュリティトークンを受け渡すプログラムであって、
前記複数のＷｅｂサーバに含まれる第１のＷｅｂサーバに、
端末からの要求に応じてデータを送出するｈｔｔｐプロトコルを、前記複数のＷｅｂサーバに含まれる第２のＷｅｂサーバにデータ要求を送信するプロトコルとして処理して送信させ、
前記第２のＷｅｂサーバに、
前記第１のＷｅｂサーバから前記データ要求を受信した場合に、前記ｈｔｔｐプロトコルで呼び出した、前記複数のＷｅｂサーバに含まれる第３のＷｅｂサーバからの前記ｈｔｔｐプロトコルのレスポンスデータを受信し、受信した前記ｈｔｔｐプロトコルのレスポンスデータのヘッダに前記セキュリティトークンが含まれている場合に、当該セキュリティトークンを読み出し、前記データ要求を送信した第１のＷｅｂサーバに対するｈｔｔｐプロトコルのヘッダのクッキー情報フィールドに、前記読み出したセキュリティトークンをクッキー情報送信関数で書き込み、当該セキュリティトークンが書き込まれた前記ｈｔｔｐプロトコルを前記第１のＷｅｂサーバへの前記セキュリティトークンの返信プロトコルとして処理して返信させる
各処理を実行させることを特徴とするプログラム。
【請求項２】
通信ネットワークを介して連携する複数のＷｅｂサーバ間で順次、セキュリティトークンを受け渡すプログラムであって、
前記複数のＷｅｂサーバに含まれる第２のＷｅｂサーバに、
端末からの要求に応じて端末にデータを送出するｈｔｔｐプロトコルを、前記複数のＷｅｂサーバに含まれる第１のＷｅｂサーバからデータ要求を受信するプロトコルとして処理して受信させ、
前記第１のＷｅｂサーバから前記データ要求を受信した場合に、前記ｈｔｔｐプロトコルで呼び出した、前記複数のＷｅｂサーバに含まれる第３のＷｅｂサーバからの前記ｈｔｔｐプロトコルのレスポンスデータを受信し、受信した前記ｈｔｔｐプロトコルのレスポンスデータのヘッダに前記セキュリティトークンが含まれている場合に、当該セキュリティトークンを読み出し、前記データ要求を送信した第１のＷｅｂサーバに対するｈｔｔｐプロトコルのヘッダのクッキー情報フィールドに、前記読み出したセキュリティトークンをクッキー情報送信関数で書き込み、当該セキュリティトークンが書き込まれた前記ｈｔｔｐプロトコルを前記第１のＷｅｂサーバへの前記セキュリティトークンの返信プロトコルとして処理して返信させる
各処理を実行させることを特徴とするプログラム。
【請求項３】
通信ネットワークを介して連携する複数のＷｅｂサーバ間で順次、セキュリティトークンを受け渡す方法であって、
前記複数のＷｅｂサーバに含まれる第１のＷｅｂサーバが、
端末からの要求に応じてデータを送出するｈｔｔｐプロトコルを、前記複数のＷｅｂサーバに含まれる第２のＷｅｂサーバにデータ要求を送信するプロトコルとして処理して送信し、
前記第２のＷｅｂサーバが、
前記第１のＷｅｂサーバから前記データ要求を受信した場合に、前記ｈｔｔｐプロトコルで呼び出した、前記複数のＷｅｂサーバに含まれる第３のＷｅｂサーバからの前記ｈｔｔｐプロトコルのレスポンスデータを受信し、受信した前記ｈｔｔｐプロトコルのレスポンスデータのヘッダに前記セキュリティトークンが含まれている場合に、当該セキュリティトークンを読み出し、前記データ要求を送信した第１のＷｅｂサーバに対するｈｔｔｐプロトコルのヘッダのクッキー情報フィールドに、前記読み出したセキュリティトークンをクッキー情報送信関数で書き込み、当該セキュリティトークンが書き込まれた前記ｈｔｔｐプロトコルを前記第１のＷｅｂサーバへの前記セキュリティトークンの返信プロトコルとして処理して返信する
各処理を実行することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティトークンを返信するプログラム及び方法に関する。
【背景技術】
【０００２】
近年、インターネット等の普及により、ユーザは、端末からインターネット等にアクセスし、便利なサービスを容易に利用することができる。ユーザは、このようなサービスを利用する際にユーザ情報を入力し、サービス提供側によってユーザ認証が行われた後に、サービスを利用することができる。ここで、ユーザ認証はセッションＩＤによるもの、ユーザＩＤ及びパスワードによるもの等様々なレベル・方式で行われる。
【０００３】
このようなインターネット等により提供されるサービスは、いわゆるＷｅｂサービス（ウェブサービス）として提供されることがある。例えば、複雑な購入注文トランザクションを提供するＷｅｂサービスは、注文会社側でのＷｅｂサーバによる発注サービスと、その業務パートナのうちの１つ又は複数のＷｅｂサーバによる注文履行サービスとの連携によって提供される。この様なＷｅｂサービスは、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等のインターネット関連技術を応用して、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）と呼ばれるＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のメッセージの送受信を行う技術等によって実現される。そして、ユーザの端末からリクエストされた処理を複数のＷｅｂサーバが連携して実行する場合、最初にリクエストを受け付けたＷｅｂサーバは、連携する他のＷｅｂサーバの機能を呼び出す際に、上述のユーザ認証のための情報をｈｔｔｐヘッダに含めて送信する。
【０００４】
ここで、図を用いて、従来の、複数のＷｅｂサーバの連携によるＷｅｂサービスにおけるユーザ認証の処理を説明する。図４は、従来の、連携する複数のＷｅｂサーバ９００間でのユーザ認証に関する処理を説明するための図である。図４において、例えば、Ｗｅｂサーバ９００ａは、端末５０からＷｅｂサービス要求をｈｔｔｐプロトコルによって受信し、Ｗｅｂサービスプログラムを実行する。そして、Ｗｅｂサーバ９００ａは、連携する他のＷｅｂサーバ９００ｂにｈｔｔｐプロトコルによってＷｅｂサービス要求を送信する。そして、ユーザを認証する必要があるＷｅｂサーバ９００ｂは、ユーザの認証情報であるセキュリティトークンの取得要求を認証発行サーバ９１０に送信し、認証発行サーバ９１０から認証されたセキュリティトークンを受信する。次に、Ｗｅｂサーバ９００ｂは、他のＷｅｂサーバ９００ｃの機能をｈｔｔｐプロトコルにより呼び出すための処理（例えば、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ））を実行する。同様に、ユーザを認証する必要があるＷｅｂサーバ９００ｆは、セキュリティトークンの取得要求を認証発行サーバ９１０に送信し、認証発行サーバ９１０から認証されたセキュリティトークンを受信する。
【０００５】
この様なユーザ認証において、認証サーバを複数のサービスで共通利用することが容易な認証システムを開示する特許文献１が知られている。特許文献１に開示されている認証システムにおいて、Ｗｅｂサービスサーバは、必要なユーザ認証を終えていないクライアントからアクセスを受けた場合に、該クライアントに対して認証サーバにアクセスするよう要求するリダイレクト要求情報を送信し、認証サーバは、クライアントからアクセスがあった場合に該クライアントのユーザ認証を行い、ユーザ認証が成功した場合にユーザ認証が成功したことを表す情報をクライアントに送信する。したがって、他のＷｅｂサービスサーバ等は、ユーザ認証が成功したことを表す情報を利用できるので、認証サーバの認証機能を複数のサービスで共通利用することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２８２８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示される認証システムは、クライアントからサービス要求を受け付けるＷｅｂサービスの場合に、既に認証されたユーザ情報を利用することができる。しかしながら、特許文献１に開示された技術は、ユーザの端末からの処理要求に対して複数のＷｅｂサーバが連携して処理するＷｅｂサービスシステムに係るものではない。また、図４の様なＷｅｂサーバの呼び出し関係が枝分かれして２以上の枝を有する場合、Ｗｅｂサーバ９００ｆのＡＰ＃１．３は、Ｗｅｂサーバ９００ｂのＡＰ＃２．１が一度認証発行サーバ９１０から受信したセキュリティトークンを受け取ることができないので、再度認証発行サーバ９１０にアクセスしてセキュリティトークンを受信する処理が必要となる。
【０００８】
そこで、連携する複数のＷｅｂサーバによるＷｅｂサービスにおいて、効率的な認証を行うことができるプログラム及び方法が求められている。
【０００９】
本発明は、連携する複数のＷｅｂサーバによるＷｅｂサービスにおいて、効率的な認証を行うことができるように、セキュリティトークンを返信するプログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明では、以下のような解決手段を提供する。
【００１１】
（１）  通信ネットワークを介して連携する複数のＷｅｂサーバ間で順次、セキュリティトークンを受け渡すプログラムであって、前記複数のＷｅｂサーバに含まれる第１のＷｅｂサーバに、端末からの要求に応じて端末ごとにデータを出し分ける端末通信プロトコルを、前記複数のＷｅｂサーバに含まれる第２のＷｅｂサーバにデータ要求を送信するプロトコルとして処理して送信する擬似端末要求送信ステップを実行させ、前記第２のＷｅｂサーバに、前記第１のＷｅｂサーバから前記データ要求を受信したことに応じて、前記セキュリティトークンを、前記端末通信プロトコルを前記第１のＷｅｂサーバへの前記セキュリティトークンの返信プロトコルとして処理して、返信する擬似端末返信ステップを実行させる、プログラム。
【００１２】
（１）の構成によれば、本発明に係るプログラムは、複数のＷｅｂサーバに含まれる第１のＷｅｂサーバに、端末からの要求に応じて端末ごとにデータを出し分ける端末通信プロトコルを、複数のＷｅｂサーバに含まれる第２のＷｅｂサーバにデータ要求を送信するプロトコルとして処理して送信させ、第２のＷｅｂサーバに、第１のＷｅｂサーバからデータ要求を受信したことに応じて、セキュリティトークンを、端末通信プロトコルを第１のＷｅｂサーバへのセキュリティトークンの返信プロトコルとして処理して、返信させる。
【００１３】
すなわち、本発明に係るプログラムは、第１のＷｅｂサーバに、端末通信プロトコルを、第２のＷｅｂサーバにデータ要求を送信するプロトコルとして処理して送信させ、第２のＷｅｂサーバに、第１のＷｅｂサーバからデータ要求を受信したことに応じて、セキュリティトークンを、端末通信プロトコルにおけるｈｔｔｐヘッダのクッキー情報フィールドに書き込んで、返信させる。このようにして、本発明に係るプログラムは、呼び出し先のＷｅｂサーバから呼び出し元のＷｅｂサーバに結果を返す際に、一連のＡＰＩ呼び出しセッションで保持しているセキュリティトークンを、端末通信プロトコルにおけるｈｔｔｐヘッダのクッキー情報フィールドに書き込む。その結果、図４に示した様なＷｅｂサーバの呼び出し関係が枝分かれして２以上の枝を有する場合においても、後続の枝分かれしたＷｅｂサーバは、先行の枝に存する他のＷｅｂサーバがそれまでに受信したセキュリティトークンを確実に受け取ることができる。したがって、本発明に係るプログラムは、連携する複数のＷｅｂサーバによるＷｅｂサービスにおいて、セキュリティトークンを返信することによってＷｅｂサーバに効率的な認証を行わせることができる。
【００１４】
（２）  通信ネットワークを介して連携する複数のＷｅｂサーバ間で順次、セキュリティトークンを受け渡すプログラムであって、前記複数のＷｅｂサーバに含まれる第２のＷｅｂサーバに、端末からの要求に応じて端末ごとにデータを出し分ける端末通信プロトコルを、前記複数のＷｅｂサーバに含まれる第１のＷｅｂサーバからデータ要求を受信するプロトコルとして処理して受信する擬似端末要求受信ステップと、前記第１のＷｅｂサーバから前記データ要求を受信したことに応じて、前記セキュリティトークンを、前記端末通信プロトコルを、前記第１のＷｅｂサーバへの前記セキュリティトークンの返信プロトコルとして処理して返信する擬似端末返信ステップと、を実行させる、プログラム。
【００１５】
（２）の構成によれば、本発明に係るプログラムは、複数のＷｅｂサーバに含まれる第２のＷｅｂサーバに、端末からの要求に応じて端末ごとにデータを出し分ける端末通信プロトコルを、複数のＷｅｂサーバに含まれる第１のＷｅｂサーバからデータ要求を受信するプロトコルとして処理して受信させ、第１のＷｅｂサーバからデータ要求を受信したことに応じて、セキュリティトークンを、端末通信プロトコルを、第１のＷｅｂサーバへのセキュリティトークンの返信プロトコルとして処理して返信させる。
【００１６】
すなわち、本発明に係るプログラムは、第２のＷｅｂサーバに、端末通信プロトコルを、第１のＷｅｂサーバからデータ要求を受信するプロトコルとして処理して受信させ、第１のＷｅｂサーバからデータ要求を受信したことに応じて、セキュリティトークンを、端末通信プロトコルにおけるｈｔｔｐヘッダのクッキー情報フィールドに書き込んで、返信させる。このようにして、本発明に係るプログラムは、呼び出し先のＷｅｂサーバから呼び出し元のＷｅｂサーバに結果を返す際に、一連のＡＰＩ呼び出しセッションで保持しているセキュリティトークンを、端末通信プロトコルにおけるｈｔｔｐヘッダのクッキー情報フィールドに書き込む。その結果、図４に示した様なＷｅｂサーバの呼び出し関係が枝分かれして２以上の枝を有する場合においても、後続の枝分かれしたＷｅｂサーバは、先行の枝に存する他のＷｅｂサーバがそれまでに受信したセキュリティトークンを確実に受け取ることができる。したがって、本発明に係るプログラムは、連携する複数のＷｅｂサーバによるＷｅｂサービスにおいて、セキュリティトークンを返信することによってＷｅｂサーバに効率的な認証を行わせることができる。
【００１７】
（３）  前記第２のＷｅｂサーバに、ｈｔｔｐプロトコルにより呼び出した前記複数のＷｅｂサーバに含まれる第３のＷｅｂサーバからのレスポンスデータを受信するステップを更に実行させ、前記擬似端末返信ステップにおいて、前記第２のＷｅｂサーバに、受信した当該レスポンスデータのヘッダに前記セキュリティトークンが含まれている場合に当該ヘッダから当該セキュリティトークンを読み出し、前記第２のＷｅｂサーバをｈｔｔｐプロトコルにより呼び出した前記第１のＷｅｂサーバに、クッキー情報送信関数により、ｈｔｔｐヘッダのクッキー情報フィールドに、前記読み出した前記セキュリティトークンを書き込んで、前記第１のＷｅｂサーバに返信する（２）に記載のプログラム。
【００１８】
（３）の構成によれば、（２）に係るプログラムは、第２のＷｅｂサーバに、ｈｔｔｐプロトコルにより呼び出した複数のＷｅｂサーバに含まれる第３のＷｅｂサーバからのレスポンスデータを受信させ、第２のＷｅｂサーバに、受信した当該レスポンスデータのヘッダにセキュリティトークンが含まれている場合に当該ヘッダから当該セキュリティトークンを読み出し、第２のＷｅｂサーバをｈｔｔｐプロトコルにより呼び出した第１のＷｅｂサーバに、クッキー情報送信関数により、ｈｔｔｐヘッダのクッキー情報フィールドに、読み出したセキュリティトークンを書き込んで、第１のＷｅｂサーバに返信させる。
【００１９】
したがって、（３）に係るプログラムは、連携する複数のＷｅｂサーバによるＷｅｂサービスにおいて、セキュリティトークンを返信することによってＷｅｂサーバに効率的な認証を行わせることができる。
【００２０】
（４）  通信ネットワークを介して連携する複数のＷｅｂサーバ間で順次、セキュリティトークンを受け渡す方法であって、前記複数のＷｅｂサーバに含まれる第１のＷｅｂサーバに、端末からの要求に応じて端末ごとにデータを出し分ける端末通信プロトコルを、前記複数のＷｅｂサーバに含まれる第２のＷｅｂサーバにデータ要求を送信するプロトコルとして処理して送信する擬似端末要求送信ステップを実行させ、前記第２のＷｅｂサーバに、前記第１のＷｅｂサーバから前記データ要求を受信したことに応じて、前記セキュリティトークンを、前記端末通信プロトコルを前記第１のＷｅｂサーバへの前記セキュリティトークンの返信プロトコルとして処理して返信する、擬似端末返信ステップを実行させる、方法。
【００２１】
したがって、本発明に係る方法は、（１）と同様に、連携する複数のＷｅｂサーバによるＷｅｂサービスにおいて、セキュリティトークンを返信することによってＷｅｂサーバに効率的な認証を行わせることができる。
【発明の効果】
【００２２】
本発明によれば、連携する複数のＷｅｂサーバによるＷｅｂサービスにおいて、Ｗｅｂサーバは、効率的な認証を行うことができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の、連携する複数のＷｅｂサーバ間でのセキュリティトークンに関する処理を説明するための図である。
【図２】本発明の一実施形態に係るＷｅｂサーバのＷｅｂサービスプログラムの処理を示すフローチャートである。
【図３】本発明の一実施形態に係る返信処理を示すフローチャートである。
【図４】従来の、連携する複数のＷｅｂサーバ間でのユーザ認証に関する処理を説明するための図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態について図を参照しながら説明する。
【００２５】
本実施形態のＷｅｂサーバ９００は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェア、Ｗｅｂサービスプログラム及び本発明に係る返信プログラムによって構成される。
【００２６】
上記ハードウェアには、制御部としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の他、記憶部、通信装置、表示装置及び入力装置が含まれる。記憶部としては、例えば、メモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ等）、ハードディスクドライブ（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及び光ディスク（ＣＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ、ＤＶＤ：Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ等）ドライブが挙げられる。通信装置としては、例えば、各種有線及び無線インターフェース装置が挙げられる。表示装置としては、例えば、液晶ディスプレイやプラズマディスプレイ等の各種ディスプレイが挙げられる。入力装置としては、例えば、キーボード及びポインティング・デバイス（マウス、トラッキングボール等）が挙げられる。
【００２７】
上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部により記憶され、制御部により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信回線を介して配布されることも可能であり、ＣＤ−ＲＯＭ等のコンピュータ可読媒体に記録して配布されることも可能である。
【００２８】
図１は、本発明の、連携する複数のＷｅｂサーバ９００間でのセキュリティトークンに関する処理を説明するための図である。図１の例は、通信ネットワーク（図示せず）を介して連携する複数のＷｅｂサーバ９００ａ，９００ｂ，９００ｃ，９００ｄ，９００ｅ，９００ｆ等（以下、Ｗｅｂサーバを区別しない場合Ｗｅｂサーバ９００といい、個々のＷｅｂサーバを区別する場合、Ｗｅｂサーバ９００ａ等という）間において、セキュリティトークンに関する処理を示す例である。端末５０からサービス要求を受信したＷｅｂサーバ９００は、セキュリティトークンを順次受け渡して、返信する返信プログラムを備え、複数のＷｅｂサーバ９００と連携してＷｅｂサービスを提供する。
【００２９】
図１において、Ｗｅｂサービスプログラムによって、例えば、Ｗｅｂサーバ９００ａは、端末５０からＷｅｂサービス要求を、端末通信プロトコルによって受信する。端末通信プロトコルは、ｈｔｔｐプロトコルであって、ｈｔｔｐヘッダに、セッション情報であるクッキーデータを含む通信プロトコルである。Ｗｅｂサーバ９００は、端末通信プロトコルにより、端末５０からの要求に応じて端末５０ごとにデータを出し分け、例えば、端末５０ごとにクッキーデータに応じたデータを送出する。そして、Ｗｅｂサーバ９００は、返信プログラムによって、例えば、端末通信プロトコルにおけるｈｔｔｐヘッダのクッキー情報フィールドに、ユーザの認証情報であるセキュリティトークンを書き込んで、送信し、レスポンスを受信して、クッキー情報フィールドからセキュリティトークンを読み出す。
【００３０】
図１において、例えば、Ｗｅｂサーバ９００ｂは、ユーザを認証する必要があり、Ｗｅｂサーバ９００ａからセキュリティトークンを受信していない場合に、セキュリティトークンの取得要求を認証発行サーバ９１０に送信し、認証発行サーバ９１０から認証されたセキュリティトークンを受信して取得する。次に、Ｗｅｂサーバ９００ｃの機能を呼び出すために、Ｗｅｂサーバ９００ｂの返信プログラムは、端末通信プロトコルにおけるｈｔｔｐヘッダのクッキー情報フィールドに、クッキー情報送信関数（ｓｅｔｃｏｏｋｉｅ（））により、取得したセキュリティトークンを書き込んで、Ｗｅｂサービス要求をＷｅｂサーバ９００ｃに送信する。
【００３１】
Ｗｅｂサーバ９００ｃは、Ｗｅｂサービス要求を受信し、端末通信プロトコルにおけるｈｔｔｐヘッダのクッキー情報フィールドに書き込まれたセキュリティトークンを読み出す。そして、Ｗｅｂサーバ９００ｃの返信プログラムは、端末通信プロトコルにおけるｈｔｔｐヘッダのクッキー情報フィールドに、クッキー情報送信関数（ｓｅｔｃｏｏｋｉｅ（））により、受信したセキュリティトークンを書き込んだレスポンスを返信する。
【００３２】
Ｗｅｂサーバ９００ｂは、ｈｔｔｐプロトコルにより呼び出したＷｅｂサーバ９００ｃからのレスポンスデータを受信し、端末通信プロトコルにおけるｈｔｔｐヘッダのクッキー情報フィールドに書き込まれたセキュリティトークンが含まれている場合に当該ヘッダから当該セキュリティトークンを読み出す。そして、Ｗｅｂサーバ９００ｂの返信プログラムは、端末通信プロトコルにおけるｈｔｔｐヘッダのクッキー情報フィールドにＷｅｂサーバ９００ｃからのレスポンスにおいて読み出したセキュリティトークンをクッキー情報送信関数（ｓｅｔｃｏｏｋｉｅ（））によって書き込んで、Ｗｅｂサーバ９００ｂをｈｔｔｐプロトコルにより呼び出したＷｅｂサーバ９００ａに、返信する。
【００３３】
ここで、端末５０からＷｅｂサービス要求を端末通信プロトコルによって受信したＷｅｂサーバ９００ａが、端末５０に送信するＨＴＴＰレスポンスのヘッダの例を示す。
【００３４】
ＨＴＴＰ／１．Ｘ  ２００  ＯＫ
Ｄａｔｅ：Ｔｕｅ，２２  Ｊｕｎ  ２０１０  １０：４１：４１  ＧＭＴ
・
・
・
Ｅｘｐｉｒｅｓ：−１
Ｐｒａｇｍａ：ｎｏ−ｃａｃｈｅ
Ｃａｃｈｅ−Ｃｏｎｔｒｏｌ：ｎｏ−ｃａｃｈｅ
Ｃｏｎｎｅｃｔｉｏｎ：ｃｌｏｓｅ
Ｔｒａｎｓｆｅｒ−Ｅｎｃｏｄｉｎｇ：ｃｈｕｎｋｅｄ
Ｃｏｎｔｅｎｔ−Ｔｙｐｅ：ｔｅｘｔ／ｈｔｍｌ
Ｓｅｔ−Ｃｏｏｋｉｅ：Ｂ＝ａｂｃｄｅｆｇ１２３４５６７８＝３＆ｓ＝ｌ４；ｅｘｐｉｒｅｓ＝Ｔｕｅ，０２−Ｊｕｎ−２０３７  ２０：００：００  ＧＭＴ；ｐａｔｈ＝／；ｄｏｍａｉｎ＝．ｘｘｘｘ．ｃｏ．ｊｐ
【００３５】
この例において、ｈｔｔｐヘッダのクッキー情報フィールドは、「Ｓｅｔ−Ｃｏｏｋｉｅ：」で示されるフィールドである。クッキーの情報は、セミコロンで区切られる。例えば、ｅｘｐｉｒｅｓは有効期限を示す。返信プログラムは、このクッキー情報フィールドに、例えば、Ｗｅｂサーバ９００ｂが呼び出したＷｅｂサーバ９００ｃからのレスポンスにおいて読み出したセキュリティトークンを、クッキー情報送信関数（ｓｅｔｃｏｏｋｉｅ（））により書き込み、Ｗｅｂサーバ９００ａに返信する。Ｗｅｂサーバ９００ｂがＷｅｂサーバ９００ａにセキュリティトークンを返信した場合のＨＴＴＰレスポンスのヘッダの例を次に示す。
【００３６】
ＨＴＴＰ／１．Ｘ  ２００  ＯＫ
Ｄａｔｅ：Ｔｕｅ，２２  Ｊｕｎ  ２０１０  １０：４１：４１  ＧＭＴ
・
・
・
Ｓｅｔ−Ｃｏｏｋｉｅ：ＶａｌｉｄａｔｉｏｎＴｏｋｅｎＳｔｒｉｎｇ１２３４５６ａｂｃｄｅｆ
【００３７】
このように、Ｗｅｂサーバ９００に共通して用いられる返信プログラムは、普段、端末ブラウザとの間でクッキー情報のやり取りに使用されるｈｔｔｐヘッダのＳｅｔ−Ｃｏｏｋｉｅフィールドを有効利用して、ＡＰＩ連携の際にセキュリティトークンを書き込む。
【００３８】
返信プログラムによって、返信されたセキュリティトークンは、連携する複数のＷｅｂサーバ９００間で同様に返信される。すなわち、セキュリティトークンが必要な最初のＷｅｂサーバ９００によって、一度だけセキュリティトークンが取得されるだけで、以後のＷｅｂサーバ９００は、図１に示したＷｅｂサーバ９００ａからＷｅｂサーバ９００ｅの様に呼び出し関係が枝分かれして２以上の枝を有する場合においても、返信されたセキュリティトークンを利用してユーザ情報を効率的に認証することができる。
【００３９】
図２は、本発明の一実施形態に係るＷｅｂサーバ９００のＷｅｂサービスプログラムの処理を示すフローチャートである。Ｗｅｂサービスプログラムは、Ｗｅｂサーバ９００が端末５０又は他のＷｅｂサーバ９００からサービスの要求を受信することによって開始する。
【００４０】
ステップＳ１０１において、ＣＰＵは、他のＷｅｂサーバ９００の機能を呼び出すための前処理を行う。より具体的には、ＣＰＵは、擬似端末要求受信ステップの実行として、他のＷｅｂサーバ９００から受信したサービス要求に基づいてユーザ情報を認証する必要がある場合であって、ユーザ情報を認証するためのセキュリティトークンを受信していない場合に、認証発行サーバ９１０に認証要求を送信し、認証発行サーバ９１０からユーザの認証情報であるセキュリティトークンを受信して、取得する。ＣＰＵは、ユーザ情報を認証する必要がある場合であって、セキュリティトークンを受信している場合に、受信しているセキュリティトークンにより、ユーザ情報を認証する。その後、ＣＰＵは、処理をステップＳ１０２に移す。
【００４１】
ステップＳ１０２において、ＣＰＵは、他のＷｅｂサーバ９００の機能を呼び出すために、セキュリティトークンを受け渡す処理を行う。より具体的には、ＣＰＵは、他のＷｅｂサーバ９００の機能を呼び出すために、擬似端末要求送信ステップの実行として、端末通信プロトコルにおけるｈｔｔｐヘッダのクッキー情報フィールドに、クッキー情報送信関数（ｓｅｔｃｏｏｋｉｅ（））により、取得したセキュリティトークンを書き込んで、Ｗｅｂサービス要求を他のＷｅｂサーバ９００に送信する。その後、ＣＰＵは、処理をステップＳ１０３に移す。
【００４２】
ステップＳ１０３において、ＣＰＵは、他のＷｅｂサーバ９００の機能を呼び出した後の返信処理（後続の図３参照）を行う。その後、ＣＰＵは、処理をステップＳ１０４に移す。
【００４３】
ステップＳ１０４において、ＣＰＵは、Ｗｅｂサービスを実行するための処理を行う。その後、ＣＰＵは、処理を終了する。
【００４４】
図３は、本発明の一実施形態に係る返信処理を示すフローチャートである。
【００４５】
ステップＳ２０１において、ＣＰＵは、呼び出した他のＷｅｂサーバ９００からレスポンスを受信する。より具体的には、ＣＰＵは、ステップＳ１０２において呼び出した他のＷｅｂサーバ９００から、他のＷｅｂサーバ９００がサービスを提供するために処理した後のデータであるレスポンスデータを受信する。その後、ＣＰＵは、処理をステップＳ２０２に移す。
【００４６】
ステップＳ２０２において、ＣＰＵは、レスポンスのヘッダにセキュリティトークンが存在するか否かを判断する。より具体的には、ＣＰＵは、他のＷｅｂサーバ９００から受信したレスポンスデータの、端末通信プロトコルにおけるクッキー情報フィールドにセキュリティトークンが含まれているか否かを判断する。この判断がＹＥＳの場合、ＣＰＵは、処理をステップＳ２０３に移し、ＮＯの場合、ＣＰＵは、処理を終了し、本処理に移るステップの次のステップに処理を移す。
【００４７】
ステップＳ２０３において、ＣＰＵは、他のＷｅｂサーバ９００から受信したレスポンスデータのヘッダの、端末通信プロトコルにおけるクッキー情報フィールドからセキュリティトークンを読み出す。その後、ＣＰＵは、処理をステップＳ２０４に移す。
【００４８】
ステップＳ２０４において、ＣＰＵは、Ｗｅｂサーバ９００にセキュリティトークンを返信する。より具体的には、ＣＰＵは、レスポンスデータの、端末通信プロトコルにおけるクッキー情報フィールドから読み出したセキュリティトークンを、擬似端末返信ステップの実行として、クッキー情報送信関数によってクッキー情報フィールドに書き込んで返信する。その後、ＣＰＵは、処理を終了し、本処理に移るステップの次のステップに処理を移す。
【００４９】
本実施形態によれば、返信プログラムは、通信ネットワークを介して連携する複数のＷｅｂサーバ９００間で順次、セキュリティトークンを受け渡すために、Ｗｅｂサービスプログラムにおいて共通して用いられる。そして、返信プログラムは、第１のＷｅｂサーバ９００に、端末通信プロトコルを、第２のＷｅｂサーバ９００にデータ要求を送信するプロトコルとして処理して送信させ、第２のＷｅｂサーバ９００に、第１のＷｅｂサーバ９００からデータ要求を受信したことに応じて、セキュリティトークンを、端末通信プロトコルにおけるｈｔｔｐヘッダのクッキー情報フィールドにクッキー情報送信関数により書き込んで、返信させる。そして、返信プログラムは、第２のＷｅｂサーバ９００に、ｈｔｔｐプロトコルにより呼び出した複数のＷｅｂサーバ９００に含まれる第３のＷｅｂサーバ９００からのレスポンスデータを受信させ、第２のＷｅｂサーバ９００に、受信した当該レスポンスデータのヘッダにセキュリティトークンが含まれている場合に当該ヘッダから当該セキュリティトークンを読み出し、第２のＷｅｂサーバ９００をｈｔｔｐプロトコルにより呼び出した第１のＷｅｂサーバ９００に、クッキー情報送信関数により、ｈｔｔｐヘッダのクッキー情報フィールドに、読み出したセキュリティトークンを書き込んで、第１のＷｅｂサーバ９００に返信させる。このようにして、呼び出し先のＷｅｂサーバ９００において返信プログラムは、呼び出し元のＷｅｂサーバ９００に結果を返す際に、一連のＡＰＩ呼び出しセッションで保持しているセキュリティトークンをｈｔｔｐヘッダのクッキー情報フィールドに書き込む。したがって、呼び出し元のＷｅｂサーバ９００は、ｈｔｔｐヘッダのクッキー情報フィールドからセキュリティトークンを読み出すことが可能となる。その結果、図４に示した様なＷｅｂサーバ９００の呼び出し関係が枝分かれして２以上の枝を有する場合においても、後続の枝分かれしたＷｅｂサーバ９００ｅ，９００ｆは、先行の枝に存する他のＷｅｂサーバ９００ｂ、９００ｃ、９００ｄがそれまでに受信したセキュリティトークンを確実に受け取ることができる。したがって、連携する複数のＷｅｂサーバ９００によるＷｅｂサービスにおいて、Ｗｅｂサーバ９００は、返信されているセキュリティトークンを用いて効率的な認証を行うことができる。
【００５０】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００５１】
５０    端末
９００  ９００ａ，９００ｂ，９００ｃ，９００ｄ，９００ｅ，９００ｆ    Ｗｅｂサーバ
９１０  認証発行サーバ
【図１】
0005183681.tif 000002
【図２】
0005183681.tif 000003
【図３】
0005183681.tif 000004
【図４】
0005183681.tif 000005