情報処理装置、情報処理方法
【課題】 OAuthクライアントがリソースプロバイダから動的にアクセス範囲情報を取得できるようになり、アクセス範囲情報の管理を容易にするための技術を提供すること。
【解決手段】 サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信し、サービス情報が表すサービスを選択可能に表示する為の表示情報を生成し、該生成した表示情報をユーザ端末装置に対して送信する。ユーザ端末装置側で選択されたサービスを示す選択サービス情報を該ユーザ端末装置から受信し、該受信した選択サービス情報から生成した認証要求を、該選択されたサービスをサーバ装置が提供する前に認証を行う認証サーバ装置に対して送信する。認証サーバ装置による認証が成功した場合には、サーバ装置に対して選択されたサービスを提供させるよう指示する。
【解決手段】 サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信し、サービス情報が表すサービスを選択可能に表示する為の表示情報を生成し、該生成した表示情報をユーザ端末装置に対して送信する。ユーザ端末装置側で選択されたサービスを示す選択サービス情報を該ユーザ端末装置から受信し、該受信した選択サービス情報から生成した認証要求を、該選択されたサービスをサーバ装置が提供する前に認証を行う認証サーバ装置に対して送信する。認証サーバ装置による認証が成功した場合には、サーバ装置に対して選択されたサービスを提供させるよう指示する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザによる認可処理に基づいて、Webアプリケーション間でユーザデータを交換する為の技術に関するものである。
【背景技術】
【0002】
従来、ユーザはWebブラウザを用いてWebアルバムなどのWebアプリケーションを使用する際には、事前にユーザIDとパスワードを用いてユーザ認証を行うことで、個人データの取得や作成をすることができた。また、近年、写真やSNS、オフィス系サービスなど、複数のWebアプリケーションを日常的に使い分けるユーザが増えつつあり、異なるWebアプリケーション間でユーザデータを共有する機会が増えてきていた。
【0003】
しかし、異なるWebアプリケーション間でユーザデータを共有するには、それら第3者のWebアプリケーションに、ユーザは秘匿性の高いユーザIDとパスワードを通知する必要する必要があった。もし、これらユーザIDとパスワードが漏えいした場合には、入手した第3者によってユーザデータを取得できてしまうというリスクがある。
【0004】
そこで、近年では、IETF標準のThe OAuth 1.0 Protocol (http://tools.ietf.org/html/rfc5849)が注目されている。OAuthプロトコルを用いることによって、ユーザはアカウント情報を第3者のWebアプリケーションに通知することなく、Webアプリケーション間でセキュアにユーザデータを共有することができるようになる。
【0005】
図1は、Webブラウザを用いたユーザと、印刷サービスと、オフィス文書サービスの3者間で、OAuthプロトコルを用いた認可処理のフローを示したものである。印刷サービス102はユーザ101によって指定された文書を印刷するインターネットのサービスであり、オフィス文書サービス104は、ユーザ101のオフィス文書を管理するインターネットのサービスと仮定する。
【0006】
認可サーバ103は、オフィス文書サービス104と信頼関係が事前に結ばれており、オフィス文書サービス104は認証情報として受信したトークンを認可サーバ103に送信する。そして、認可サーバ103が受信したトークンを検証することによって、外部Webアプリケーションによるユーザデータへのアクセスが認可されているかどうか認可サーバ103を用いて確認する。OAuthプロトコルとしては、印刷サービス102はOAuthクライアントとなり、認可サーバ103はOAuthサーバとなり、オフィス文書サービス104はリソースプロバイダとなる。
【0007】
まず、ユーザ101はWebブラウザを用いて、印刷サービス102にアクセスする(1)。そして、ユーザ101が、外部のオフィス文書サービス104内の文書の印刷を要求した場合には、印刷サービス102はオフィス文書サービス104へのアクセス認可を得るために、認可サーバ103にユーザをリダイレクトする(2)。
【0008】
図2は、ユーザ101のWebブラウザへ送信されるHTTPリダイレクトの一例である。リダイレクト先のURLにはWeb APIへのアクセス範囲を示すscopeパラメータを含み、印刷サービス102は、このscopeパラメータの範囲内でのWeb APIの利用許可を求めるものである。
【0009】
そして、ユーザ101が印刷サービス102によるオフィス文書サービスへ104のアクセスを認可した場合には、OAuthの認証コードを付与して、認可サーバ103がユーザ101を印刷サービス102にリダイレクトする(3)。そして、印刷サービス102は、発行された認証コードと引き換えに、認可サーバ103からOAuthのアクセストークンを取得する(4)。そして、印刷サービス102は、取得したアクセストークンを用いて、オフィス文書サービス104のWeb APIを呼び出し、ユーザ101個人のオフィス文書を取得して印刷できるようになる(5)。
【0010】
この認可処理の過程において、ユーザ101のIDやパスワードは印刷サービス102に直接送信されることなく、印刷サービス102はユーザ101個人のオフィス文書にアクセスできるようになる。
【0011】
先行技術として、信頼できる第3者認証機関に信用証明書を提示することによって、ユーザの代わりとなって、あるWebアプリケーションが別のWebアプリにアクセスできるように認可するものがあった(特許文献1)。また、あるサービスが、別サーバ内のユーザデータにアクセス要求する度に、ユーザに確認画面を出し、認可後にユーザデータを提供するものがあった(特許文献2)。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2003-099401号公報
【特許文献2】US6601092
【発明の概要】
【発明が解決しようとする課題】
【0013】
リソースプロバイダのバージョンアップによってWeb APIの仕様を変更した場合には、OAuthのscopeパラメータが不正になるため、OAuthクライアントは正しい認可メッセージをOAuthサーバに送信できなかった。
【0014】
例えば図1の場合、オフィス文書サービス104のWeb APIがバージョンアップし、サービスを提供するWeb APIの提供範囲が変更された場合、印刷サービス102は図2におけるscopeパラメータを更新する必要があった。従来のOAuthクライアントとしては、このscopeパラメータは、リソースプロバイダのWeb APIの仕様に基づいて固定値として保存しておくものが一般的であった。もし、リソースプロバイダのWeb APIが変更された場合には、scopeパラメータをその都度手作業で更新する。もし、scopeパラメータを更新せずにOAuthの認可フローを実行すると、リソースプロバイダにアクセスした際にアクセス範囲エラーとなり、ユーザデータにアクセスすることができなくなる。
【0015】
本発明は以上の問題に鑑みてなされたものであり、OAuthクライアントがリソースプロバイダから動的にアクセス範囲情報を取得できるようになり、アクセス範囲情報の管理を容易にするための技術を提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明の目的を達成するために、例えば、本発明の情報処理装置は、サーバ装置、ユーザ端末装置、認証サーバ装置、とデータ通信可能に接続されている情報処理装置であって、前記サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信する受信手段と、前記サービス情報が表すサービスを選択可能に表示する為の表示情報を生成し、該生成した表示情報を前記ユーザ端末装置に対して送信する手段と、前記ユーザ端末装置側で選択されたサービスを示す選択サービス情報を該ユーザ端末装置から受信し、該受信した選択サービス情報から生成した認証要求を、該選択されたサービスを前記サーバ装置が提供する前に認証を行う前記認証サーバ装置に対して送信する手段と、前記認証サーバ装置による認証が成功した場合には、前記サーバ装置に対して前記選択されたサービスを提供させるよう指示する手段とを備えることを特徴とする。
【発明の効果】
【0017】
本発明の構成によれば、OAuthクライアントは、リソースプロバイダから動的にアクセス範囲情報を取得できるようになり、アクセス範囲情報の管理が容易になる。
【図面の簡単な説明】
【0018】
【図1】従来のOAuthプロトコルを用いた認可フローの一例を示す図。
【図2】リダイレクトメッセージの一例を示す図。
【図3】システムの構成例を示す図。
【図4】情報処理装置201が行う処理のフローチャート。
【図5】ステップS112における処理の詳細を示すフローチャート。
【図6】ステップS210における処理の詳細を示すフローチャート。
【図7】システムの処理手順を示す図。
【図8】XRD文書の一例を示す図。
【図9】アクセス範囲情報の取得要求、アクセス範囲情報、の一例を示す図。
【図10】画面の表示例、選択用HTMLページ、を示す図。
【図11】GETリクエストの一例、リダイレクトメッセージの一例、を示す図。
【図12】情報処理装置201が行う処理のフローチャート。
【図13】システムの処理手順を示す図。
【発明を実施するための形態】
【0019】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の一つである。
【0020】
[第1の実施形態]
先ず、本実施形態に係るシステムの構成例について、図3を用いて説明する。図3に示す如く、本実施形態に係るシステムは、情報処理装置201、サーバ(サーバ装置)207、認可サーバ(認証サーバ装置)208、ユーザ端末装置209,を有し、それぞれの装置はデータ通信が可能なように接続されている。それぞれの装置の構成やそれぞれの装置が行う処理については、以下に詳しく説明する。
【0021】
情報処理装置201が行う処理について、同処理のフローチャートを示す図4のフローチャートを用いて説明する。なお、この説明では、情報処理装置201以外の各装置の動作についても説明する。
【0022】
ユーザ端末装置209は、図7の手順(1)のように、Webブラウザを用いて情報処理装置201(印刷サービス)にアクセスし、サーバ207(外部のオフィス文書サービス)内に保存しているユーザのオフィス文書(ユーザデータ)の印刷を要求する。
【0023】
この要求を受信した情報処理装置201は、サーバ207によって公開されているディスカバリーサービス(ここではhttps://docs.sample.org/discovery)に対して、後述するXRD文書の取得要求を送信する。
【0024】
サーバ207はこの取得要求に応じてXRD文書を送信するので、ステップS102においてサービス情報解析部202は、このXRD文書を受信する。ステップS103においてサービス情報解析部202は、この受信したXRD文書を、XMLパーサを用いて解析する。ここで、印刷サービスは、この固定URLのディカバリサービスを用いることによって、常に最新のサービス内容を取得できるものとする。
【0025】
このXRD文書の一例を図8に示す。図8に示したXRD文書には、オフィス文書サービスのWeb APIのアクセス範囲情報取得用URL、フィード文書取得用URL、認証コード取得用URL、アクセストークン取得用URL、が含まれている。これらのURLの種別は、各Service要素の子要素であるType要素の要素内容に基づいて識別することができる。
【0026】
次に、ステップS104では、記述特定部203は、以下で用いる変数default_uriと変数scope_discoveryを適当な値に初期化する。次にステップS105では、記述特定部203は、XRD文書中の全てのService要素について解析したか否かを判断する。この判断の結果、まだ解析していないService要素が残っている場合には、処理はステップS106に進み、全てのService要素を解析した場合には、処理はステップS111に進む。
【0027】
ステップS106では、記述特定部203は、XRD文書中において未解析のService要素のType要素の内容を解析する。そしてステップS107では、記述特定部203は、この解析したType要素の内容がアクセス範囲情報を提供するサービスであるか否かを判断する。この判断の結果、この解析したType要素の内容がアクセス範囲情報を提供するサービスである場合には、処理はステップS108に進む。一方、この解析したType要素の内容がアクセス範囲情報を提供するサービスではない場合は、処理はステップS109に進む。
【0028】
ステップS108では、記述特定部203は、アクセス範囲情報を提供するサービスであることを示すType要素が属するService要素の子要素であるURI要素の要素内容を変数scope_discoveryに設定する。
【0029】
ステップS109では、記述特定部203は、ステップS106で解析したType要素の内容が、ユーザのリソース情報を提供するサービスであるか否かを判断する。この判断の結果、ユーザのリソース情報を提供するサービスである場合には、処理はステップS110に進み、ユーザのリソース情報を提供するサービスではない場合には、処理はステップS105に戻る。
【0030】
ステップS110では、ユーザのリソース情報を提供するサービスであることを示すType要素が属するService要素の子要素であるURI要素の要素内容を変数default_uriに設定する。ユーザのリソース情報は、RFC5023 The Atom Publishing Protocol(http://tools.ietf.org/html/rfc5023)に基づいて取得するものとする。
【0031】
ステップS111では、アクセス範囲情報取得部204は、変数scope_discoveryに初期値以外の何らかの値が設定してあるか否かを判断する。この判断の結果、変数scope_discoveryに初期値以外の何らかの値が設定してある場合には、処理はステップS112に進む。一方、変数scope_discoveryに初期値以外の何らかの値が設定してない場合は、処理はステップS114に進む。
【0032】
ステップS112では、アクセス範囲情報取得部204は、変数scope_discoveryに設定されているURIを用いて、アクセス範囲情報の取得要求をサーバ207に送信する。この取得要求、取得要求に応じてサーバ207から返信されるアクセス範囲情報、の一例を図9に示す。図9(a)は、情報処理装置201がサーバ207に対して送信する、アクセス範囲情報の取得要求の一例を示す。図9(b)は、この取得要求に応じてサーバ207が情報処理装置201に対して送信するアクセス範囲情報の一例を示す。図9(b)に示す如く、アクセス範囲情報はXML形式のデータである。
【0033】
図9(b)のアクセス範囲情報には、3つのアクセス範囲情報が含まれており、各scope要素の要素内容がURL形式のアクセス範囲情報となる。図9(b)では、この3つのXML形式のアクセス範囲情報のそれぞれは、文書サービス、スプレッドシートサービス、PDFサービス、に対応したものである。
【0034】
また、scope要素のuse属性の値が”default”である場合、このscope要素に対応するサービス(アクセス範囲)の使用を、標準設定において指定してあることを示している。また、scope要素のuse属性の値が”optional”である場合、このscope要素に対応するサービス(アクセス範囲)の使用は標準設定では指定しておらず、ユーザによって任意に指定するものであることを示している。
【0035】
また、scope要素のicon属性は、このscope要素に対応するサービス(アクセス範囲)を表現したアイコン画像へのURLを示している。
【0036】
次に、上記のステップS112における処理の詳細について、図5のフローチャートを用いて説明する。なお、この説明では、情報処理装置201がサーバ207から図9(b)に示したアクセス範囲情報を受信した場合を例にとっている。しかし、以下の説明は、図9(b)に示したアクセス範囲情報以外のアクセス範囲情報を受信した場合であっても同様に適用することができる。
【0037】
ステップS202では、アクセス範囲情報取得部204が送信した要求に応じてサーバ207から送信されたアクセス範囲情報を、アクセス範囲情報解析部205が受信する。そしてアクセス範囲情報解析部205が有する記述解析部が、この受信したアクセス範囲情報を解析する。
【0038】
ステップS203では、アクセス範囲情報解析部205は、以下の処理で用いる変数scopeListをリスト型で初期化する。即ち、変数scopeListに対して複数個の構造体を格納できるようにする。
【0039】
ステップS204では、アクセス範囲情報解析部205は、受信したアクセス範囲情報中における、ルートのscopes要素以下の全てのscope要素を解析したか否かを判断する。この判断の結果、全てのscope要素を解析した場合には、処理はステップS210に進み、まだ解析していないscope要素が残っている場合には、処理はステップS205に進む。
【0040】
ステップS205では、アクセス範囲情報解析部205は、変数(構造体)scopeを適当な値に初期化する。ステップS206では、アクセス範囲情報解析部205の属性解析部が、未解析のscope要素のuse属性の値を、変数scopeのメンバー変数useに設定する。ステップS207では、アクセス範囲情報解析部205の属性解析部が、未解析のscope要素のicon属性の値を、変数scopeのメンバー変数iconに設定する。ステップS208では、アクセス範囲情報解析部205の属性解析部が、未解析のscope要素の要素内容を変数scopeのメンバー変数uriに設定する。
【0041】
ステップS209では、アクセス範囲情報解析部205の属性解析部は、ステップS206〜S208で確定した変数scopeを、変数scopeListに追加登録する。
【0042】
ステップS210では、アクセス範囲情報解析部205の選択画面生成部は、変数scopeListを用いて、サーバ207が提供可能なサービスを選択可能に表示する為の選択用HTMLページ(表示情報)を生成する。そしてアクセス範囲情報解析部205の選択画面生成部は、この該生成した選択用HTMLページを、ユーザ端末装置209に対して送信する。
【0043】
ステップS210における処理の詳細について、図6のフローチャートを用いて説明する。なお、図6のフローチャートの各ステップにおける処理の主体は何れも、アクセス範囲情報解析部205の選択画面生成部である。
【0044】
ステップS302では、ユーザ端末装置209に送信するレスポンスの出力ストリームを初期化する。ステップS303では、html要素の開始タグとhead要素を出力ストリームに対して出力する。ステップS304では、body要素の開始タグと、form要素の開始タグを出力ストリームに対して出力する。ステップS305では、変数scopeListに含まれる全てのscopeオブジェクトを解析したか否かを判断する。
【0045】
この判断の結果、全てのscopeオブジェクトを解析している場合は、処理はステップS312に進み、まだ解析していないscopeオブジェクトが残っている場合は、処理はステップS306に進む。
【0046】
ステップS306では、div要素の開始タグを出力ストリームに対して出力する。ステップS307では、未解析のscopeオブジェクトのメンバ変数useの値が”default”と等しいか否かを判断する。この判断の結果、等しい場合には、処理はステップS308に進み、等しくない場合は、処理はステップS309に進む。
【0047】
ステップS308では、”checkbox”を値とするtype属性と、”scope”を値とするname属性と、scopeのメンバ変数uriを値とするvalue属性と、checked属性を含むinput要素を出力ストリームに対して出力する。
【0048】
ステップS309では、”checkbox”を値とするtype属性と、”scope”を値とするname属性と、scopeのメンバ変数uriを値とするvalue属性と、を含むinput要素を出力ストリームに対して出力する。
【0049】
ステップS310では、未解析のscopeオブジェクトのメンバ変数iconを値とするsrc属性を含むimg要素を出力ストリームに対して出力する。ステップS311では、div要素の終了タグを出力ストリームに対して出力する。
【0050】
ステップS312では、form要素の終了タグと、body要素の終了タグと、html要素の終了タグを出力ストリームに対して出力する。そして、ステップS313では、レスポンスの出力ストリームをクローズする。
【0051】
このようにして生成した出力ストリームを、上記の選択用HTMLページとしてユーザ端末装置209に対して送信する。上記の処理により生成される選択用HTMLページを図10(b)に示す。また、この選択用HTMLページを受信したユーザ端末装置209の表示画面に表示される、選択用HTMLページの画面の表示例を図10(a)に示す。
【0052】
図10(a)に示した画面上には、form要素以下の各div要素に各サービスを利用するか否かのチェックボックスと、そのサービスを表現するアイコン画像とが配されている。図9(b)においてサービスhttps://docs.sample.org/feedを含むscope要素のuse属性は”default”であるため、図10(a)の画面でこのサービスに対応するチェックボックスは標準設定で選択状態にある。
【0053】
ユーザ端末装置209のユーザは、図10(a)の画面において、利用するサービスに対応するチェックボックスを指示し、その後「OK」ボタンを指示する。これによりユーザ端末装置209からは、form要素のaction属性で指定したCGIに対して、ユーザの選択したチェックボックスの内容がGETリクエストのクエリパラメータとして送信される。このクエリパラメータには、ユーザが図10(a)の画面で選択したサービスに関するアクセス範囲情報が含まれている。
【0054】
図11(a)に、図10(a)の画面において、ユーザが文書サービスとスプレッドシートサービスのチェックボックスを選択した場合に、CGIに送信されるGETリクエストの内容を示す。
【0055】
ステップS211では、アクセス範囲情報解析部205の選択範囲解析部は、この送信されたクエリパラメータを受信する。そしてステップS212では、アクセス範囲情報解析部205の選択範囲解析部は、この受信したクエリパラメータを解析する。
【0056】
ステップS113では、アクセス範囲情報解析部205の選択範囲解析部は、この解析により判明した「ユーザが選択したサービス」をOAuthのscopeパラメータに設定する。
【0057】
一方、ステップS114では、アクセス範囲情報解析部205の選択範囲解析部は、変数default_uriのURIをOAuthのscopeパラメータに設定する。
【0058】
ステップS115では、認可要求送信部206は、ユーザ端末装置209を認可サーバ208にリダイレクトすべく、認可サーバ208に対して、リダイレクトメッセージを送信する。
【0059】
ステップS113の後にステップS115において送信されるリダイレクトメッセージを図11(b)に示す。このリダイレクトメッセージでは、ステップS112で取得したアクセス範囲情報をURLエンコード変換してscopeパラメータに設定している。
【0060】
ステップS114の後にステップS115において送信されるリダイレクトメッセージを図2に示す。このリダイレクトメッセージでは、scopeパラメータには1つのURLを設定し、情報処理装置201は、1つのWeb APIへのアクセス許可を求める。
【0061】
以降の処理は、図7のOAuthプロトコルの認可フローに従い、情報処理装置201によるサーバ207へのアクセスを認可した場合には、図7の手順(5)のように、ユーザ端末装置209を情報処理装置201にリダイレクトする。その際、認可サーバ208から取得した認証コードを用いて、図7の手順(6)のように、認可サーバ208からアクセストークンを取得する。そして、取得したアクセストークンを用いて、サーバ207から、そのユーザ個人の文書とスプレッドシートを取得し、印刷する。
【0062】
なお、上記の情報処理装置201の構成は、文書を用いたサービスを前提としたものであり、下記の構成の一例に過ぎない。即ち、情報処理装置201は、サーバ装置、ユーザ端末装置、認証サーバ装置、とデータ通信可能に接続されていることを前提とする。この前提において情報処理装置201は、サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信し、サービス情報が表すサービスを選択可能に表示する為の表示情報を生成し、該生成した表示情報をユーザ端末装置に送信する。そして情報処理装置201は、ユーザ端末装置側で選択されたサービスを示す選択サービス情報を該ユーザ端末装置から受信する。そして、該受信した選択サービス情報から生成した認証要求を、該選択されたサービスをサーバ装置が提供する前に認証を行う認証サーバ装置に対して送信する。そして、認証サーバ装置による認証が成功した場合には、サーバ装置に対してこの選択されたサービスを提供させるよう指示する。
【0063】
[第2の実施形態]
本実施形態では、OAuthクライアントによるリソースプロバイダへのアクセス要求に対して、トークン不正エラー通知を受信した場合に、動的にアクセス範囲情報を取得して認可処理を行う方法について説明する。
【0064】
本実施形態における情報処理装置201が行う処理の流れを図12に示す。また、ユーザ、印刷サービス、認可サーバ、オフィス文書サービス、のそれぞれの間における認可処理のフローを図13に示す。
【0065】
まず、図13の手順(1)のように、ユーザ101がWebブラウザを用いて印刷サービス102にアクセスし、外部のオフィス文書サービス104内に保存しているユーザのオフィス文書の印刷を要求する。そして、印刷サービス102は、あらかじめ取得済みのアクセストークンを用いて、オフィス文書サービス104に対して、文書取得要求を送信する(ステップS402)。
【0066】
そして、オフィス文書サービス104からのレスポンスを解析し、アクセストークンが不正であるというエラー通知を受信したか否かを判断する(ステップS403)。もし、アクセストークンが不正であるというエラー通知を受信しなかった場合には、オフィス文書サービス104から指定したオフィス文書を取得する(ステップS404)。
【0067】
一方、アクセストークンが不正であるというエラー通知を受信した場合には、オフィス文書サービス104のディスカバリーサービスからXRD文書を取得する(ステップS405)。そして、ステップS103以降の処理を行うことで、認可サーバ103からアクセストークンを再発行し、オフィス文書サービス104から指定したオフィス文書を取得する。
【0068】
[第3の実施形態]
図3に示した情報処理装置201を構成する各部はハードウェアで構成してもよいが、ソフトウェア(コンピュータプログラム)で実装してもよい。この場合、このソフトウェアや第1の実施形態で既知の情報として取り扱ったデータを格納するためのメモリと、このメモリに格納されているソフトウェアやデータを用いて処理を実行するCPUと、を有する装置は情報処理装置201に適用することができる。このような装置には、例えば、一般のPC(パーソナルコンピュータ)を適用することができる。
【0069】
図3に示した情報処理装置201を構成する各部のうちのいくつかは統合してもよいし、いくつかを別個の装置としてもよい。即ち、第1の実施形態を実現するためのシステムの構成は、図1に示した構成に限るものではない。
【0070】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、ユーザによる認可処理に基づいて、Webアプリケーション間でユーザデータを交換する為の技術に関するものである。
【背景技術】
【0002】
従来、ユーザはWebブラウザを用いてWebアルバムなどのWebアプリケーションを使用する際には、事前にユーザIDとパスワードを用いてユーザ認証を行うことで、個人データの取得や作成をすることができた。また、近年、写真やSNS、オフィス系サービスなど、複数のWebアプリケーションを日常的に使い分けるユーザが増えつつあり、異なるWebアプリケーション間でユーザデータを共有する機会が増えてきていた。
【0003】
しかし、異なるWebアプリケーション間でユーザデータを共有するには、それら第3者のWebアプリケーションに、ユーザは秘匿性の高いユーザIDとパスワードを通知する必要する必要があった。もし、これらユーザIDとパスワードが漏えいした場合には、入手した第3者によってユーザデータを取得できてしまうというリスクがある。
【0004】
そこで、近年では、IETF標準のThe OAuth 1.0 Protocol (http://tools.ietf.org/html/rfc5849)が注目されている。OAuthプロトコルを用いることによって、ユーザはアカウント情報を第3者のWebアプリケーションに通知することなく、Webアプリケーション間でセキュアにユーザデータを共有することができるようになる。
【0005】
図1は、Webブラウザを用いたユーザと、印刷サービスと、オフィス文書サービスの3者間で、OAuthプロトコルを用いた認可処理のフローを示したものである。印刷サービス102はユーザ101によって指定された文書を印刷するインターネットのサービスであり、オフィス文書サービス104は、ユーザ101のオフィス文書を管理するインターネットのサービスと仮定する。
【0006】
認可サーバ103は、オフィス文書サービス104と信頼関係が事前に結ばれており、オフィス文書サービス104は認証情報として受信したトークンを認可サーバ103に送信する。そして、認可サーバ103が受信したトークンを検証することによって、外部Webアプリケーションによるユーザデータへのアクセスが認可されているかどうか認可サーバ103を用いて確認する。OAuthプロトコルとしては、印刷サービス102はOAuthクライアントとなり、認可サーバ103はOAuthサーバとなり、オフィス文書サービス104はリソースプロバイダとなる。
【0007】
まず、ユーザ101はWebブラウザを用いて、印刷サービス102にアクセスする(1)。そして、ユーザ101が、外部のオフィス文書サービス104内の文書の印刷を要求した場合には、印刷サービス102はオフィス文書サービス104へのアクセス認可を得るために、認可サーバ103にユーザをリダイレクトする(2)。
【0008】
図2は、ユーザ101のWebブラウザへ送信されるHTTPリダイレクトの一例である。リダイレクト先のURLにはWeb APIへのアクセス範囲を示すscopeパラメータを含み、印刷サービス102は、このscopeパラメータの範囲内でのWeb APIの利用許可を求めるものである。
【0009】
そして、ユーザ101が印刷サービス102によるオフィス文書サービスへ104のアクセスを認可した場合には、OAuthの認証コードを付与して、認可サーバ103がユーザ101を印刷サービス102にリダイレクトする(3)。そして、印刷サービス102は、発行された認証コードと引き換えに、認可サーバ103からOAuthのアクセストークンを取得する(4)。そして、印刷サービス102は、取得したアクセストークンを用いて、オフィス文書サービス104のWeb APIを呼び出し、ユーザ101個人のオフィス文書を取得して印刷できるようになる(5)。
【0010】
この認可処理の過程において、ユーザ101のIDやパスワードは印刷サービス102に直接送信されることなく、印刷サービス102はユーザ101個人のオフィス文書にアクセスできるようになる。
【0011】
先行技術として、信頼できる第3者認証機関に信用証明書を提示することによって、ユーザの代わりとなって、あるWebアプリケーションが別のWebアプリにアクセスできるように認可するものがあった(特許文献1)。また、あるサービスが、別サーバ内のユーザデータにアクセス要求する度に、ユーザに確認画面を出し、認可後にユーザデータを提供するものがあった(特許文献2)。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2003-099401号公報
【特許文献2】US6601092
【発明の概要】
【発明が解決しようとする課題】
【0013】
リソースプロバイダのバージョンアップによってWeb APIの仕様を変更した場合には、OAuthのscopeパラメータが不正になるため、OAuthクライアントは正しい認可メッセージをOAuthサーバに送信できなかった。
【0014】
例えば図1の場合、オフィス文書サービス104のWeb APIがバージョンアップし、サービスを提供するWeb APIの提供範囲が変更された場合、印刷サービス102は図2におけるscopeパラメータを更新する必要があった。従来のOAuthクライアントとしては、このscopeパラメータは、リソースプロバイダのWeb APIの仕様に基づいて固定値として保存しておくものが一般的であった。もし、リソースプロバイダのWeb APIが変更された場合には、scopeパラメータをその都度手作業で更新する。もし、scopeパラメータを更新せずにOAuthの認可フローを実行すると、リソースプロバイダにアクセスした際にアクセス範囲エラーとなり、ユーザデータにアクセスすることができなくなる。
【0015】
本発明は以上の問題に鑑みてなされたものであり、OAuthクライアントがリソースプロバイダから動的にアクセス範囲情報を取得できるようになり、アクセス範囲情報の管理を容易にするための技術を提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明の目的を達成するために、例えば、本発明の情報処理装置は、サーバ装置、ユーザ端末装置、認証サーバ装置、とデータ通信可能に接続されている情報処理装置であって、前記サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信する受信手段と、前記サービス情報が表すサービスを選択可能に表示する為の表示情報を生成し、該生成した表示情報を前記ユーザ端末装置に対して送信する手段と、前記ユーザ端末装置側で選択されたサービスを示す選択サービス情報を該ユーザ端末装置から受信し、該受信した選択サービス情報から生成した認証要求を、該選択されたサービスを前記サーバ装置が提供する前に認証を行う前記認証サーバ装置に対して送信する手段と、前記認証サーバ装置による認証が成功した場合には、前記サーバ装置に対して前記選択されたサービスを提供させるよう指示する手段とを備えることを特徴とする。
【発明の効果】
【0017】
本発明の構成によれば、OAuthクライアントは、リソースプロバイダから動的にアクセス範囲情報を取得できるようになり、アクセス範囲情報の管理が容易になる。
【図面の簡単な説明】
【0018】
【図1】従来のOAuthプロトコルを用いた認可フローの一例を示す図。
【図2】リダイレクトメッセージの一例を示す図。
【図3】システムの構成例を示す図。
【図4】情報処理装置201が行う処理のフローチャート。
【図5】ステップS112における処理の詳細を示すフローチャート。
【図6】ステップS210における処理の詳細を示すフローチャート。
【図7】システムの処理手順を示す図。
【図8】XRD文書の一例を示す図。
【図9】アクセス範囲情報の取得要求、アクセス範囲情報、の一例を示す図。
【図10】画面の表示例、選択用HTMLページ、を示す図。
【図11】GETリクエストの一例、リダイレクトメッセージの一例、を示す図。
【図12】情報処理装置201が行う処理のフローチャート。
【図13】システムの処理手順を示す図。
【発明を実施するための形態】
【0019】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の一つである。
【0020】
[第1の実施形態]
先ず、本実施形態に係るシステムの構成例について、図3を用いて説明する。図3に示す如く、本実施形態に係るシステムは、情報処理装置201、サーバ(サーバ装置)207、認可サーバ(認証サーバ装置)208、ユーザ端末装置209,を有し、それぞれの装置はデータ通信が可能なように接続されている。それぞれの装置の構成やそれぞれの装置が行う処理については、以下に詳しく説明する。
【0021】
情報処理装置201が行う処理について、同処理のフローチャートを示す図4のフローチャートを用いて説明する。なお、この説明では、情報処理装置201以外の各装置の動作についても説明する。
【0022】
ユーザ端末装置209は、図7の手順(1)のように、Webブラウザを用いて情報処理装置201(印刷サービス)にアクセスし、サーバ207(外部のオフィス文書サービス)内に保存しているユーザのオフィス文書(ユーザデータ)の印刷を要求する。
【0023】
この要求を受信した情報処理装置201は、サーバ207によって公開されているディスカバリーサービス(ここではhttps://docs.sample.org/discovery)に対して、後述するXRD文書の取得要求を送信する。
【0024】
サーバ207はこの取得要求に応じてXRD文書を送信するので、ステップS102においてサービス情報解析部202は、このXRD文書を受信する。ステップS103においてサービス情報解析部202は、この受信したXRD文書を、XMLパーサを用いて解析する。ここで、印刷サービスは、この固定URLのディカバリサービスを用いることによって、常に最新のサービス内容を取得できるものとする。
【0025】
このXRD文書の一例を図8に示す。図8に示したXRD文書には、オフィス文書サービスのWeb APIのアクセス範囲情報取得用URL、フィード文書取得用URL、認証コード取得用URL、アクセストークン取得用URL、が含まれている。これらのURLの種別は、各Service要素の子要素であるType要素の要素内容に基づいて識別することができる。
【0026】
次に、ステップS104では、記述特定部203は、以下で用いる変数default_uriと変数scope_discoveryを適当な値に初期化する。次にステップS105では、記述特定部203は、XRD文書中の全てのService要素について解析したか否かを判断する。この判断の結果、まだ解析していないService要素が残っている場合には、処理はステップS106に進み、全てのService要素を解析した場合には、処理はステップS111に進む。
【0027】
ステップS106では、記述特定部203は、XRD文書中において未解析のService要素のType要素の内容を解析する。そしてステップS107では、記述特定部203は、この解析したType要素の内容がアクセス範囲情報を提供するサービスであるか否かを判断する。この判断の結果、この解析したType要素の内容がアクセス範囲情報を提供するサービスである場合には、処理はステップS108に進む。一方、この解析したType要素の内容がアクセス範囲情報を提供するサービスではない場合は、処理はステップS109に進む。
【0028】
ステップS108では、記述特定部203は、アクセス範囲情報を提供するサービスであることを示すType要素が属するService要素の子要素であるURI要素の要素内容を変数scope_discoveryに設定する。
【0029】
ステップS109では、記述特定部203は、ステップS106で解析したType要素の内容が、ユーザのリソース情報を提供するサービスであるか否かを判断する。この判断の結果、ユーザのリソース情報を提供するサービスである場合には、処理はステップS110に進み、ユーザのリソース情報を提供するサービスではない場合には、処理はステップS105に戻る。
【0030】
ステップS110では、ユーザのリソース情報を提供するサービスであることを示すType要素が属するService要素の子要素であるURI要素の要素内容を変数default_uriに設定する。ユーザのリソース情報は、RFC5023 The Atom Publishing Protocol(http://tools.ietf.org/html/rfc5023)に基づいて取得するものとする。
【0031】
ステップS111では、アクセス範囲情報取得部204は、変数scope_discoveryに初期値以外の何らかの値が設定してあるか否かを判断する。この判断の結果、変数scope_discoveryに初期値以外の何らかの値が設定してある場合には、処理はステップS112に進む。一方、変数scope_discoveryに初期値以外の何らかの値が設定してない場合は、処理はステップS114に進む。
【0032】
ステップS112では、アクセス範囲情報取得部204は、変数scope_discoveryに設定されているURIを用いて、アクセス範囲情報の取得要求をサーバ207に送信する。この取得要求、取得要求に応じてサーバ207から返信されるアクセス範囲情報、の一例を図9に示す。図9(a)は、情報処理装置201がサーバ207に対して送信する、アクセス範囲情報の取得要求の一例を示す。図9(b)は、この取得要求に応じてサーバ207が情報処理装置201に対して送信するアクセス範囲情報の一例を示す。図9(b)に示す如く、アクセス範囲情報はXML形式のデータである。
【0033】
図9(b)のアクセス範囲情報には、3つのアクセス範囲情報が含まれており、各scope要素の要素内容がURL形式のアクセス範囲情報となる。図9(b)では、この3つのXML形式のアクセス範囲情報のそれぞれは、文書サービス、スプレッドシートサービス、PDFサービス、に対応したものである。
【0034】
また、scope要素のuse属性の値が”default”である場合、このscope要素に対応するサービス(アクセス範囲)の使用を、標準設定において指定してあることを示している。また、scope要素のuse属性の値が”optional”である場合、このscope要素に対応するサービス(アクセス範囲)の使用は標準設定では指定しておらず、ユーザによって任意に指定するものであることを示している。
【0035】
また、scope要素のicon属性は、このscope要素に対応するサービス(アクセス範囲)を表現したアイコン画像へのURLを示している。
【0036】
次に、上記のステップS112における処理の詳細について、図5のフローチャートを用いて説明する。なお、この説明では、情報処理装置201がサーバ207から図9(b)に示したアクセス範囲情報を受信した場合を例にとっている。しかし、以下の説明は、図9(b)に示したアクセス範囲情報以外のアクセス範囲情報を受信した場合であっても同様に適用することができる。
【0037】
ステップS202では、アクセス範囲情報取得部204が送信した要求に応じてサーバ207から送信されたアクセス範囲情報を、アクセス範囲情報解析部205が受信する。そしてアクセス範囲情報解析部205が有する記述解析部が、この受信したアクセス範囲情報を解析する。
【0038】
ステップS203では、アクセス範囲情報解析部205は、以下の処理で用いる変数scopeListをリスト型で初期化する。即ち、変数scopeListに対して複数個の構造体を格納できるようにする。
【0039】
ステップS204では、アクセス範囲情報解析部205は、受信したアクセス範囲情報中における、ルートのscopes要素以下の全てのscope要素を解析したか否かを判断する。この判断の結果、全てのscope要素を解析した場合には、処理はステップS210に進み、まだ解析していないscope要素が残っている場合には、処理はステップS205に進む。
【0040】
ステップS205では、アクセス範囲情報解析部205は、変数(構造体)scopeを適当な値に初期化する。ステップS206では、アクセス範囲情報解析部205の属性解析部が、未解析のscope要素のuse属性の値を、変数scopeのメンバー変数useに設定する。ステップS207では、アクセス範囲情報解析部205の属性解析部が、未解析のscope要素のicon属性の値を、変数scopeのメンバー変数iconに設定する。ステップS208では、アクセス範囲情報解析部205の属性解析部が、未解析のscope要素の要素内容を変数scopeのメンバー変数uriに設定する。
【0041】
ステップS209では、アクセス範囲情報解析部205の属性解析部は、ステップS206〜S208で確定した変数scopeを、変数scopeListに追加登録する。
【0042】
ステップS210では、アクセス範囲情報解析部205の選択画面生成部は、変数scopeListを用いて、サーバ207が提供可能なサービスを選択可能に表示する為の選択用HTMLページ(表示情報)を生成する。そしてアクセス範囲情報解析部205の選択画面生成部は、この該生成した選択用HTMLページを、ユーザ端末装置209に対して送信する。
【0043】
ステップS210における処理の詳細について、図6のフローチャートを用いて説明する。なお、図6のフローチャートの各ステップにおける処理の主体は何れも、アクセス範囲情報解析部205の選択画面生成部である。
【0044】
ステップS302では、ユーザ端末装置209に送信するレスポンスの出力ストリームを初期化する。ステップS303では、html要素の開始タグとhead要素を出力ストリームに対して出力する。ステップS304では、body要素の開始タグと、form要素の開始タグを出力ストリームに対して出力する。ステップS305では、変数scopeListに含まれる全てのscopeオブジェクトを解析したか否かを判断する。
【0045】
この判断の結果、全てのscopeオブジェクトを解析している場合は、処理はステップS312に進み、まだ解析していないscopeオブジェクトが残っている場合は、処理はステップS306に進む。
【0046】
ステップS306では、div要素の開始タグを出力ストリームに対して出力する。ステップS307では、未解析のscopeオブジェクトのメンバ変数useの値が”default”と等しいか否かを判断する。この判断の結果、等しい場合には、処理はステップS308に進み、等しくない場合は、処理はステップS309に進む。
【0047】
ステップS308では、”checkbox”を値とするtype属性と、”scope”を値とするname属性と、scopeのメンバ変数uriを値とするvalue属性と、checked属性を含むinput要素を出力ストリームに対して出力する。
【0048】
ステップS309では、”checkbox”を値とするtype属性と、”scope”を値とするname属性と、scopeのメンバ変数uriを値とするvalue属性と、を含むinput要素を出力ストリームに対して出力する。
【0049】
ステップS310では、未解析のscopeオブジェクトのメンバ変数iconを値とするsrc属性を含むimg要素を出力ストリームに対して出力する。ステップS311では、div要素の終了タグを出力ストリームに対して出力する。
【0050】
ステップS312では、form要素の終了タグと、body要素の終了タグと、html要素の終了タグを出力ストリームに対して出力する。そして、ステップS313では、レスポンスの出力ストリームをクローズする。
【0051】
このようにして生成した出力ストリームを、上記の選択用HTMLページとしてユーザ端末装置209に対して送信する。上記の処理により生成される選択用HTMLページを図10(b)に示す。また、この選択用HTMLページを受信したユーザ端末装置209の表示画面に表示される、選択用HTMLページの画面の表示例を図10(a)に示す。
【0052】
図10(a)に示した画面上には、form要素以下の各div要素に各サービスを利用するか否かのチェックボックスと、そのサービスを表現するアイコン画像とが配されている。図9(b)においてサービスhttps://docs.sample.org/feedを含むscope要素のuse属性は”default”であるため、図10(a)の画面でこのサービスに対応するチェックボックスは標準設定で選択状態にある。
【0053】
ユーザ端末装置209のユーザは、図10(a)の画面において、利用するサービスに対応するチェックボックスを指示し、その後「OK」ボタンを指示する。これによりユーザ端末装置209からは、form要素のaction属性で指定したCGIに対して、ユーザの選択したチェックボックスの内容がGETリクエストのクエリパラメータとして送信される。このクエリパラメータには、ユーザが図10(a)の画面で選択したサービスに関するアクセス範囲情報が含まれている。
【0054】
図11(a)に、図10(a)の画面において、ユーザが文書サービスとスプレッドシートサービスのチェックボックスを選択した場合に、CGIに送信されるGETリクエストの内容を示す。
【0055】
ステップS211では、アクセス範囲情報解析部205の選択範囲解析部は、この送信されたクエリパラメータを受信する。そしてステップS212では、アクセス範囲情報解析部205の選択範囲解析部は、この受信したクエリパラメータを解析する。
【0056】
ステップS113では、アクセス範囲情報解析部205の選択範囲解析部は、この解析により判明した「ユーザが選択したサービス」をOAuthのscopeパラメータに設定する。
【0057】
一方、ステップS114では、アクセス範囲情報解析部205の選択範囲解析部は、変数default_uriのURIをOAuthのscopeパラメータに設定する。
【0058】
ステップS115では、認可要求送信部206は、ユーザ端末装置209を認可サーバ208にリダイレクトすべく、認可サーバ208に対して、リダイレクトメッセージを送信する。
【0059】
ステップS113の後にステップS115において送信されるリダイレクトメッセージを図11(b)に示す。このリダイレクトメッセージでは、ステップS112で取得したアクセス範囲情報をURLエンコード変換してscopeパラメータに設定している。
【0060】
ステップS114の後にステップS115において送信されるリダイレクトメッセージを図2に示す。このリダイレクトメッセージでは、scopeパラメータには1つのURLを設定し、情報処理装置201は、1つのWeb APIへのアクセス許可を求める。
【0061】
以降の処理は、図7のOAuthプロトコルの認可フローに従い、情報処理装置201によるサーバ207へのアクセスを認可した場合には、図7の手順(5)のように、ユーザ端末装置209を情報処理装置201にリダイレクトする。その際、認可サーバ208から取得した認証コードを用いて、図7の手順(6)のように、認可サーバ208からアクセストークンを取得する。そして、取得したアクセストークンを用いて、サーバ207から、そのユーザ個人の文書とスプレッドシートを取得し、印刷する。
【0062】
なお、上記の情報処理装置201の構成は、文書を用いたサービスを前提としたものであり、下記の構成の一例に過ぎない。即ち、情報処理装置201は、サーバ装置、ユーザ端末装置、認証サーバ装置、とデータ通信可能に接続されていることを前提とする。この前提において情報処理装置201は、サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信し、サービス情報が表すサービスを選択可能に表示する為の表示情報を生成し、該生成した表示情報をユーザ端末装置に送信する。そして情報処理装置201は、ユーザ端末装置側で選択されたサービスを示す選択サービス情報を該ユーザ端末装置から受信する。そして、該受信した選択サービス情報から生成した認証要求を、該選択されたサービスをサーバ装置が提供する前に認証を行う認証サーバ装置に対して送信する。そして、認証サーバ装置による認証が成功した場合には、サーバ装置に対してこの選択されたサービスを提供させるよう指示する。
【0063】
[第2の実施形態]
本実施形態では、OAuthクライアントによるリソースプロバイダへのアクセス要求に対して、トークン不正エラー通知を受信した場合に、動的にアクセス範囲情報を取得して認可処理を行う方法について説明する。
【0064】
本実施形態における情報処理装置201が行う処理の流れを図12に示す。また、ユーザ、印刷サービス、認可サーバ、オフィス文書サービス、のそれぞれの間における認可処理のフローを図13に示す。
【0065】
まず、図13の手順(1)のように、ユーザ101がWebブラウザを用いて印刷サービス102にアクセスし、外部のオフィス文書サービス104内に保存しているユーザのオフィス文書の印刷を要求する。そして、印刷サービス102は、あらかじめ取得済みのアクセストークンを用いて、オフィス文書サービス104に対して、文書取得要求を送信する(ステップS402)。
【0066】
そして、オフィス文書サービス104からのレスポンスを解析し、アクセストークンが不正であるというエラー通知を受信したか否かを判断する(ステップS403)。もし、アクセストークンが不正であるというエラー通知を受信しなかった場合には、オフィス文書サービス104から指定したオフィス文書を取得する(ステップS404)。
【0067】
一方、アクセストークンが不正であるというエラー通知を受信した場合には、オフィス文書サービス104のディスカバリーサービスからXRD文書を取得する(ステップS405)。そして、ステップS103以降の処理を行うことで、認可サーバ103からアクセストークンを再発行し、オフィス文書サービス104から指定したオフィス文書を取得する。
【0068】
[第3の実施形態]
図3に示した情報処理装置201を構成する各部はハードウェアで構成してもよいが、ソフトウェア(コンピュータプログラム)で実装してもよい。この場合、このソフトウェアや第1の実施形態で既知の情報として取り扱ったデータを格納するためのメモリと、このメモリに格納されているソフトウェアやデータを用いて処理を実行するCPUと、を有する装置は情報処理装置201に適用することができる。このような装置には、例えば、一般のPC(パーソナルコンピュータ)を適用することができる。
【0069】
図3に示した情報処理装置201を構成する各部のうちのいくつかは統合してもよいし、いくつかを別個の装置としてもよい。即ち、第1の実施形態を実現するためのシステムの構成は、図1に示した構成に限るものではない。
【0070】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
サーバ装置、ユーザ端末装置、認証サーバ装置、とデータ通信可能に接続されている情報処理装置であって、
前記サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信する受信手段と、
前記サービス情報が表すサービスを選択可能に表示する為の表示情報を生成し、該生成した表示情報を前記ユーザ端末装置に対して送信する手段と、
前記ユーザ端末装置側で選択されたサービスを示す選択サービス情報を該ユーザ端末装置から受信し、該受信した選択サービス情報から生成した認証要求を、該選択されたサービスを前記サーバ装置が提供する前に認証を行う前記認証サーバ装置に対して送信する手段と、
前記認証サーバ装置による認証が成功した場合には、前記サーバ装置に対して前記選択されたサービスを提供させるよう指示する手段と
を備えることを特徴とする情報処理装置。
【請求項2】
前記受信手段は、
前記サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信する為のURIが記された文書を該サーバ装置から受信する手段と、
前記文書を受信すると、該文書から前記URIを取得し、該取得したURIで特定される前記サーバ装置に対して前記サービス情報を要求し、該要求に応じて前記サーバ装置から送信されたサービス情報を受信する手段と
を備えることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記受信手段は、予め定められたアクセストークンを用いて前記サーバ装置に対してアクセスした場合に、該アクセストークンが不正である旨のエラー通知を受信した場合に、前記サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
サーバ装置、ユーザ端末装置、認証サーバ装置、とデータ通信可能に接続されている情報処理装置が行う情報処理方法であって、
前記情報処理装置の受信手段が、前記サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信する受信工程と、
前記情報処理装置の表示情報の送信手段が、前記サービス情報が表すサービスを選択可能に表示する為の表示情報を生成し、該生成した表示情報を前記ユーザ端末装置に対して送信する工程と、
前記情報処理装置の認証要求の送信手段が、前記ユーザ端末装置側で選択されたサービスを示す選択サービス情報を該ユーザ端末装置から受信し、該受信した選択サービス情報から生成した認証要求を、該選択されたサービスを前記サーバ装置が提供する前に認証を行う前記認証サーバ装置に対して送信する工程と、
前記情報処理装置の指示手段が、前記認証サーバ装置による認証が成功した場合には、前記サーバ装置に対して前記選択されたサービスを提供させるよう指示する工程と
を備えることを特徴とする情報処理方法。
【請求項5】
コンピュータを、請求項1乃至3の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【請求項1】
サーバ装置、ユーザ端末装置、認証サーバ装置、とデータ通信可能に接続されている情報処理装置であって、
前記サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信する受信手段と、
前記サービス情報が表すサービスを選択可能に表示する為の表示情報を生成し、該生成した表示情報を前記ユーザ端末装置に対して送信する手段と、
前記ユーザ端末装置側で選択されたサービスを示す選択サービス情報を該ユーザ端末装置から受信し、該受信した選択サービス情報から生成した認証要求を、該選択されたサービスを前記サーバ装置が提供する前に認証を行う前記認証サーバ装置に対して送信する手段と、
前記認証サーバ装置による認証が成功した場合には、前記サーバ装置に対して前記選択されたサービスを提供させるよう指示する手段と
を備えることを特徴とする情報処理装置。
【請求項2】
前記受信手段は、
前記サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信する為のURIが記された文書を該サーバ装置から受信する手段と、
前記文書を受信すると、該文書から前記URIを取得し、該取得したURIで特定される前記サーバ装置に対して前記サービス情報を要求し、該要求に応じて前記サーバ装置から送信されたサービス情報を受信する手段と
を備えることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記受信手段は、予め定められたアクセストークンを用いて前記サーバ装置に対してアクセスした場合に、該アクセストークンが不正である旨のエラー通知を受信した場合に、前記サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
サーバ装置、ユーザ端末装置、認証サーバ装置、とデータ通信可能に接続されている情報処理装置が行う情報処理方法であって、
前記情報処理装置の受信手段が、前記サーバ装置が提供可能なサービスを示すサービス情報を該サーバ装置から受信する受信工程と、
前記情報処理装置の表示情報の送信手段が、前記サービス情報が表すサービスを選択可能に表示する為の表示情報を生成し、該生成した表示情報を前記ユーザ端末装置に対して送信する工程と、
前記情報処理装置の認証要求の送信手段が、前記ユーザ端末装置側で選択されたサービスを示す選択サービス情報を該ユーザ端末装置から受信し、該受信した選択サービス情報から生成した認証要求を、該選択されたサービスを前記サーバ装置が提供する前に認証を行う前記認証サーバ装置に対して送信する工程と、
前記情報処理装置の指示手段が、前記認証サーバ装置による認証が成功した場合には、前記サーバ装置に対して前記選択されたサービスを提供させるよう指示する工程と
を備えることを特徴とする情報処理方法。
【請求項5】
コンピュータを、請求項1乃至3の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−8106(P2013−8106A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−138889(P2011−138889)
【出願日】平成23年6月22日(2011.6.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願日】平成23年6月22日(2011.6.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]