(57)【特許請求の範囲】
【請求項１】
ユーザ装置の要求に応じたそれぞれのウェブサービスを提供する複数のサービス提供サーバと、前記複数のサービス提供サーバと連携して前記ウェブサービスを利用した画像処理を実行する画像処理装置と、前記複数のサービス提供サーバと連携する際に前記画像処理装置が用いる認証の情報の提供を仲介する仲介サーバとを備える情報処理システムであって、
前記仲介サーバは、
前記複数のサービス提供サーバのうち１つのサービス提供サーバと前記画像処理装置とを連携させるための連携指示を前記ユーザ装置からネットワークを介して受け付ける受け付け手段と、
前記連携指示を受け付けたことに応じて、連携先となる前記１つのサービス提供サーバが対応する認証方式で認証させるためのスクリプトを生成し、生成された前記スクリプトを前記ユーザ装置に対し送信する生成手段と、を備え、
前記ユーザ装置は、
前記仲介サーバから送信された前記スクリプトを実行することで前記連携先となる１つのサービス提供サーバに対応する認証情報入力画面を表示する表示手段と、
前記認証情報入力画面で入力された認証情報、または前記認証情報入力画面での認証情報の入力に応じて前記１つのサービス提供サーバが発行した認証トークンを前記スクリプトにおいて指定された画像処理装置に対し前記ネットワークを介して送信する送信手段と、を備え、
前記画像処理装置は、
前記ユーザ装置が備える送信手段から前記認証情報または前記認証トークンを受信して保存する保存手段と、
前記保存した認証情報または認証トークンを用いて前記１つのサービス提供サーバから認証を受ける認証手段と、を備える
ことを特徴とする情報処理システム。
【請求項２】
前記画像処理装置は、
前記保存手段が前記認証情報または前記認証トークンを保存したことに応じて、前記画像処理装置と前記サービス提供サーバとが連携済みであることを示す情報を前記仲介サーバに直接通知するか、または前記ユーザ装置を介して前記仲介サーバに通知する通知手段を備え、
前記仲介サーバは、
少なくとも前記サービス提供サーバと前記画像処理装置との連携状態を示す連携情報を格納する格納手段と、
前記ユーザ装置からの連携指示入力画面の送信要求に応じて、前記連携指示入力画面を前記格納手段に格納された連携情報に基づいて生成し、生成された前記連携指示入力画面を前記ユーザ装置に表示させる表示手段を備える
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記画像処理装置が備える保存手段は、前記サービス提供サーバが前記画像処理装置の認証に用いる前記認証情報または認証トークンと、ユーザに対応するローカル認証情報との対応情報を保存し、
前記画像処理装置が備える認証手段は、前記保存手段が記憶した前記対応情報を参照して、前記ユーザのローカル認証処理時に用いられる前記ローカル認証情報に対応付けられている前記認証情報または前記認証トークンを含む認証要求を前記サービス提供サーバに対して行う
ことを特徴とする請求項１または請求項２に記載の情報処理システム。
【請求項４】
前記画像処理装置は、さらに、前記保存手段が前記認証トークンを保存している場合に、定期的に前記認証トークンの再交付を前記サービス提供サーバに対して要求し、前記認証トークンが無効となったときに、認証トークンの再発行を前記サービス提供サーバに対して要求するトークン要求手段を備える
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理システム。
【請求項５】
前記仲介サーバは、さらに、
前記ユーザ装置を介して、前記画像処理装置と前記サービス提供サーバとの連携状態の取得要求を前記画像処理装置に対して行う状態要求手段を備え、
前記格納手段は、前記連携状態の取得要求に対する応答として前記ユーザ装置を介して前記画像処理装置から送信される前記連携状態に基づいて、前記格納手段が格納する前記連携情報を更新する
ことを特徴とする請求項２に記載の情報処理システム。
【請求項６】
ユーザ装置の要求に応じたそれぞれのウェブサービスを提供する複数のサービス提供サーバと、前記複数のサービス提供サーバと連携して前記ウェブサービスを利用した画像処理を実行する画像処理装置と、前記複数のサービス提供サーバと連携する際に、前記画像処理装置が用いる認証の情報の提供を仲介する仲介サーバとを備える情報処理システムであって、
前記仲介サーバは、
前記複数のサービス提供サーバのうち１つのサービス提供サーバと前記画像処理装置とを連携させるための連携指示を前記ユーザ装置からネットワークを介して受け付ける受け付け手段と、
前記受け付けられた連携指示を前記画像処理装置に転送する転送手段と、を備え、
前記ユーザ装置は、
前記１つのサービス提供サーバに対応する認証方式で認証させるためのスクリプトを生成した前記画像処理装置から前記スクリプトを受信し、受信した前記スクリプトを前記連携指示が示す連携先となる１つのサービス提供サーバに対し実行することで、前記連携先となる１つのサービス提供サーバに対応する認証情報入力画面を表示する表示手段と、
前記認証情報入力画面で入力された認証情報、または前記認証情報入力画面での認証情報の入力に応じて前記１つのサービス提供サーバが発行した認証トークンを前記スクリプトにおいて指定された画像処理装置に対し前記ネットワークを介して送信する送信手段と、を備え、
前記画像処理装置は、
前記連携指示を受け付けたことに応じて、連携先となる前記１つのサービス提供サーバが対応する認証方式で認証させるためのスクリプトを生成し、生成された前記スクリプトを前記ユーザ装置に対し送信する生成手段と、
前記ユーザ装置が備える送信手段から前記認証情報または前記認証トークンを受信して保存する保存手段と、
前記保存した認証情報または認証トークンを用いて前記１つのサービス提供サーバから認証を受ける認証手段と、を備える
ことを特徴とする情報処理システム。
【請求項７】
ユーザ装置の要求に応じたそれぞれのウェブサービスを提供する複数のサービス提供サーバと、前記複数のサービス提供サーバと連携して前記ウェブサービスを利用した画像処理を実行する画像処理装置とを備える情報処理システムであって、
前記画像処理装置は、
前記複数のサービス提供サーバのうち１つのサービス提供サーバと前記画像処理装置とを連携させるための連携指示を前記ユーザ装置からネットワークを介して受け付ける受け付け手段と、
前記連携指示を受け付けたことに応じて、連携先となる前記１つのサービス提供サーバが対応する認証方式で認証させるためのスクリプトを生成し、生成された前記スクリプトを前記ユーザ装置に対し送信する生成手段と、
認証情報または認証トークンを前記ユーザ装置から受信して保存する保存手段と、
前記保存した認証情報または認証トークンを用いて前記１つのサービス提供サーバから認証を受ける認証手段と、を備え、
前記ユーザ装置は、
前記画像処理装置から前記スクリプトを受信して実行することで、前記連携先となる１つのサービス提供サーバに対応する認証情報入力画面を表示する表示手段と、
前記認証情報入力画面で入力された認証情報、または前記認証情報入力画面での認証情報の入力に応じて前記１つのサービス提供サーバが発行した認証トークンを、前記スクリプトにおいて指定された画像処理装置に対し前記ネットワークを介して送信する送信手段と、を備える
ことを特徴とする情報処理システム。
【請求項８】
ユーザ装置の要求に応じたそれぞれのウェブサービスを提供する複数のサービス提供サーバと連携して前記ウェブサービスを利用した画像処理を実行する画像処理装置であって、
前記複数のサービス提供サーバのうち１つのサービス提供サーバと前記画像処理装置とを連携させるための連携指示を前記ユーザ装置からネットワークを介して受け付ける受け付け手段と、
前記連携指示を受け付けたことに応じて、連携先となる前記１つのサービス提供サーバが対応する認証方式で認証させるためのスクリプトを生成し、生成された前記スクリプトを前記ユーザ装置に対し送信する生成手段と、
前記スクリプトを実行することにより表示される前記連携先となる１つのサービス提供サーバに対応する認証情報入力画面で入力された認証情報、または前記認証情報入力画面での認証情報の入力に応じて前記１つのサービス提供サーバが発行した認証トークンを、前記ユーザ装置から前記ネットワークを介して受信して保存する保存手段と、
前記保存した認証情報または認証トークンを用いて前記１つのサービス提供サーバから認証を受ける認証手段と、を備える、
ことを特徴とする画像処理装置。
【請求項９】
ユーザ装置の要求に応じたそれぞれのウェブサービスを提供する複数のサービス提供サーバと、前記複数のサービス提供サーバと連携して前記ウェブサービスを利用した画像処理を実行する画像処理装置と、前記複数のサービス提供サーバと連携する際に前記画像処理装置が用いる認証の情報の提供を仲介する仲介サーバとを備える情報処理システムの制御方法であって、
前記仲介サーバが、前記複数のサービス提供サーバのうち１つのサービス提供サーバと前記画像処理装置とを連携させるための連携指示を前記ユーザ装置からネットワークを介して受け付ける工程と、
前記仲介サーバが、前記連携指示を受け付けたことに応じて、連携先となる前記１つのサービス提供サーバが対応する認証方式で認証させるためのスクリプトを生成し、生成された前記スクリプトを前記ユーザ装置に対し送信する工程と、
前記ユーザ装置が、前記仲介サーバから送信された前記スクリプトを実行することで前記連携先となる１つのサービス提供サーバに対応する認証情報入力画面を表示する工程と、
前記ユーザ装置が、前記認証情報入力画面で入力された認証情報、または前記認証情報入力画面での認証情報の入力に応じて前記サービス提供サーバが発行した認証トークンを前記スクリプトにおいて指定された画像処理装置に対し前記ネットワークを介して送信する工程と、
前記画像処理装置が、前記ユーザ装置から送信された前記認証情報または前記認証トークンを受信して保存する工程と、
前記画像処理装置が、前記保存した認証情報または認証トークンを用いて前記１つのサービス提供サーバから認証を受ける工程と、を有する
ことを特徴とする制御方法。
【請求項１０】
請求項９に記載の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１１】
外部装置からの提供指示を受けたことに応じてデータの提供を行うウェブサービスをそれぞれが備えた複数のサービス提供サーバと通信可能なユーザ装置であって、
複数のウェブサービスの中から画像処理装置と連携させるウェブサービスを選択するための画面を表示する表示手段と、
前記画面を介して選択されたウェブサービスを有する前記複数のサービス提供サーバのうちの１つのサービス提供サーバが備えた認証サービスを受けるためのアドレスへアクセスする命令が発行され、発行された前記命令を実行することで前記アドレスへアクセスするアクセス手段と、
前記アドレスへアクセスすることで提供された認証画面を介して入力される認証情報を前記サービス提供サーバへ送信する送信手段と、を有し、
送信された前記認証情報に基づく認証処理が成功したことを示す認証トークンは前記画像処理装置に保存されることを特徴とするユーザ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、画像処理装置、制御方法、コンピュータプログラムおよびユーザ装置に関する。
【背景技術】
【０００２】
ユーザが、ユーザ装置が備えるウェブブラウザを用いてウェブアプリケーションにアクセスし、ウェブアプリケーション上でコンテンツを作成、保存するための技術がある。上記のウェブアプリケーションは、ウェブブラウザでデータを作成、保存できるだけでなく、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を用いて第三者のアプリケーションからコンテンツを登録、取得させることもできる。
【０００３】
クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を同時に処理することが主な特徴である。現在、このクラウドコンピューティングを実現するクラウドコンピューティング環境上（以下、クラウド上と記述）にウェブサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。
【０００４】
クラウド上に設けられたサービス提供サーバとして機能するウェブアプリケーションが、ユーザ装置の要求に応じたサービスを提供する情報処理システムが考えられる。この情報処理システムにおいては、ユーザが指定したプリンタ、モバイルデバイスなどの情報処理装置がウェブアプリケーションと連携して、各々のサービスに応じた処理を実行する。例えば、ウェブアプリケーションが、ユーザ装置からの印刷要求に応じて印刷データを生成して保持し、情報処理装置、例えば画像処理装置が、当該印刷データをウェブアプリケーションから取得して印刷出力する。
【０００５】
画像処理装置に実装された第三者のアプリケーションがウェブアプリケーション上の印刷データに対する処理を行うためには、ウェブアプリケーションのＡＰＩに準じた通信を行う必要がある。また、第三者のアプリケーションがＡＰＩを用いてウェブアプリケーションと通信するためには、ウェブアプリケーションに応じた認証方式により認証する必要がある。
【０００６】
ここで、以下のような、ウェブアプリケーションに当該ウェブアプリケーションに応じた認証処理を実行させる従来技術が提案されている。ユーザが、ウェブアプリケーションがサービス提供時の認証処理に用いるユーザＩＤ、パスワードなどの認証情報を画像処理装置が実装する第三者のアプリケーションに直接入力する。そして、第三者のアプリケーションが、例えば、ウェブアプリケーションに対して、この認証情報を含む印刷データの取得要求を行う。ウェブアプリケーションは、印刷データの取得要求に含まれる認証情報を用いて認証処理を実行し、認証に成功した場合は印刷データを画像処理装置に送信する。
【０００７】
また、特許文献１は、ウェブアプリケーションがサービス提供時に実行する認証処理に用いる認証情報を認証要求変換装置が第三者のアプリケーションに転送するシステムを開示する。認証要求変換装置は、ユーザ装置が備えるウェブブラウザからのアクセスに応じて、第三者のアプリケーションにユーザＩＤ、パスワード等の認証情報をＵＲＬパラメーターとして付与してリダイレクトする。この認証要求変換装置を、画像処理装置への認証情報の提供に適用した場合、認証要求変換装置は、画像処理装置による認証情報の取得を仲介する仲介サーバとして機能する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−３１００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、上述したような、ユーザが画像処理装置に実装される第三者のアプリケーションに認証情報を直接入力する従来技術では、認証情報を入力することが非常に煩雑であり、ユーザにとって手間である。また、第三者のアプリケーションが、複数のユーザで共有する共有デバイスに実装された場合は、あるユーザが認証情報を入力している間は、そのユーザが共有デバイスを占有してしまうという課題がある。
【００１０】
また、特許文献１が開示する認証要求変換装置では、以下のような課題がある。まず、認証要求変換装置（仲介サーバ）自身が認証情報を保持するので、仲介サーバが、外部から攻撃を受け、ユーザＩＤ、パスワード等の認証情報が漏えいする。さらに、通信経路において認証情報が盗聴される可能性がある。従って、仲介サーバが認証情報を保持することなく、かつ、ユーザが認証情報を画像処理装置に直接入力することなく、画像処理装置に認証情報を取得させる情報処理システムが必要である。
【００１１】
本発明は、仲介サーバが認証情報を保持することなく、かつ、ユーザが認証情報を画像処理装置に直接入力することなく、サービス提供サーバと連携する画像処理装置に認証情報を取得させる情報処理システムの提供を目的とする。
【課題を解決するための手段】
【００１２】
本発明の一実施形態の情報処理システムは、ユーザ装置の要求に応じたそれぞれのウェブサービスを提供する複数のサービス提供サーバと、前記複数のサービス提供サーバと連携して前記ウェブサービスを利用した画像処理を実行する画像処理装置と、前記複数のサービス提供サーバと連携する際に前記画像処理装置が用いる認証の情報の提供を仲介する仲介サーバとを備える情報処理システムであって、前記仲介サーバは、前記複数のサービス提供サーバのうち1つのサービス提供サーバと前記画像処理装置とを連携させるための連携指示を前記ユーザ装置からネットワークを介して受け付ける受け付け手段と、前記連携指示を受け付けたことに応じて、連携先となる前記１つのサービス提供サーバが対応する認証方式で認証させるためのスクリプトを生成し、生成された前記スクリプトを前記ユーザ装置に対し送信する生成手段とを備える。前記ユーザ装置は、前記仲介サーバから送信された前記スクリプトを実行することで前記連携先となる１つのサービス提供サーバに対応する認証情報入力画面を表示する表示手段と、前記認証情報入力画面で入力された認証情報、または前記認証情報入力画面での認証情報の入力に応じて前記１つのサービス提供サーバが発行した認証トークンを前記スクリプトにおいて指定された画像処理装置に対し前記ネットワークを介して送信する送信手段とを備える。また、前記画像処理装置は、前記ユーザ装置が備える送信手段から前記認証情報または前記認証トークンを受信して保存する保存手段と、前記保存した認証情報または認証トークンを用いて前記１つのサービス提供サーバから認証を受ける認証手段とを備える。
【発明の効果】
【００１３】
本実施形態の情報処理システムによれば、仲介サーバが認証情報を保持することなく、サービス提供サーバと連携する画像処理装置に認証情報を取得させることができる。従って、仲介サーバにとって、認証情報の漏洩を防止できるとともに、仲介サーバと外部装置との通信経路における認証情報の盗聴を防止できる。
【００１４】
また、本実施形態の情報処理システムによれば、ユーザが認証情報を画像処理装置に直接入力することなく、サービス提供サーバと連携する画像処理装置に認証情報を取得させることができる。従って、ユーザにとって、自身が認証情報を画像処理装置に直接入力するという手間がなくなる。さらに、ユーザによる共有連携デバイスの占有を避けることができる。
【図面の簡単な説明】
【００１５】
【図１】実施例１のシステム構成例を示す図である。
【図２】連携システムを構成する各装置のハードウェア構成を示す図である。
【図３】連携システムを構成する各装置のソフトウェア構成を示す図である。
【図４】連携デバイスの制御ソフトウェアが実現する機能を示す図である。
【図５】仲介サービスが実現する機能を示す図である。
【図６】ウェブアプリケーションが実現する機能を示す図である。
【図７】ＯＡｕｔｈ認証方式およびＢａｓｉｃ認証方式のスクリプトの例を示す図である。
【図８】連携デバイスをウェブアプリケーションと連携させる各画面を示す図である。
【図９】連携デバイス、仲介サービス、およびウェブアプリケーションの各々が保持するテーブルを示す図である。
【図１０】仲介サービスを介してウェブアプリケーションの認証情報を連携デバイスに保存させる処理を示すシーケンス図である。
【図１１】実施例２における仲介サービスおよび連携デバイスのソフトウェア構成を示す図である。
【図１２】仲介サービスが連携デバイスのウェブアプリケーションとの連携状態をウェブブラウザを介して取得する処理を示すシーケンス図である。
【図１３】ウェブブラウザが仲介サービスを利用してウェブアプリケーションの認証情報を連携デバイスに保存させる処理を示すシーケンス図である。
【図１４】連携デバイスが表示するウェブアプリケーション一覧画面を示す図である。
【図１５】ウェブブラウザが直接連携デバイスにアクセスすることで、ウェブアプリケーションの認証情報を連携デバイスに保存させる処理を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
図１は、本発明の実施例１のシステム構成例を示す。連携システム１０００は、本実施形態の情報処理システムである。連携システム１０００は、クライアントコンピュータ１０４、連携デバイス１０１を備える。クライアントコンピュータ１０４と連携デバイス１０１とは、ユーザ環境に配置された装置であり、ネットワーク１００を介して互いに接続されている。ネットワーク１００はインターネット１１０に接続されている。
【００１７】
また、連携システム１０００は、アプリケーションサーバ１０３および仲介サーバ１０２を備える。アプリケーションサーバ１０３および仲介サーバ１０２はそれぞれネットワーク１００に接続されており、ネットワーク１００はインターネット１１０に接続されている。連携システム１０００を構成する各装置および各サーバ群は、インターネット１１０を介して接続可能であり、互いにデータ通信することができる。なお、図１に示す各装置は１台のみであるが複数台あっても良い。
【００１８】
サーバ図２は、連携システム１０００を構成する各装置のハードウェア構成例を示す。各装置２０１は、連携システム１０００を構成する。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２は、各種プログラムを実行し、様々な機能を実現するユニットである。
【００１９】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３は、各種プログラムを記憶するユニットである。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０４は、ＣＰＵ２０２の一時的な作業記憶領域として機能する記憶手段である。ＣＰＵ２０２は、ＲＯＭ２０３に記憶されているプログラムをＲＡＭ２０４にロードしプログラムを実行する。Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０５は、各装置、および各サーバ群に接続されているディスプレイ（不図示）にデータを送信する。
【００２０】
また、Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０５は、ポインティングデバイス（不図示）からデータを受信する。ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２０６は、連携システム１０００を構成する各装置をネットワーク１００に接続する。各ユニットは、バス２０７を介してデータの送受信を行うことが可能である。
【００２１】
また、連携デバイス１０１は、本実施形態の画像処理装置である。連携デバイス１０１は、例えば画像形成装置である。連携デバイス１０１が画像形成装置である場合、連携デバイス１０１は印刷ユニット（不図示）を搭載しており、印刷ユニットは、バス２０７を介して各ユニットとデータを送受信することが可能である。なお、印刷ユニットは、ラスタイメージを記録媒体に印刷することが可能である。
【００２２】
各装置および各サーバが有する機能について説明する。図３は、連携システム１０００を構成する各装置のソフトウェア構成例を示す。図３に示す各ソフトウェアの機能を実現するプログラムは、各装置および各サーバのＲＯＭ２０３に記憶されている。ＣＰＵ２０２は、ＲＡＭ２０４にプログラムをロードし実行することで、これらの機能を実現する。
【００２３】
次に、図４を参照して連携デバイス１０１の各機能を説明する。表示部４０１は、各種画面を表示する。アプリケーション連携部４０２は、ウェブアプリケーション３０３と連携するための機能を実装したアプリケーションである。アプリケーション連携部４０２は、ＡＰＩを利用して、ウェブアプリケーション３０３上のコンテンツを登録、読み込み、変更、または削除などの処理を行う。アプリケーション連携部４０２は、ウェブアプリケーション３０３に登録するコンテンツや、処理途中のコンテンツをコンテンツ保持部４０９に保持する。
【００２４】
ジョブ管理部４０３は、連携デバイス１０１の機能を呼び出す指示をアプリケーション連携部４０２から受け、該指示をジョブとして管理する。また、ジョブ管理部４０３は、表示部４０１でユーザが直接指示したジョブも管理する。例えば、連携デバイス１０１が画像形成装置であった場合は、印刷ジョブやスキャンジョブを管理する。
【００２５】
処理実行部４０４は、連携デバイス１０１が持つ特有の機能を実行する。例えば、連携デバイス１０１が画像形成装置であった場合は、印刷やスキャンを実行する。ウェブ応答部４０６は、ウェブブラウザ３０４からアクセスされた際に、アクセスしたユーザが正当なユーザかどうかを判別するためにローカル認証部４０５を呼び出す。ローカル認証部４０５で行われる認証は、ウェブアプリケーション３０３への認証とは別のローカルネットワーク内での認証である。
【００２６】
本実施例ではローカルネットワーク内での認証情報を、ウェブアプリケーション３０３の認証情報と区別するためにローカル認証情報と呼ぶ。ローカル認証部４０５は、ウェブ応答部４０６へのアクセスの際に、例えばフォーム認証により認証を行う。フォーム認証とは、ユーザ名、パスワードを入力させる認証方式のことであり、連携デバイス１０１へのログイン方法として基本的な方法である。ローカル認証部４０５はその他の認証方式に対応してもよいが、本発明では認証方式は問わないため、詳細は省略する。
【００２７】
ウェブ応答部４０６は、ローカル認証部４０５から正当なユーザであると応答を取得した場合に、ウェブブラウザ３０４に対してウェブ応答を行う。また、ローカル認証部４０５は、ウェブブラウザ３０４からアクセスされた際に、ＵＲＬパラメーターを解析して認証情報を取得する。本実施例において、認証情報とは、ユーザＩＤ、パスワードのペア、もしくは認証トークンのことである。認証トークンとは、ユーザＩＤ、パスワード等の認証情報を入力する認証処理を行うことなく、あらゆるサービス、もしくはサービスの一部を受けることができる情報である。また、ウェブ応答部４０６はローカル認証部４０５からローカルユーザＩＤを取得し、受け取った認証情報をローカルユーザＩＤに紐づけて認証情報保持部４０７の保持する認証情報テーブル９００に保存する。
【００２８】
図９（Ａ）を用いて、認証情報保持部４０７が保持する認証情報テーブル９００について詳細に述べる。ローカルユーザＩＤ９０１は、前述のローカルネットワーク内の認証に使用されるユーザＩＤである。このローカルユーザＩＤは、連携デバイス１０１へのログイン時に使われるＩＤであってもよい。サービスＩＤ９０２は、ウェブアプリケーション３０３を識別するためのＩＤである。
【００２９】
認証情報保持部４０７が保持する認証情報は、ユーザＩＤ９０３およびパスワード９０４または認証トークン９０５を参照し、どのウェブアプリケーションに対する認証情報なのかを識別するために使用される。ユーザＩＤ９０３は、ウェブアプリケーション３０３のユーザＩＤである。パスワード９０４は、ウェブアプリケーション３０３のパスワードである。認証トークン９０５は、ウェブアプリケーション３０３と通信するために使用される認証トークンのことである。
【００３０】
すなわち認証情報保持部４０７は、ウェブアプリケーション３０３が連携デバイス１０１の認証に用いる認証情報または認証トークンと、ユーザに対応するローカル認証情報（ローカルユーザＩＤ）との対応情報を保存する。ローカルユーザＩＤは、ユーザのローカル認証処理時に用いられる。
【００３１】
そして、アプリケーション連携部４０２は、認証情報保持部４０７が記憶した当該対応情報を参照して、ローカルユーザＩＤに対応付けられている認証情報または認証トークンを含む認証要求（コンテンツ取得要求）をＡＰＩ通信部４０８に渡す。ＡＰＩ通信部４０８は、受け取った該認証要求をウェブアプリケーションに対して送信する。これにより、複数のユーザが連携デバイスを利用してウェブアプリケーションからウェブサービスの提供を受ける際に、連携デバイスは、各々のユーザのローカル認証情報に対応付けられている認証情報または認証トークンを用いた認証を受けることができる。その結果、ユーザによる共有連携デバイスの占有を避けることが可能となる。
【００３２】
ＡＰＩ通信部４０８は、アプリケーション連携部４０２に呼び出され、ウェブアプリケーション３０３のＡＰＩ通信部６０２と通信する。これによりアプリケーション連携部４０２は、ウェブアプリケーション３０３のコンテンツに対する操作を行う。コンテンツ保持部４０９は、ＡＰＩ通信部４０８でウェブアプリケーション３０３から取得したコンテンツをアプリケーション連携部４０２を介して保持する。
【００３３】
図５は、仲介サービス３０２の各機能を示す。ウェブ応答部５０１は、クライアントコンピュータ１０４のウェブブラウザ３０４からのアクセスに対して、ウェブ応答を行う。制御部５０２は、ウェブ応答部５０１から呼び出されたことに起因してスクリプト生成部５０３、連携デバイス情報格納部５０４またはサービス情報格納部５０５を呼び出す。
【００３４】
連携デバイス情報格納部５０４は、図９（Ｃ）に示す連携デバイステーブル９２０を保持する。すなわち制御部５０２および連携デバイス情報格納部５０４は、ウェブアプリケーション３０３と連携デバイス１０１との連携状態を示す連携情報を格納する格納手段として機能する。連携デバイステーブル９２０において、デバイスＩＤ９２１は、連携デバイス１０１を一意に特定するためのＩＤである。ＩＰアドレス９２２は、連携デバイス１０１のローカルネットワークにおけるＩＰアドレスである。デバイス名９２３は、ユーザが連携デバイス１０１を選択する際にウェブブラウザ３０４に表示させる名前である。
【００３５】
また、ＳｅｒｖｉｃｅＡ９２４、ＳｅｒｖｉｃｅＢ９２５はサービスＩＤであり、各サービスＩＤに対して連携デバイス１０１が連携状態になっているか否かを示す。本実施例では、連携デバイス１０１が各サービスＩＤと連携状態になっているか否かは連携デバイスごとに保持するする。しかし、仲介サービス３０２がローカルネットワーク認証と連携してローカル認証情報と紐づけて保持してもよい。図９（Ｃ）における連携デバイス情報は一例であり、例えば連携デバイスの位置情報、機種情報など、どのような情報を保持してもよい。
【００３６】
サービス情報格納部５０５は、図９（Ｂ）に示すようにウェブアプリケーション３０３に関する情報を保持する。図９（Ｂ）に示される、サービスＩＤ９１１はウェブアプリケーション３０３を特定するためのＩＤである。また、サービス名９１２はウェブアプリケーション３０３の表示名であり、図８（Ａ）に示すＵＩでユーザが連携先のウェブアプリケーション３０３を選択する際に表示される。
【００３７】
認証方式９１３は、ウェブアプリケーション３０３ごとに定義される認証方式のことである。本実施例においては、ＯＡｕｔｈ方式、Ｂａｓｉｃ方式を挙げているが、その他の認証方式を保持してもよい。スクリプト生成部５０３は、ウェブ応答部５０１がウェブブラウザ３０４に応答するためのスクリプトを生成する。スクリプト生成部５０３は、ユーザが図８（Ａ）で選択したサービスの認証方式をサービス情報格納部５０５から取得し、認証方式に従ったスクリプトを生成する。
【００３８】
図７（Ａ）はＯＡｕｔｈ認証方式であった場合のスクリプトの一例である。本スクリプトは、ウェブアプリケーション３０３の提供するＯＡｕｔｈ認証画面にリダイレクトするためのスクリプトである。ここで、ｃａｌｌｂａｃｋ＿ｕｒｌとはＯＡｕｔｈ認証により取得した認証トークンをＵＲＬパラメーターとしてリダイレクトする先のＵＲＬのことである。本実施例においては、仲介サービス３０２は認証情報を取得しないため、直接連携デバイス１０１のＩＰ  Ａｄｄｒｅｓｓを指定する。このＩＰ  Ａｄｄｒｅｓｓはスクリプト生成部５０３が連携デバイス情報格納部５０４を参照することで取得し、スクリプトに埋め込む。
【００３９】
図７（Ｂ）はＢａｓｉｃ認証方式であった場合のスクリプトの一例である。本スクリプトは、ウェブアプリケーション３０３の認証情報を入力するためのダイアログを提示し、ダイアログに入力されたユーザ情報とパスワードをＵＲＬパラメーターとして連携デバイス１０１にリダイレクトするためのスクリプトである。リダイレクト先のＵＲＬは、連携デバイス１０１のＩＰ  Ａｄｄｒｅｓｓを基に生成される。スクリプト生成部５０３は、連携デバイス情報格納部５０４を参照することで連携デバイス１０１のＩＰ  Ａｄｄｒｅｓｓを取得する。
【００４０】
図７（Ａ）および図７（Ｂ）のスクリプトに示すように、スクリプト生成部５０３は、アプリケーションサーバごとの認証方式に応じたスクリプトを生成する。制御部５０２は、認証方式に対応するスクリプトをウェブ応答部５０１に渡す。ウェブ応答部５０１は該スクリプトをウェブブラウザ３０４に送信する。すなわちスクリプト生成部５０３およびウェブ応答部５０１は、連携先のウェブアプリケーションに対応する認証方式で認証させるためのスクリプトを生成してウェブブラウザ３０４に送信する生成手段として機能する。
【００４１】
図６は、ウェブアプリケーション３０３の各機能を示す。ＡＰＩ通信部６０２は、連携デバイス１０１のＡＰＩ通信部４０８からの要求に従って制御部６０４を呼び出す。具体的には、連携デバイス１０１の連携アプリケーション部４０２が、ＡＰＩ通信部４０８を介して、ウェブアプリケーション３０３に対して、コンテンツ取得要求を行う。コンテンツ取得要求は、ウェブアプリケーション３０３が保持するコンテンツデータの取得を求める要求である。本実施例において、ＡＰＩ通信部６０２の通信はＨＴＴＰ通信である。ＡＰＩ通信部４０８は、コンテンツ取得要求に対応するＨＴＴＰ通信パケットのＨＴＴＰヘッダーに、ユーザの認証情報または認証トークンを設定する。
【００４２】
ＡＰＩ通信部６０２は制御部６０４を呼び出すとき、ＨＴＴＰヘッダーから認証情報または認証トークンを取得して、制御部６０４に渡す。制御部６０４は、ＡＰＩ通信部６０２から受け取った認証情報または認証トークンを用いて、ユーザの認証処理を実行する。認証処理の結果、認証が成功すると、制御部６０４は、コンテンツ取得要求に対応するコンテンツデータを含む応答を生成してＡＰＩ通信部６０２に渡す。ＡＰＩ通信部６０２は、制御部６０４から受け取った応答を、連携デバイス３０１のＡＰＩ通信部４０８に返す。すなわち、ＡＰＩ通信部４０８およびアプリケーション連携部４０２は、保存している認証情報または認証トークンを用いてウェブアプリケーション３０３から認証を受ける認証手段として機能する。
【００４３】
ウェブ応答部６０１は、クライアントコンピュータ１０４のウェブブラウザ３０４からの要求に従って制御部６０４を呼び出す。このとき、ウェブ応答部６０１は、ＨＴＴＰヘッダーから認証情報を取得して制御部６０４に渡す。続いて、ウェブ応答部６０１は、制御部６０４によって生成された応答を返す。
【００４４】
制御部６０４は、認証情報の正当性を検証するために認証部６０５を呼び出す。認証部６０５は、図９（Ｅ）に示す認証情報テーブル９４０を保持する。認証情報テーブル９４０には、ウェブアプリケーション３０３に登録されたユーザのユーザＩＤ、パスワードのペアが格納されている。認証部６０５は、ユーザＩＤ、パスワードのペアが正当である場合には、検証結果を可として制御部６０４に応答する。認証部６０５は、正当でなかった場合には、検証結果を不可として制御部６０４に応答する。
【００４５】
また、制御部６０４は、認証トークンの正当性を検証するためにも認証部６０５を呼び出す。認証トークンは、ウェブ応答部６０１にＯＡｕｔｈ認証要求が行われた際に認証部６０５が発行する認証トークンである。認証部６０５は、図９（Ｄ）に示す認証トークンテーブル９３０を保持しており、呼び出し元アプリケーションＩＤと、認証トークンが一致することを確認することで、認証トークンの正当性を検証する。
【００４６】
認証部６０５は、認証トークンが正当な場合は、検証結果を可として制御部６０４に応答する。ＡＰＩ通信部６０２は、制御部６０４から該検証結果を受け取り、ＡＰＩ通信部４０８に応答する。認証部６０５は、認証トークンが正当でない場合は、検証結果を不可として制御部６０４に応答する。ＡＰＩ通信部６０２は、制御部６０４から該検証結果を受け取り、ＡＰＩ通信部４０８に応答する。
【００４７】
ＡＰＩ通信部６０２は制御部６０４を呼び出す。このとき、制御部６０４は、ＡＰＩ通信部６０２から認証情報を受け取る。制御部６０４は、認証部６０５に該認証情報を渡し、認証情報の正当性を確認させる。認証部６０５による検証結果が可であった場合、制御部６０４は、ＡＰＩ通信部６０２を介して受け取ったＡＰＩ通信部４０８からの要求応じてコンテンツ格納部６０３のコンテンツを登録、取得、変更、または削除する。続いて、ＡＰＩ通信部６０２に結果を返す。検証結果が不可であった場合は、ＡＰＩ通信部６０２にエラーレスポンスを返す。
【００４８】
また、ウェブ応答部６０１は、コンテンツを操作するために制御部６０４を呼び出す。このとき、ウェブ応答部６０１から認証情報を受け取る。制御部６０４は、認証部６０５に認証情報の正当性を確認させる。認証部６０５による検証結果が可であった場合、ウェブブラウザ３０４上でのユーザによる操作に従ってコンテンツ格納部６０３のコンテンツを登録、取得、変更、また削除し、操作結果を送信する。検証結果が不可であった場合、ウェブ応答部６０１に検証に失敗したことを示すエラーレスポンスを返し、再認証を促す。また、ウェブ応答部６０１は、ＯＡｕｔｈ認証の応答を生成させるために制御部６０４を呼び出す。このとき、制御部６０４は、ウェブ応答部６０１から認証情報とアプリケーションＩＤ、ｃａｌｌｂａｃｋ＿ｕｒｌを受け取る。
【００４９】
制御部６０４は、認証部６０５に認証情報の正当性を確認させる。認証部６０５による検証結果が可であった場合、図８（Ｂ）の認可画面８０２を生成し、ウェブ応答部６０１に返す。ウェブ応答部６０１は、クライアントコンピュータ１０４のウェブブラウザ３０４上の認可画面８０２にてＯＫボタンが押下されると、再びウ制御部６０４を呼び出す。続いて、認証部６０５は、制御部６０４から指示を受け認証情報とアプリケーションＩＤに応じた認証トークンを生成し、ｃａｌｌｂａｃｋ＿ｕｒｌに対して認証トークンをＵＲＬパラメーターとしてリダイレクトする応答をウェブ応答部６０１に返す。このとき、認証部６０５は生成した認証トークンをアプリケーションＩＤと紐付けて認証トークンテーブル９３０に保存する。
【００５０】
認可画面８０２にて、ユーザによりＣａｎｃｅｌボタンが押下されると、制御部６０４はキャンセルされた旨を示す画面（不図示）を生成し、生成された画面をウェブ応答部６０１に返す。また、検証結果が不可だった場合、制御部６０４はウェブ応答部６０１に検証に失敗したことを示す画面（不図示）を返し、再認証を促す。
【００５１】
次に、ウェブブラウザ３０４が仲介サービス３０２にアクセスし、連携デバイス１０１に認証情報を登録する処理について図１０を用いて説明する。
【００５２】
まず、前提として事前に連携デバイス１０１のデバイスＩＤ、ＩＰアドレス、デバイス名が仲介サービス３０２に登録されているものとする。この登録は、連携デバイス１０１が自動的に行ってもよいし、ユーザがウェブブラウザを用いて手動で登録してもよい。
【００５３】
Ｓ１００１でウェブブラウザ３０４は、仲介サービス３０２のウェブ応答部５０１に連携デバイス一覧要求を行う。連携デバイス一覧要求は、連携指示入力画面の送信要求として機能する。ウェブ応答部５０１は、制御部５０２を呼び出す。呼び出された制御部５０２は、連携デバイス一覧画面を生成する。制御部５０２は、連携デバイス情報格納部５０４の連携デバイステーブル９２０を参照することで連携デバイス一覧画面を生成する。このとき生成され、ウェブブラウザ３０４に表示させる画面は、例えば図８（Ａ）に示す画面である。図８（Ａ）に示す連携デバイス一覧画面において、ユーザは連携デバイスの一覧を確認することができ、ウェブアプリケーションとの連携指示を行うことができる。
【００５４】
Ｓ１００２で、仲介サービス３０２のウェブ応答部５０１は、Ｓ１００１で制御部５０２が生成した連携デバイス一覧画面を、連携デバイス一覧要求に対する応答としてウェブブラウザ３０４に返す。
【００５５】
Ｓ１００３で、ユーザがウェブブラウザ３０４上で図８（Ａ）の連携ボタン８０５を押下すると、ウェブブラウザ３０４は仲介サービス３０２のウェブ応答部５０１に対しサービス連携指示を行う。このとき、押下した連携ボタンに対応するサービスに対して連携指示が行われる。なお、制御部５０２は、押下されたボタンに対応したウェブアプリケーションの認証方式がＯＡｕｔｈ認証方式であった場合にはＳ１００４へ、Ｂａｓｉｃ認証方式であった場合にはＳ１０１３へ処理を分岐させる。
【００５６】
Ｓ１００３で、ユーザがサービスＢと連携させるデバイスＢの連携ボタンを押下した場合、Ｓ１００４に進む。Ｓ１００４で、仲介サービス３０２のウェブ応答部５０１は、連携指示を受け取る。すなわちウェブ応答部５０１は、ウェブアプリケーション３０３と連携デバイス１０１との連携指示をネットワークを介して受け付ける受け付け手段として機能する。ウェブ応答部５０１は、連携指示を受け付けたことに起因して制御部５０２を呼び出す。制御部５０２は、連携デバイス情報格納部を呼び出し、図９（Ｂ）に示すウェブアプリケーション３０３に関する情報を参照する。制御部５０２は、ウェブアプリケーション３０３に応じた認証方式がＯＡｕｔｈ認証方式であった場合にスクリプト生成部５０３を呼び出す。
【００５７】
Ｓ１００４で、仲介サービスのスクリプト生成部５０３は、ＯＡｕｔｈ認証方式のためのスクリプトを生成し、制御部５０２に渡す。制御部５０２は、生成されたスクリプトをウェブ応答部５０１に渡す。本実施例において、スクリプト生成部５０３は、例えば図７（Ａ）に示すスクリプトを生成する。このとき、スクリプト生成部５０３がｃａｌｌｂａｃｋ＿ｕｒｌとして連携デバイス１０１のＩＰアドレスを指定するスクリプトを生成することにより、ウェブブラウザ３０４は認証トークン付きのリダイレクト指示を連携デバイス１０１に送ることができる。Ｓ１００５で、ウェブ応答部５０１は、制御部５０２から受け取ったスクリプトを応答としてウェブブラウザ３０４に送信する。
【００５８】
Ｓ１００６で、ウェブブラウザ３０４はスクリプトを実行する。本実施例では、ウェブブラウザ３０４は、あらかじめスクリプトを受け取ると即座に実行するように構成されている。ウェブブラウザ３０４側でスクリプトを即座に実行する構成は、当業者には公知技術である。ウェブブラウザ３０４は、図７（Ａ）のスクリプトを実行し、ウェブアプリケーション３０３のウェブ応答部６０１に認可要求を行う。
【００５９】
Ｓ１００７で、ウェブアプリケーション３０３のウェブ応答部６０１は、ウェブブラウザ３０４から認可要求を受け取ると制御部６０４を呼び出す。制御部６０４は、認証部６０５に認可要求の正当性を確認させる。すなわち、制御部６０４は、ウェブブラウザ３０４がウェブアプリケーション３０３にログインしているか否かを確認する。ログインしている場合に、認証部６０５は検証結果が可であると判定し、図８（Ｂ）に示す画面（本実施例では認可画面８０２と呼ぶ）を生成し、ウェブ応答部６０１に返す。
【００６０】
また、検証結果が不可と判定した場合、制御部６０４は、ウェブ応答部６０１に検証に失敗したことを示す画面を返すとともに、再認可を促す。なお、再認可を行う場合、例えばログインしていない場合等においては、不図示の再認可画面にてユーザがユーザＩＤ、パスワードを入力することで再認可を行う。続いて、ウェブアプリケーション３０３のウェブ応答部６０１は認可画面８０２をウェブブラウザ３０４に送信する。
【００６１】
Ｓ１００８で、ウェブブラウザ３０４上で図８（Ｂ）に示す認可画面８０２が示される。本実施例において、認可画面８０２は認証情報入力画面とも呼ぶ。ユーザが認可画面８０２に示すＯＫボタンを押下すると、ウェブブラウザ３０４は、ウェブアプリケーション３０３のウェブ応答部６０１に認可指示を行う。Ｃａｎｓｅｌボタンが押下された場合は、Ｓ１００９のトークン発行処理を行わない。
【００６２】
Ｓ１００９で、ウェブアプリケーション３０３のウェブ応答部６０１は、ウェブブラウザ３０４から認可指示を受け取る。認可指示を受け取った応答部６０１は制御部６０４を呼び出す。制御部６０４は、ウェブ応答部６０１からＯＡｕｔｈ認証に対する応答を生成するために呼び出される。このとき、ウェブ応答部６０１から認証情報とアプリケーションＩＤ、ｃａｌｌｂａｃｋ＿ｕｒｌを受け取る。続いて、制御部６０４は、認証情報とアプリケーションＩＤに対応させた認証トークンを生成し、ｃａｌｌｂａｃｋ＿ｕｒｌに対して生成された認証トークンをＵＲＬパラメーターとしてリダイレクト指示させる応答をウェブ応答部６０１に返す。
【００６３】
ウェブ応答部６０１は、例えば図７（Ａ）に示すように、“ｈｔｔｐ：／／１９２．１６８．０．２？ＡｕｔｈＴｏｋｅｎ＝１ｄ０４ｏｔｋｂｍｒｌｄｏｈｎｎ”といった形式で認証トークンをＵＲＬパラメーターとしてリダイレクト指示する。このとき、認証部６０５は、生成した認証トークンをアプリケーションＩＤと関連付けて認証トークンテーブル９３０に保存する。
【００６４】
Ｓ１０１０で、ウェブアプリケーション３０３のウェブ応答部６０１は、ウェブブラウザ３０４にＳ１００９で生成した認証トークンを連携デバイス１０１にリダイレクトさせる応答を返す。
【００６５】
Ｓ１０１１で、ウェブブラウザ３０４は、Ｓ１０１０のリダイレクト指示に従って連携デバイス１０１のウェブ応答部４０６に認証トークンを送信する。
【００６６】
Ｓ１０１２で、連携デバイス１０１のウェブ応答部４０６は、ローカル認証部４０５を呼び出す。ウェブ応答部４０６は、ローカル認証部４０５が正当なユーザであると応答した場合には、下記の処理を行ったのち、ウェブ応答を行う。連携デバイス１０１のウェブ応答部４０６は、ＵＲＬパラメーターを解析して、認証情報として認証トークンを取得する。また、ウェブ応答部４０６は、ローカル認証部４０５からローカルユーザＩＤを取得し、受け取った認証トークンをローカルユーザＩＤとサービスＩＤに紐づけて認証情報保持部４０７の保持する認証情報テーブル９００に保存する。
【００６７】
連携デバイス１０１を複数のユーザが使用する場合、別ユーザが保存した認証トークンを使用できないようにする必要がある。上述の仕組みより、認証トークンをローカルユーザＩＤとサービスＩＤに紐づけて管理することができ、ユーザビリティーが向上する。
【００６８】
なお、本実施例においてはローカルネットワーク内で認証を行うように記載しているが、一人のユーザだけが連携デバイス１０１を使用する場合、ローカルネットワーク内での認証は必要ないため、ローカル認証情報と紐づけて保存しなくともよい。
【００６９】
ユーザが、図８（Ａ）に示す画面にて、サービスＡと連携させるデバイスＢの連携ボタンを押下した場合、Ｂａｓｉｃ認証方式が用いられる。Ｓ１０１３において、仲介サービスのスクリプト生成部５０３はＢａｓｉｃ認証方式のためのスクリプトを生成し、生成されたスクリプトを制御部５０２に渡す。制御部５０２は、受け取ったスクリプトをウェブ応答部５０１に渡す。本実施例において、スクリプト生成部５０３は、例えば図７（Ｂ）のようなスクリプトを生成する。スクリプト生成部５０３がリダイレクト先ＵＲＬとして連携デバイス１０１のＩＰアドレスを指定することで、ウェブブラウザ３０４はウェブアプリケーション３０３のユーザＩＤ、パスワードを連携デバイス１０１に送ることができる。
【００７０】
Ｓ１０１４で、ウェブブラウザ３０４はスクリプト生成部５０３が生成したスクリプトを受信する。Ｓ１０１５で、ウェブブラウザ３０４はスクリプトを実行する。上述したように、一般的に、ウェブブラウザ３０４はあらかじめスクリプトを受け取ると即座に実行する。ウェブブラウザ３０４は、図７（Ｂ）のスクリプトを実行した結果、図８（Ｃ）に示す認証情報入力画面８０３を表示する。
【００７１】
ウェブブラウザ３０４は、スクリプトを実行することで上述した図８（Ｂ）に示す認可画面８０２、または図８（Ｃ）に示す認証情報入力画面８０３を表示する。すなわちウェブブラウザ３０４は、スクリプトを実行することで連携先のウェブアプリケーション３０３に対応する認証情報入力画面を表示する表示手段として機能する。
【００７２】
Ｓ１０１６で、ユーザは、認証情報入力画面８０３でユーザＩＤ、パスワードを入力する。Ｓ１０１７で、ユーザが認証情報入力画面８０３に示すＯＫボタンを押下すると、ウェブブラウザ３０４はユーザＩＤ、パスワードをＵＲＬパラメーターとして連携デバイス１０１のウェブ応答部４０６へのリダイレクト指示が送信する。
【００７３】
ウェブブラウザ３０４は、上述したようにユーザが認可画面８０２に示すＯＫボタンを押下した場合は認証トークンを送信する。またウェブブラウザ３０４は、認証情報入力画面８０３に示すＯＫボタンを押下した場合はユーザＩＤ、パスワードをウェブ応答部４０６に送信する。すなわち、ウェブブラウザ３０４は、認証情報入力画面で入力された入力情報、または認証情報入力画面での認証情報の入力に応じてウェブアプリケーション３０３が発行した認証トークンを送信する送信手段として機能する。
【００７４】
Ｓ１０１８で、連携デバイス１０１のウェブ応答部４０６はローカル認証部４０５を呼び出す。ウェブ応答部４０６は、ローカル認証部４０５が正当なユーザであると応答した場合には、下記の処理を行ったのち、ウェブ応答を行う。連携デバイス１０１のウェブ応答部４０６は、ＵＲＬパラメーターを解析して、認証情報としてユーザＩＤ、パスワードのペアを取得する。また、ウェブ応答部４０６はローカル認証部４０５からローカルユーザＩＤを取得し、受け取ったユーザＩＤ、パスワードのペアをローカルユーザＩＤとサービスＩＤに紐づけて認証情報保持部４０７の保持する認証情報テーブル９００に保存する。なお、本実施例においてはローカルネットワーク内で認証を行うように記載しているが、一人のユーザが連携デバイス１０１を使用する場合、ローカルネットワーク内での認証は必要ないため、ローカル認証情報と紐づけて保存しなくともよい。
【００７５】
Ｓ１０１９で、連携デバイス１０１のウェブ応答部４０６は、ウェブブラウザ３０４に対して仲介サービス３０２へのリダイレクト指示を行う。このリダイレクト指示は、認証トークンまたはユーザＩＤ、パスワードのペアが連携するサービスと連携済みであることを通知する連携情報を含む。該連携情報は、連携デバイス１０１から連携対象のサービスを仲介サービス３０２に直接通知してもよい。すなわちウェブ応答部４０６は、連携デバイス１０１とウェブアプリケーション３０３が連携済みであることを示す情報を通知する通知手段として機能する。
【００７６】
Ｓ１０２０で、ウェブブラウザ３０４は、Ｓ１０１９のリダイレクト指示に従って、仲介サービス３０２のウェブ応答部５０１へ認証情報をリダイレクトする。
【００７７】
Ｓ１０２１で、仲介サービス３０２のウェブ応答部５０１は制御部５０２を呼び出す。上述したように、ウェブ応答部５０１は、連携デバイス１０１とウェブアプリケーション３０３が連携済みである連携情報を含む。制御部５０２は、この連携情報に基づいて図８（Ｄ）に示す連携デバイス一覧画面８０４を生成する。このとき、本実施例で説明したフローにより認証情報を登録させたサービスに関しては、連携済みであることを示す表示を行う。すなわち制御部５０２は、連携指示入力画面を生成してウェブアプリケーション３０３に表示させる表示手段として機能する。ウェブ応答部５０１は、制御部５０２が生成した連携デバイス一覧画面８０４をウェブブラウザ３０４に送信する。
【００７８】
以上述べたように、実施例１では、仲介サービス３０２がウェブアプリケーション３０３の認証情報を取得することなく、連携デバイス１０１にウェブアプリケーション３０３の認証情報を取得させることができる。従って、仲介サーバにとって、認証情報の漏洩を防止できるとともに、仲介サーバと外部装置との通信経路において認証情報が盗聴される可能性もなくなる。また、実施例１の情報処理システムによれば、ユーザが認証情報を画像処理装置に直接入力することなく、サービス提供サーバと連携する画像処理装置に認証情報を取得させることができる。従って、ユーザにとって、自身が認証情報を画像処理装置に直接入力するという手間がなくなる。
【００７９】
そして、連携デバイス１０１は、該認証情報を基にウェブアプリケーション３０３に認証を要求し、認証が成功した場合はコンテンツデータ等を取得することができる。本実施例の連携システムによれば、ユーザが直接連携デバイス１０１上の表示部４０１で認証情報を入力する必要が無くなり、ユーザの利便性が向上する。また、仲介サービス３０２がウェブアプリケーション３０３の認証情報を取得しないため、認証情報の漏えいを防止できる。
【００８０】
実施例１では、仲介サービス３０２は、連携指示画面８０１において、連携デバイス１０１とウェブアプリケーション３０３との連携状態を、連携デバイス情報テーブル９２０を参照することでウェブブラウザ３０４に表示させる。しかしながら、連携デバイス１０１の表示部４０１で認証情報が入力された場合、仲介サービス３０２は連携状態になったことを知ることができない。
【００８１】
次に図１２を用いて実施例２を説明する。実施例２で説明する処理は、連携状態を更新するための処理である。Ｓ２００１でウェブブラウザ３０４は、仲介サービス３０２のウェブ応答部５０１に連携デバイス一覧要求を行う。ウェブ応答部５０１は制御部５０２を呼び出し、制御部５０２は連携デバイス一覧画面を生成する。制御部５０２は、連携デバイス情報格納部５０４の連携デバイステーブル９２０を参照することで連携デバイス一覧画面を生成する。このとき生成される画面は、例えば図８（Ａ）のような画面である。図８（Ａ）において、ユーザは連携デバイスの一覧を確認することができ、ウェブアプリケーションとの連携指示を行うことができる。
【００８２】
Ｓ２００２で仲介サービス３０２のウェブ応答部５０１は、Ｓ２００１で生成した連携デバイス一覧画面をウェブブラウザ３０４に応答する。
【００８３】
Ｓ２００３で、仲介サービス３０２のウェブ応答部５０１は、ウェブブラウザ３０４に対し、非同期通信でステータス取得指示を行う。すなわちウェブ応答部５０１は、連携デバイス１０１とウェブアプリケーション３０３との連携状態の取得要求を連携デバイス１０１に対して行う状態要求手段として機能する。本ステップにおけるステータス取得指示は、例えばＡＪＡＸによるＸＭＬＨｔｔｐＲｅｑｕｅｓｔを非同期で呼び出すことで行う。ＡＪＡＸとは、ウェブブラウザにおける非同期通信により、表示したＨＴＭＬを動的に書き換えることのできる技術である。
【００８４】
Ｓ２００４で、ウェブブラウザ３０４はＳ２００３のステータス取得指示に従って連携デバイス１０１にステータス取得要求を行う。このとき、例えば“ｈｔｔｐ：／／１９２．１６８．０．２？ＲｅｓｐｏｎｓｅＳｅｒｖｉｃｅＳｔａｔｕｓ＝ＳｅｒｖｉｃｅＡ”といった形式でステータス取得要求を行う。ＲｅｓｐｏｎｓｅＳｅｒｖｉｃｅＳｔａｔｕｓとは、ステータスを確認する対象のウェブアプリケーションを表わす。
【００８５】
Ｓ２００５で、連携デバイス１０１のウェブ応答部４０６は、認証情報保持部４０７が保持する認証情報テーブル９００を参照して、Ｓ２００４で指定されたウェブアプリケーション３０３との連携状態を取得する。
【００８６】
Ｓ２００６で、連携デバイス１０１のウェブ応答部４０６は、Ｓ２００５で取得した連携状態をウェブブラウザ３０４に返す。なお、本実施例ではＳ２００４でウェブアプリケーション３０３を指定しているが、ウェブアプリケーション３０３を指定することなく、連携デバイス１０１が連携しているウェブアプリケーション３０３との連携状態をすべて返してもよい。さらに、仲介サービス３０２と連携デバイス１０１が認証連携していた場合には、実施例１で述べたように連携デバイス１０１にはローカル認証情報に紐づけてウェブアプリケーション３０３との認証情報を保存している。上記の場合は、連携デバイス１０１はユーザの連携状態を認証情報保持部４０７を参照することで取得し、ウェブブラウザ３０４に応答する。
【００８７】
なお、例えば、連携デバイス１０１が、リフレッシュトークンを使用し、定期的に認証トークンの再交付要求を行うようにしてもよい。この場合、連携デバイス１０１のアプリケーション連携部４０２が認証情報保持部４０７を管理する。そして、一定時間が経過すると、アプリケーション連携部４０２は、予め設定された設定時間を更新させるため、ＡＰＩ通信部４０８を呼び出す。また、アプリケーション連携部４０２は、認証トークンの再交付要求にリフレッシュトークンを設定する。
【００８８】
そして、ＡＰＩ通信部４０８は、ウェブアプリケーション３０３に対して、認証トークンの再交付要求を送信する。ウェブアプリケーション３０３は、認証トークンの再交付要求に含まれるリフレッシュトークンを受信すると、リフレッシュトークン値と同じ値の認証トークンを新しく発行し、連携デバイス１０１に送信する。上述の仕組みにより、定期的に認証トークンの再交付要求を行うことで認証トークンの期限が切れないようにすることができる。
【００８９】
また、ステータス確認の際に認証情報保持部４０７に保持されているリフレッシュトークンが期限切れになる場合が想定される。この場合、連携デバイス１０１のアプリケーション連携部４０２はＡＰＩ通信部４０８を呼び出し、ウェブブラウザ３０４に認可画面を送信する。ウェブブラウザ３０４にてユーザが認可ボタンを押下することにより、ウェブアプリケーション３０３の認証部６０５が認証トークンを新たに発行する。すなわちアプリケーション連携部４０２は、定期的に認証トークンの再交付を要求し、該認証トークンが無効になったときに、ウェブアプリケーション３０３に対して認証トークンの再発行を要求するトークン要求手段として機能する。
【００９０】
Ｓ２００７では、ウェブブラウザ３０４は、仲介サービス３０２にステータス応答を送信する。Ｓ２００８で、仲介サービス３０２は、Ｓ２００７で受け取ったステータスに従って連携デバイス情報格納部５０４を更新する。Ｓ２００９で、仲介サービス３０２はＳ２００８で受け取ったステータスに従って、非同期通信で連携デバイス一覧画面を更新する。
【００９１】
以上述べたように、実施例２により、仲介サービス３０２は、ユーザはウェブブラウザ３０４で仲介サービス３０２の連携デバイス一覧画面８０１を表示した際に、連携状態を正しく反映し、最新の連携状態を表示させることができる。
【００９２】
実施例１では、仲介サービス３０２がスクリプト生成部５０３を有し、ウェブブラウザ３０４に応答する。実施例３では、連携デバイス１０１がスクリプト生成部４１０を有し、仲介サービス３０２のウェブ応答部５０１は連携デバイスのウェブ応答部４０６へのリダイレクトのみを行う構成を説明する。
【００９３】
図１１は、実施例３における仲介サーバ１０２と連携デバイス１０１のソフトウェア構成例を示す。図１１（Ａ）に示すように、仲介サービス３０２は実施例１の図５のソフトウェア構成から、スクリプト生成部５０３とサービス情報格納部５０５を取り除いたソフトウェア構成である。この２つのソフトウェア構成は、図１１（Ｂ）に示す連携デバイス１０２のソフトウェア構成に加えられる。スクリプト生成部４１０とサービス情報格納部４１１は、実施例１で説明した仲介サービス３０２のソフトウェア構成におけるスクリプト生成部５０３とサービス情報格納部５０５と同等の機能を提供する。すなわち、本実施例ではスクリプト生成部４１０がウェブアプリケーション３０３の認証方式に対応する認証方式で認証させるためのスクリプトを生成手段として機能する。また、サービス情報格納部５０５が認証情報または認証トークンを保存する保存手段として機能する。
【００９４】
以降、図１３を用いて本実施例における処理フローを説明する。Ｓ３００１からＳ３００３までの処理は、実施例１のＳ１００１からＳ１００３の処理と同様のため、省略する。Ｓ３００４で、仲介サービス３０２のウェブ応答部５０１はウェブブラウザ３０４に対して連携デバイス１０１のウェブ応答部４０６へのリダイレクト応答を行う。すなわちウェブ応答部５０１はＳ３００３で受け付けた連携指示を連携デバイス１０１に転送する転送手段としても機能する。
【００９５】
Ｓ３００５で、ウェブブラウザ３０４はＳ３００４でのリダイレクト応答に従って連携デバイス１０１にアクセスする。このとき、リダイレクト応答のＵＲＬにウェブアプリケーション３０３のサービスＩＤを付加する。例えば、“ｈｔｔｐ：／／１９２．１６８．０．２？ＳｅｒｖｉｃｅＩＤ＝ＳｅｒｖｉｃｅＡ”といった形式でサービスＩＤを付与する。また、連携デバイス１０１のウェブ応答部４０６はスクリプト生成部４１０を呼び出す。スクリプト生成部４１０はサービス情報格納部を呼び出し、サービスＩＤからウェブアプリケーション３０３の認証方式を判別する。判別した結果、ＯＡｕｔｈ認証方式であった場合はＳ３００６へ、Ｂａｓｉｃ認証方式であった場合はＳ３０１５へ処理を分岐させる。なお、本実施例では二種類の認証方式について処理フローを記載するが、その他の認証方式をサポートしてもよい。
【００９６】
Ｓ３００６で、連携デバイス１０１のスクリプト生成部４１０は、ＯＡｕｔｈ認証を行うためのスクリプトを生成し、ウェブ応答部４０６に返す。
【００９７】
Ｓ３００７で、連携デバイス１０１のウェブ応答部４０６は、スクリプト生成部４１０から受け取ったスクリプトをウェブブラウザ３０４に送信する。ここでは、応答されたスクリプトはリダイレクトされるものであるため、スクリプトを応答してウェブブラウザ３０４に実行させるのではなく、ＨＴＴＰを用いてリダイレクト応答を行ってもよい。以降、Ｓ３００８からＳ３０１４までの処理は、実施例１のＳ１００６からＳ１０１２の処理と同様のため、省略する。
【００９８】
次にＳ３０１５で、連携デバイス１０１のスクリプト生成部４１０はＢａｓｉｃ認証を行うためのスクリプトを生成し、ウェブ応答部４０６に返す。実施例１と同様に、ウェブ応答部４０６およびスクリプト生成部４１０は、ウェブアプリケーション３０３の認証方式に対応する認証方式で認証させるためのスクリプトを生成してウェブブラウザ３０４に送信する生成手段として機能する。以降、Ｓ３０１６からＳ３０２３までの処理は、実施例１のＳ１０１４からＳ１０２１の処理と同様のため、省略する。
【００９９】
以上述べたように、実施例３は、仲介サービスはリダイレクトの処理のみを行い、連携デバイス１０１が認証のためのスクリプトを生成する形態である。以上述べた実施例３における構成では、実施例１と同等の効果が期待できる。
また、仲介サービス３０２が上記スクリプトを生成する機能を有さないので、仲介サービス３０２の処理負荷を軽減することができる。
【０１００】
実施例３では、仲介サービス３０２の連携デバイス一覧画面上で、ユーザがサービス連携指示を行うことで連携デバイス１０１にリダイレクトが実施された。実施例４では、仲介サービス３０２が存在せず、直接連携デバイス１０１にウェブブラウザ３０４でアクセスすることで認証連携する実施例を示す。
【０１０１】
実施例４での連携デバイス１０１のソフトウェア構成は実施例３と同様であり、仲介サービス３０２は本実施例では存在しない。以降、図１５を用いて実施例４における処理フローを説明する。
【０１０２】
Ｓ４００１で、ユーザはウェブブラウザ３０４で連携デバイス１０１のＩＰアドレス、またはホスト名を指定して連携画面要求を行う。Ｓ４００２で、連携デバイス１０１のウェブ応答部４０６は図１４に示すウェブアプリケーション一覧画面１４００をウェブブラウザ３０４に応答する。
【０１０３】
Ｓ４００３で、ユーザがウェブブラウザ３０４でウェブアプリケーション一覧画面１４００上の連携ボタンを押下する。これにより連携デバイス１０１のウェブ応答部４０６は連携要求を受け付ける。すなわち、実施例４では、ウェブ応答部４０６がウェブアプリケーション３０３と連携デバイスとの連携指示をウェブブラウザ３０４から受け付ける受け付け手段として機能する。
Ｓ４００４からＳ４０１８までの処理は、実施例１のＳ１００４からＳ１０１８までの処理と同様のため、省略する。
【０１０４】
以上述べたように、実施例４は、ユーザがウェブブラウザ３０４で直接連携デバイス１０１にアクセスすることで、認証連携する形態である。以上述べた実施例４における構成では、仲介サービス３０２を必要としない構成である。実施例４に述べた構成では、ユーザは連携デバイス１０１の提供する機能のみでウェブアプリケーション３０３の認証情報を連携デバイス１０１に容易に登録することができる。
【０１０５】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１０６】
１０１  連携デバイス
１０２  仲介サーバ
１０３  ウェブアプリケーションサーバ
【図１】
0005812797.tif 000002
【図２】
0005812797.tif 000003
【図３】
0005812797.tif 000004
【図４】
0005812797.tif 000005
【図５】
0005812797.tif 000006
【図６】
0005812797.tif 000007
【図７】
0005812797.tif 000008
【図８】
0005812797.tif 000009
【図９】
0005812797.tif 000010
【図１０】
0005812797.tif 000011
【図１１】
0005812797.tif 000012
【図１２】
0005812797.tif 000013
【図１３】
0005812797.tif 000014
【図１４】
0005812797.tif 000015
【図１５】
0005812797.tif 000016