以下、本発明に係る実施形態について、図面を参照して説明する。
図1は、本発明の一実施形態に係るアクセス許可管理システムのブロック図である。本発明の一実施形態に係るアクセス許可管理システムは、利用者端末100、情報活用装置200、少なくとも1つの情報提供装置300(300a〜300d)及びアクセス許可装置400を備える。これらの装置は、ネットワーク500を介して、無線又は有線により互いに接続される。なお、図1においては、情報提供装置を4つ備える構成を示しているが、これは一例であり、情報提供装置は4つに限るものではない。以後、とくに区別する必要がない場合は、単に情報提供装置300と記載し、区別する必要がある場合は、情報提供装置300a、情報提供装置300b、情報提供装置300c又は情報提供装置300dと記載する。
利用者端末100は、入力部101、サービス利用処理部102、ログイン処理部103、同意確認処理部104、出力部105及び通信部106を備える。
入力部101は、ユーザ(利用者)からサービス利用、ログイン、同意確認などの入力を受け付ける。入力部101は、入力されたデータの種類に応じて、サービス利用処理部102、ログイン処理部103又は同意確認処理部104に入力データを引き渡す。
サービス利用処理部102は、入力部101からのサービス利用の入力を受けて、サービス利用要求データを作成し、通信部106に送信を依頼する。また、サービス利用処理部102は、通信部106からのサービス結果のデータを受けて、サービス結果画面を生成し、画面データの表示を出力部105に依頼する。
ログイン処理部103は、入力部101からのログインの入力を受けて、ログイン情報の送信を通信部106に依頼する。また、ログイン処理部103は、通信部106からのログイン要求のデータを受けて、ログイン画面を生成し、画面データの表示を出力部105に依頼する。
同意確認処理部104は、入力部101からの同意確認の入力を受けて、同意確認データに同意する/しない旨が記載された同意確認結果データを作成し、通信部106に送信を依頼する。また、同意確認処理部104は、通信部106からの同意確認データを受けて、同意確認画面を生成し、画面データの表示を出力部105に依頼する。
出力部105は、サービス利用処理部102、ログイン処理部103又は同意確認処理部104からの画面データを受け付け、ユーザに画面表示する。
通信部106は、サービス利用処理部102、ログイン処理部103又は同意確認処理部104からの依頼を受けて、データの種類に応じて、情報活用装置200、情報提供装置300a〜300d又はアクセス許可装置400にデータを送信する。また、通信部106は、情報活用装置200、情報提供装置300a〜300d又はアクセス許可装置400からのデータを受信し、データの種類に応じて、サービス利用処理部102、ログイン処理部103又は同意確認処理部104に処理を引き渡す。また、通信部106は、情報活用装置200からの利用者の同意確認要求データ、及び、フローデータをアクセス許可装置400へ転送し、アクセス許可装置400からのアクセストークンを情報活用装置200へ転送する。
情報活用装置200は、サービス利用要求受信部201、属性情報取得要求生成部202、フロー管理データベース(DB)203、属性情報取得要求送信部204、アクセストークン受信部205、アクセストークン管理データベース(DB)206、アクセストークン送信部207、属性情報受信部208、属性情報保存データベース(DB)209、サービス提供部210及び通信部211を備える。
サービス利用要求受信部201は、通信部211からのサービス利用要求データを受けて、属性情報取得要求生成部202に処理を依頼する。
属性情報取得要求生成部202は、サービス利用要求受信部201からの入力を受けて、フロー管理DB203から、サービスを提供するために必要な属性情報項目、属性情報を提供する情報提供装置名、属性情報を取得する順番と条件(遷移元、遷移先条件)及びフローIDを取得する。属性情報取得要求生成部202は、情報活用装置名、フローID、サービスを提供するためにアクセスすることが必要な全ての情報提供装置名、情報提供装置のアクセス先情報及び情報提供装置の提供する属性情報項目が含まれる同意確認要求データ、並びに、情報提供装置にアクセスするフローを示し、情報提供元番号、遷移元及び遷移先条件が含まれるフローデータを生成し、属性情報取得要求送信部204に、フローID、同意確認要求データ及びフローデータを渡す。
フロー管理DB203は、フローの種類を特定するフローID、情報提供元番号、属性を提供する情報提供装置名、情報提供装置のアクセス先情報、情報提供装置の提供する属性情報項目、遷移元、及び、遷移先とその遷移先に遷移するための条件が記載された遷移先条件を保持する。
属性情報取得要求送信部204は、属性情報取得要求生成部202からのフローID、同意確認要求データ及びフローデータを受けて、利用者端末100を介したアクセス許可装置400への同意確認要求データ及びフローデータの送信を通信部211依頼するとともに、フローIDを保持する。
アクセストークン受信部205は、通信部211からのアクセストークンを受けて、属性情報取得要求送信部204からフローIDを取得し、フロー管理DB203から情報提供元番号及び遷移元を取得し、アクセストークン及び情報提供元番号をアクセストークン管理DB206に保存するとともに、フロー管理ID、フローID及び最初にアクセスする情報提供元番号をアクセストークン送信部207に渡す。
アクセストークン管理DB206は、フロー管理ID、アクセストークン値、フローID及び情報提供元番号を保持する。
アクセストークン送信部207は、アクセストークン受信部205及び属性情報受信部208からのフロー管理ID、フローID及び情報提供元番号を受けて、アクセストークン管理DB206からアクセストークン値を取得し、フロー管理DB203からアクセス先情報を取得し、アクセス先へのアクセストークンの送信を通信部211に依頼するとともに、フロー管理ID、フローID及び情報提供元番号の情報を保持する。
属性情報受信部208は、通信部211からの属性情報データを受けて、アクセストークン送信部207で保持しているフロー管理ID、フローID及び情報提供元番号を取得し、属性情報保存DB209に、フロー管理ID、フローID、情報提供元番号及び属性を保存する。また、属性情報受信部208は、フロー管理DB203から遷移先条件を取得し、取得した属性情報データと遷移先条件から次にアクセスする情報提供元番号を判別し、次にアクセスする情報提供元番号がある場合は、フロー管理ID、フローID、及び、次にアクセスする情報提供元番号をアクセストークン送信部207に渡す。属性情報受信部208は、次にアクセスする情報提供元番号がない場合は、サービス提供部210にフロー管理ID及びフローIDを渡す。
属性情報保存DB209は、フロー管理ID、フローID、情報提供元番号及び属性情報を保持する。
サービス提供部210は、属性情報受信部208からのフロー管理ID及びフローIDを受けて、属性情報保存DB209から属性情報を取得してサービス結果データを生成し、利用者端末100へのサービス結果データの送信を通信部211に依頼する。
通信部211は、属性情報取得要求送信部204、アクセストークン送信部207又はサービス提供部210からの依頼を受けて、データの種類に応じて、利用者端末100又は情報提供装置300にデータを送信する。また、通信部211は、利用者端末100又は情報提供装置300からのデータを受信し、データの種類に応じて、サービス利用要求受信部201、アクセストークン受信部205又は属性情報受信部208に処理を引き渡す。
情報提供装置300は、アクセストークン受信部301、アクセストークン検証要求送信部302、アクセストークン検証結果受信部303、属性情報送信部304、属性情報データベース(DB)305、分岐確認受信部306、分岐確認結果送信部307及び通信部308を備える。
アクセストークン受信部301は、通信部308からのアクセストークンを受けて、アクセストークンをアクセストークン検証要求送信部302に渡す。
アクセストークン検証要求送信部302は、アクセストークン受信部301からのアクセストークンを受けて、アクセス許可装置400へのアクセストークンの送信を通信部308に依頼する。
アクセストークン検証結果受信部303は、通信部308からアクセストークン検証結果データを受ける。アクセストークン検証結果受信部303は、検証結果が検証成功の場合は、アクセストークン検証結果データ内の利用者IDを属性情報送信部304に渡し、検証結果が検証失敗の場合は、エラーとして処理を中断する。
属性情報送信部304は、アクセストークン検証結果受信部303からの利用者IDを受けて、属性情報DB305から該当利用者IDの属性情報を取得し、属性項目名と属性項目値が含まれる属性情報データを生成し、属性情報データの送信を通信部308に依頼する。
属性情報DB305は、利用者IDと利用者ID毎の属性情報とを保持する。
分岐確認受信部306は、通信部308からの分岐確認データを受けて、分岐確認データを分岐確認結果送信部307に渡す。
分岐確認結果送信部307は、分岐確認受信部306からの分岐確認データを受けて、属性情報DB305から分岐確認データの利用者IDに対応する属性情報を取得し、分岐確認データの分岐条件から分岐条件の確認結果が含まれる分岐確認結果データを生成し、分岐確認結果データのアクセス許可装置400への送信を通信部308に依頼する。
通信部308は、アクセストークン検証要求送信部302、属性情報送信部304又は分岐確認結果送信部307からの依頼を受けて、データの種類に応じて、情報活用装置200又はアクセス許可装置400にデータを送信する。また、通信部308は、情報活用装置200又はアクセス許可装置400からのデータを受信し、データの種類に応じて、アクセストークン受信部301、アクセストークン検証結果受信部303又は分岐確認受信部306に処理を引き渡す。
アクセス許可装置400は、属性情報取得要求受信部401、ログイン処理部402、アカウント管理データベース(DB)403、同意確認要求送信部404、同意確認結果受信部405、アクセストークン生成部406、アクセストークン管理データベース(DB)407、アクセストークン送信部408、アクセストークン検証要求受信部409、アクセストークン検証部410、分岐確認部411、分岐確認送信部412、分岐確認結果受信部413、アクセストークン検証結果送信部414及び通信部415を備える。
属性情報取得要求受信部401は、通信部415からの同意確認要求データ及びフローデータを受けて、同意確認要求データ及びフローデータを保持し、ログイン処理部402に処理を依頼する。
ログイン処理部402は、属性情報取得要求受信部401からの依頼を受けて、ログイン要求の送信を通信部415に依頼する。また、ログイン処理部402は、通信部415からのログイン情報のデータを受けて、利用者の認証処理を行う。ログイン処理部402は、認証成功の場合は、利用者のユーザIDを保持するとともに、同意確認要求送信部404に処理を依頼し、認証失敗の場合はエラーとして処理を終了する。
アカウント管理DB403は、アクセス許可装置400のユーザID、ユーザIDと対応する情報提供装置毎の情報提供装置名及び利用者IDを保持する。
同意確認要求送信部404は、ログイン処理部402からの依頼を受けて、属性情報取得要求受信部401より同意確認要求データ及びフローデータを取得し、情報活用装置名、情報提供装置名、情報提供装置が提供する属性情報項目、遷移元、遷移先条件が含まれる同意確認データを生成し、利用者端末100への同意確認データの送信を通信部415に依頼する。また、同意確認要求送信部404は、同意確認要求データ及びフローデータを保持する。
同意確認結果受信部405は、通信部415からの同意確認結果データを受ける。同意確認結果受信部405は、同意確認結果データ内にユーザの同意する情報が含まれている場合には、同意確認結果データをアクセストークン生成部406に渡し、含まれていない場合にはエラーとして処理を終了する。
アクセストークン生成部406は、同意確認結果受信部405からの同意確認結果データを受けて、同意確認要求送信部404から、同意確認要求データ及びフローデータを取得し、実行するフローのインスタンスを特定するフロー管理IDを生成し、アクセスすることが必要な全ての情報提供装置について情報提供元番号毎のアクセストークン値を生成し、フロー管理ID、アクセストークン値、情報提供元番号、情報提供装置名、情報提供装置アクセス先情報、遷移元及び遷移先条件をアクセストークン管理DB407に保存するとともに、フローを解釈し最初にアクセスする情報提供元番号のトークン状態を有効にセットする。また、アクセストークン生成部406は、情報提供元番号毎に、フローID、フロー管理ID、情報提供装置名、アクセストークン値が含まれたアクセストークンを生成し、アクセストークン送信部408にアクセストークンを渡す。
アクセストークン管理DB407は、実行するフローを特定するフロー管理ID、アクセストークン値、トークン状態、情報提供元番号、情報提供装置名、情報提供装置アクセス先情報、遷移元及び遷移先条件を保持する。
アクセストークン送信部408は、アクセストークン生成部406から、アクセスすることが必要な全ての情報提供装置についてのアクセストークンを受けて、情報活用装置200へのアクセストークンの送信を通信部415に依頼する。
アクセストークン検証要求受信部409は、通信部415からのアクセストークンを受けて、アクセストークンをアクセストークン検証部410に渡す。
アクセストークン検証部410は、アクセストークン検証要求受信部409からのアクセストークンを受けて、アクセストークン内のフロー管理ID、情報提供装置名及びアクセストークン値と、アクセストークン管理DB407のフロー管理ID、情報提供装置名、及びアクセストークン値とが合っているかどうか、並びに、トークン状態が有効であるかどうかをチェックする。アクセストークン検証部410は、合っていない場合や有効でない場合は検証失敗をアクセストークン検証結果送信部414に渡し、合っていて有効である場合はトークン状態を無効にセットし、アクセストークンを分岐確認部411に渡す。
分岐確認部411は、アクセストークン検証部410からのアクセストークンを受けた場合は、アクセストークン管理DB407から遷移先条件を取得し、遷移先が設定されていない場合には、アカウント管理DB403からアクセストークン内の情報提供装置名の利用者IDを取得し、検証成功と利用者IDをアクセストークン検証結果送信部414に渡す。分岐確認部411は、分岐条件のない遷移先が設定されている場合には、遷移先に設定されている情報提供元番号のトークン状態を有効に設定し、アカウント管理DB403からアクセストークン内の情報提供装置名の利用者IDを取得し、検証成功と利用者IDをアクセストークン検証結果送信部414に渡す。分岐確認部411は、分岐条件のある遷移先が設定されている場合には、アクセストークン管理DB407から分岐条件を確認する情報提供装置とそのアクセス先を取得し、アカウント管理DB403からその情報提供装置の利用者IDを取得して、利用者ID及び分岐条件が含まれる分岐確認データを生成し、アクセス先及び分岐確認データを分岐確認送信部412に渡すとともに、分岐確認データ及びアクセストークンを保持する。
分岐確認部411は、分岐確認結果受信部413からの分岐確認結果データを受けた場合は、保持していた分岐確認データ、アクセストークンのフロー管理ID、情報提供装置名、アクセストークン管理DB407の遷移先条件及び分岐結果から次にアクセスする情報提供元番号を判断し、アクセストークン管理DB407の次にアクセスする情報提供元番号のトークン状態を有効に設定する。また、分岐確認部411は、アカウント管理DB403からアクセストークン内の情報提供装置名の利用者IDを取得し、検証成功及び利用者IDをアクセストークン検証結果送信部414に渡す。
分岐確認送信部412は、分岐確認部411からのアクセス先及び分岐確認データを受けて、アクセス先への分岐確認データの送信を通信部415に依頼する。
分岐確認結果受信部413は、通信部415からの分岐確認結果データを受けて、分岐確認結果データを分岐確認部411に渡す。
アクセストークン検証結果送信部414は、アクセストークン検証部410からの検証失敗、又は、分岐確認部411からの検証成功及び利用者IDを受けて、検証結果及び利用者IDが含まれるアクセストークン検証結果データを生成し、情報活用装置200へのアクセストークン検証結果データの送信を通信部415に依頼する。
通信部415は、ログイン処理部402、同意確認要求送信部404、アクセストークン送信部408、分岐確認送信部412又はアクセストークン検証結果送信部414からの依頼を受けて、データの種類に応じて、利用者端末100又は情報提供装置300にデータを送信する。また、通信部415は、利用者端末100又は情報提供装置300からのデータを受信し、データの種類に応じて、属性情報取得要求受信部401、ログイン処理部402、同意確認結果受信部405、アクセストークン検証要求受信部409又は分岐確認結果受信部413に処理を引き渡す。
次に、本発明の一実施形態に係るアクセス許可管理システムの動作について、図2〜図4に示すシーケンス図を参照しながら説明する。図3に示すシーケンス図は図2の続きであり、図4に示すシーケンス図は図3の続きである。
図2〜図4のシーケンス図においては、X社が管理する情報活用装置200が、まず先に情報提供装置300aから氏名、生年月日の情報を取得し、その後、情報提供装置300bにアクセスし、その後、情報提供装置300dにアクセスするシーケンスを例に挙げて説明する。また、シーケンス図の説明においては、情報提供装置300a〜300dを、情報提供装置A〜Dと称する場合もある。なお、情報活用装置200は、アクセス許可装置400のアクセス先(URL等)の情報をあらかじめ知っていることを前提とする。
情報活用装置200のサービスを利用したいユーザ(利用者)は、利用者端末100の入力部101に、サービス利用の入力を行う(S101)。
利用者端末100の入力部101は、ユーザからサービス利用の入力を受け付け、サービス利用処理部102に入力データを引き渡す。サービス利用処理部102は、サービス利用要求データを作成し、通信部106に送信を依頼する。通信部106は、HTTP又はHTTPSプロトコルにより、サービス利用要求データを情報活用装置200に送信する(S102)。
情報活用装置200の通信部211は、利用者端末100からのサービス利用要求データを受信し、サービス利用要求受信部201にサービス利用要求データを渡す。サービス利用要求受信部201は、処理を属性情報取得要求生成部202に渡す。属性情報取得要求生成部202は、図5に例を示すフロー管理DB203から、サービスを提供するために必要な属性情報項目(この場合、情報提供装置Aから氏名及び生年月日を、情報提供装置Bからクレジット番号を、情報提供装置Cからメールアドレスを、情報提供装置Dから住所を取得する)、属性情報を提供する情報提供装置(この場合、情報提供装置A、情報提供装置B、情報提供装置C、情報提供装置D)、属性情報を取得する順番と条件(この場合、最初が情報提供装置Aで、次に、情報提供装置Aの生年月日の情報からユーザが20歳以上の場合は情報提供装置Bに、20歳未満の場合は情報提供装置Cに、最後に情報提供装置Dの順番でアクセスする)、フローID(この場合000001)を取得する。続いて、属性情報取得要求生成部202は、図6に例を示す同意確認要求データ、及び、図7に例を示すフローデータを生成し、属性情報取得要求送信部204に、フローID、同意確認要求データ及びフローデータを渡す(S103)。
なお、図7に例を示すフローデータは、情報提供元番号、遷移元、遷移先条件の順番にカンマで区切った行を情報提供元番号分記述することでフローを表している。遷移元がNULLとなっている行は、最初にアクセスする情報提供元番号を示し、遷移先条件がNULL:NULLとなっている行は最後にアクセスする情報提供元番号を示している。遷移先条件が値:anyとなっているものは分岐条件のない遷移先として無条件に値の情報提供元番号に遷移することを示している。遷移条件には、分岐条件が成立した場合に遷移する情報提供元番号:分岐条件を確認する情報提供元番号(分岐条件)を論理条件で接続する構成となっており、図7の1行目の2:1(age.ge.20) XOR 3:1(age.lt.20)は、情報提供元番号1が保持している情報によって年齢が20歳以上の場合には情報提供元番号2に遷移し、年齢が20歳未満の場合には情報提供元番号3に遷移することを示している。
属性情報取得要求送信部204は、利用者端末100を介したアクセス許可装置400への同意確認要求データ及びフローデータの送信を通信部211に依頼するとともに、フローIDを保持する。通信部211は、HTTP又はHTTPSプロトコルにより、同意確認要求データ及びフローデータを利用者端末100に送信する。利用者端末100の通信部106は、同意確認要求データ及びフローデータをアクセス許可装置400に転送する(S104)。
アクセス許可装置400の通信部415は、情報活用装置200からの同意確認要求データ及びフローデータを受信し、属性情報取得要求受信部401に、同意確認要求データ及びフローデータを渡す。属性情報取得要求受信部401は、同意確認要求データ及びフローデータを保持し、ログイン処理部402にログイン処理を依頼する。ログイン処理部402は、ログイン要求の送信を通信部415に依頼し、通信部415は、HTTP又はHTTPSプロトコルにより、利用者端末100にログイン要求を送信する(S105)。
利用者端末100の通信部106は、アクセス許可装置400からのログイン要求を受信し、ログイン処理部103に処理を引き渡す。ログイン処理部103は、図20に例を示すログイン画面を生成し、ログイン画面の表示を出力部105に依頼する。出力部105は、ログイン画面を表示する(S106)。
ユーザは、ログイン画面の表示を見て、利用者端末100の入力部101にログイン情報(この場合、ユーザID及びパスワード)を入力する(S107)。
利用者端末100の入力部101は、ユーザからログイン情報の入力を受け付け、ログイン処理部103にログイン情報を引き渡す。ログイン処理部103は、ログイン情報の送信を通信部106に依頼し、通信部106は、HTTP又はHTTPSプロトコルにより、アクセス許可装置400にログイン情報を送信する(S108)。
アクセス許可装置400の通信部415は、利用者端末100からのログイン情報を受信し、ログイン処理部402にログイン情報を渡す。ログイン処理部402は、利用者の認証処理を行い、認証成功の場合は、利用者のユーザIDを保持するとともに、同意確認要求送信部404に処理を依頼する。同意確認要求送信部404は、属性情報取得要求受信部401より、同意確認要求データ及びフローデータを取得し、図8に例を示す同意確認データを生成し、通信部415に同意確認データの送信を依頼し、同意確認要求データ及びフローデータを保持する(S109)。
通信部415は、HTTP又はHTTPSプロトコルにより、利用者端末100に同意確認データを送信する(S110)。
利用者端末100の通信部106は、アクセス許可装置400からの同意確認データを受信し、同意確認処理部104に同意確認データを引き渡す。同意確認処理部104は、図21に例を示す同意確認画面を生成し、画面データの表示を出力部105に依頼する。出力部105は、同意確認画面を表示する(S111)。
ユーザは、同意確認画面の表示を見て、利用者端末100の入力部101に同意確認結果(この場合、同意するを押下)を入力する(S112)。
利用者端末100の入力部101は、ユーザから同意確認結果の入力を受け付け、同意確認処理部104に同意確認結果を渡す。同意確認処理部104は、図9に例を示す同意確認結果データを作成し、同意確認結果データの送信を通信部106に依頼する。通信部106は、HTTP又はHTTPSプロトコルにより、アクセス許可装置400に同意確認結果データを送信する(S113)。
アクセス許可装置400の通信部415は、利用者端末100からの同意確認結果データを受信し、同意確認結果受信部405に同意確認結果データを渡す。同意確認結果受信部405は、同意確認結果データをアクセストークン生成部406に渡す。アクセストークン生成部406は、同意確認要求送信部404から、同意確認要求データ及びフローデータを取得し、図10に例を示すように、フロー管理ID(この場合、0123456789)、情報提供元番号毎のアクセストークン値(この場合、情報提供装置A用に、ZUvOmxVu60h60UmoqC9CSqISeBRwn+Fp、情報提供装置B用に、UH5Thg6frdkkie94fng7dsds34RGT6yg など)を生成し、フロー管理ID、アクセストークン値、情報提供元番号、情報提供装置名、情報提供装置アクセス先情報、遷移元、遷移先条件をアクセストークン管理DB407に保存するとともに、最初にアクセスする情報提供元番号(この場合、情報提供元番号:1である情報提供装置A)のトークン状態を有効にセットする。また、アクセストークン生成部406は、情報提供元番号毎に、フロー管理ID、情報提供装置名及びアクセストークン値が含まれたアクセストークン(図11に例を示す)を生成し、アクセストークン送信部408にアクセストークンを渡す(S114)。
アクセストークン送信部408は、通信部415に情報活用装置200へのアクセストークンの送信を依頼する。通信部415は、HTTP又はHTTPSプロトコルにより、アクセストークンを利用者端末100に送信する。利用者端末100の通信部106は、アクセストークンを情報活用装置200に転送する(S115)。
情報活用装置200の通信部211は、アクセス許可装置400からのアクセストークンを受信し、アクセストークン受信部205にアクセストークンを渡す。アクセストークン受信部205は、属性情報取得要求送信部204からフローID(この場合000001)を取得し、フロー管理DB203から、情報提供元番号及び遷移元を取得し、アクセストークン及び情報提供元番号を図12に例を示すアクセストークン管理DB206に保存するとともに、フロー管理ID(この場合0123456789)、フローID(この場合000001)及び最初にアクセスする情報提供元番号(この場合情報提供元番号:1である情報提供装置A)をアクセストークン送信部207に渡す(S116)。
アクセストークン送信部207は、アクセストークン管理DB206からアクセストークン値(この場合、ZUvOmxVu60h60UmoqC9CSqISeBRwn+Fp)を取得し、フロー管理DB203からアクセス先情報(この場合、http://xxx.yyy.zzz/aaa)を取得し、通信部211にアクセストークンの送信を依頼するとともに、フロー管理ID、フローID及び情報提供元番号の情報を保持する。通信部211は、HTTP又はHTTPSプロトコルにより、情報提供装置300aである情報提供装置Aにアクセストークンを送信する(S117)。
情報提供装置300aの通信部308は、情報活用装置200からのアクセストークンを受信し、アクセストークン受信部301に渡す。アクセストークン受信部301は、アクセストークンの検証をアクセス許可装置400に要求するため、アクセストークンをアクセストークン検証要求送信部302に渡す。アクセストークン検証要求送信部302は、アクセストークンのアクセス許可装置400への送信を通信部308に依頼する。通信部308は、HTTP又はHTTPSプロトコルにより、アクセス許可装置400にアクセストークンを送信する(S118)。
アクセス許可装置400の通信部415は、情報提供装置300aからのアクセストークンを受信し、アクセストークン検証要求受信部409にアクセストークンを渡す。アクセストークン検証要求受信部409は、アクセストークンをアクセストークン検証部410に渡す。アクセストークン検証部410は、アクセストークン内のフロー管理ID(この場合、0123456789)、情報提供装置名(この場合、情報提供装置A)及びアクセストークン値(この場合、ZUvOmxVu60h60UmoqC9CSqISeBRwn+Fp)と、アクセストークン管理DB407に保存されているフロー管理ID、情報提供装置名及びアクセストークン値とが合っているかどうか、並びに、トークン状態が有効であるかどうかをチェックし、情報提供装置Aのトークン状態を無効にセットし、アクセストークンを分岐確認部411に渡す(S119)。
分岐確認部411は、アクセストークン管理DB407から遷移先条件(この場合、2 :1(age.ge.20) XOR 3:1(age.lt.20))を取得する。分岐確認部411は、分岐条件のある遷移先が設定されているので、アクセストークン管理DB407から分岐条件を確認する情報提供装置(この場合、情報提供元番号:1)とそのアクセス先(http://xxx.yyy.zzz/aaa)を取得し、図13に例を示すアカウント管理DB403からその情報提供装置の利用者ID(この場合、012457854)を取得して、図14に例を示す分岐確認データを生成し(この場合、遷移先条件のage.ge.20に番号1を、age.lt.20に番号2をつけて、1:age.ge.20,2:age.lt.20としている)、アクセス先及び分岐確認データを分岐確認送信部412に渡すとともに、分岐確認データ及びアクセストークンを保持する。分岐確認送信部412は、通信部415にアクセス先への分岐確認データの送信を依頼する。通信部415は、HTTP又はHTTPSプロトコルにより、情報提供装置300aに分岐確認データを送信する(S120)。
情報提供装置300aの通信部308は、アクセス許可装置400からの分岐確認データを受信し、分岐確認受信部306に分岐確認データを渡す。分岐確認受信部306は、分岐確認データを分岐確認結果送信部307に渡し、分岐確認結果送信部307は、属性情報DB305から分岐確認データの利用者ID(この場合、012457854)に対応する属性情報を取得(氏名:山田太郎、生年月日:1975/01/01)し、分岐確認データの分岐条件から図15に例を示す分岐確認結果データ(この場合、1:age.ge.20,2:age.lt.2であるため、生年月日の情報と現在日時の情報からageが20以上と判断し、番号1)を生成し、分岐確認結果データのアクセス許可装置400への送信を通信部308に依頼する(S121)。
情報提供装置300aの通信部308は、HTTP又はHTTPSプロトコルにより、アクセス許可装置400に分岐確認結果データを送信する(S122)。
アクセス許可装置400の通信部415は、情報提供装置300aからの分岐確認結果データを受信し、分岐確認結果受信部413に分岐確認結果データを引き渡す。分岐確認結果受信部413は、分岐確認結果データを分岐確認部411に渡す。分岐確認部411は、保持していた分岐確認データ、アクセストークンのフロー管理ID、情報提供装置名、アクセストークン管理DB407の遷移先条件、及び分岐結果から次にアクセスする情報提供元番号を判断し(この場合、分岐確認結果データの値1と分岐確認データからage.ge.20が選択されたことを判別し、遷移先条件から次にアクセスする情報提供元番号を2と判断)、アクセストークン管理DB407の次にアクセスする情報提供元番号(この場合、情報提供元番号:2)のトークン状態を有効に設定する(S123)。
また、分岐確認部411は、アカウント管理DB403からアクセストークン内の情報提供装置名の利用者IDを取得し、検証成功と利用者ID(この場合、012457854)をアクセストークン検証結果送信部414に渡す。アクセストークン検証結果送信部414は、図16に例を示すアクセストークン検証結果データを生成し、通信部415に情報提供装置300aへのアクセストークン検証結果データの送信を依頼する。通信部415は、HTTP又はHTTPSプロトコルにより、情報提供装置300にアクセストークン検証結果データを送信する(S124)。
情報提供装置300aの通信部308は、アクセス許可装置400からのアクセストークン検証結果データを受信し、アクセストークン検証結果受信部303にアクセストークン検証結果データを渡す。アクセストークン検証結果受信部303は、アクセストークン検証結果データ内の利用者ID(この場合、012457854)を属性情報送信部304に渡す。属性情報送信部304は、図17に例を示す属性情報DB305から該当利用者ID(この場合、012457854)の属性情報を取得(氏名:山田太郎、生年月日:1975/01/01)し、図18に例を示す属性情報データを生成し、属性情報データの送信を通信部308に依頼する(S125)。
通信部308は、HTTP又はHTTPSプロトコルにより、情報活用装置200に属性情報データを送信する(S126)。
情報活用装置200の通信部211は、情報提供装置300aからの属性情報データを受信し、属性情報受信部208に属性情報データを渡す。属性情報受信部208は、アクセストークン送信部207で保持しているフロー管理ID(この場合、0123456789)、フローID(この場合、000001)、及び、情報提供元番号(この場合、情報提供元番号:1)を取得し、図19に例を示すように、フロー管理ID、フローID、情報提供元番号及び属性を属性情報保存DB209に保存する。また、属性情報受信部208は、フロー管理DB203から遷移先条件を取得し、取得した属性情報データと遷移先条件から次にアクセスする情報提供元番号を判別し(この場合、遷移作条件:2:1(age.ge.20) XOR 3:1(age.lt.20)、属性情報データの生年月日の情報と現在日時の情報からageが20以上と判断し、次にアクセスする情報提供元番号を2と判断)、フロー管理ID、フローID、及び、次にアクセスする情報提供元番号をアクセストークン送信部207に渡す。アクセストークン送信部207は、アクセストークン管理DB206からアクセストークン値(この場合、UH5Thg6frdkkie94fng7dsds34RGT6yg )を取得し、フロー管理DB203からアクセス先情報(この場合、http://mmm.nnn.ooo/bbb)を取得し、通信部211にアクセス先へのアクセストークンの送信を依頼するとともに、フロー管理ID、フローID及び情報提供元番号の情報を保持する。通信部211は、HTTP又はHTTPSプロトコルにより、情報提供装置300bにアクセストークンを送信する(S127)。
情報提供装置300b(情報提供装置B)の通信部308は、情報活用装置200からのアクセストークンを受信し、アクセストークン受信部301に渡す。アクセストークン受信部301は、アクセストークンをアクセストークン検証要求送信部302に渡す。アクセストークン検証要求送信部302は、アクセストークンのアクセス許可装置400への送信を通信部308に依頼する。通信部308は、HTTP又はHTTPSプロトコルにより、アクセス許可装置400にアクセストークンを送信する(S128)。
アクセス許可装置400の通信部415は、情報提供装置300bからのアクセストークンを受信し、アクセストークン検証要求受信部409にアクセストークンを渡す。アクセストークン検証要求受信部409は、アクセストークンをアクセストークン検証部410に渡す。アクセストークン検証部410は、アクセストークン内のフロー管理ID(この場合、0123456789)、情報提供装置名(この場合、情報提供装置B)、及び、アクセストークン値(この場合、UH5Thg6frdkkie94fng7dsds34RGT6yg)と、アクセストークン管理DB407のフロー管理ID、情報提供装置名、及び、アクセストークン値とが合っているかどうか、並びに、トークン状態が有効であるかどうかをチェックし、情報提供装置Bのトークン状態を無効にセットし、アクセストークンを分岐確認部411に渡す(S129)。
分岐確認部411は、アクセストークン管理DB407から遷移先条件(この場合、4:any)を取得し、分岐条件のない遷移先が設定されているので、遷移先に設定されている情報提供元番号(この場合4)のトークン状態を有効に設定し、アカウント管理DB403からアクセストークン内の情報提供装置名の利用者IDを取得し、検証成功と利用者IDをアクセストークン検証結果送信部414に渡す(S130)。
アクセストークン検証結果送信部414は、アクセストークン検証結果データを生成し、通信部415に情報活用装置200へのアクセストークン検証結果データの送信を依頼する。通信部415は、HTTP又はHTTPSプロトコルにより、情報提供装置300bにアクセストークン検証結果データを送信する(S131)。
情報提供装置300b(情報提供装置B)の通信部308は、アクセス許可装置400からのアクセストークン検証結果データを受信し、アクセストークン検証結果受信部303にアクセストークン検証結果データを渡す。アクセストークン検証結果受信部303は、アクセストークン検証結果データ内の利用者IDを属性情報送信部304に渡す。属性情報送信部304は、属性情報DB305から該当利用者IDの属性情報を取得し、属性情報データを生成し、属性情報データの送信を通信部308に依頼する(S132)。
通信部308は、HTTP又はHTTPSプロトコルにより、情報活用装置200に属性情報データを送信する(S133)。
情報活用装置200の通信部211は、情報提供装置300bからの属性情報データを受信し、属性情報受信部208に属性情報データを渡す。属性情報受信部208は、アクセストークン送信部207で保持しているフロー管理ID(この場合、0123456789)、フローID(この場合、000001)、及び、情報提供元番号(この場合、情報提供元番号:2)を取得し、フロー管理ID、フローID、情報提供元番号、及び、属性を属性情報保存DB209に保存する。また、属性情報受信部208は、フロー管理DB203から遷移先条件を取得し、取得した属性情報データと遷移先条件とから次にアクセスする情報提供元番号を判別し(この場合、遷移作条件:4:anyから次にアクセスする情報提供元番号を4と判断)、フロー管理ID、フローID、及び、次にアクセスする情報提供元番号をアクセストークン送信部207に渡す。アクセストークン送信部207は、アクセストークン管理DB206からアクセストークン値(この場合、dst0dcfGG4ru8cDeQaXvb6tgU7hfsSr5 )を取得し、フロー管理DB203からアクセス先情報(この場合、http://jjj.kkk.lll/ddd)を取得し、通信部211にアクセス先へのアクセストークンの送信を依頼するとともに、フロー管理ID、フローID及び情報提供元番号の情報を保持する。通信部211は、HTTP又はHTTPSプロトコルにより、情報提供装置300dにアクセストークンを送信する(S134)。
情報提供装置300d(情報提供装置D)の通信部308は、情報活用装置200からのアクセストークンを受信し、アクセストークン受信部301に渡す。アクセストークン受信部301は、アクセストークンをアクセストークン検証要求送信部302に渡す。アクセストークン検証要求送信部302は、アクセストークンのアクセス許可装置400への送信を通信部308に依頼する。通信部308は、HTTP又はHTTPSプロトコルにより、アクセス許可装置400にアクセストークンを送信する(S135)。
アクセス許可装置400の通信部415は、情報提供装置300dからのアクセストークンを受信し、アクセストークン検証要求受信部409にアクセストークンを渡す。アクセストークン検証要求受信部409は、アクセストークンをアクセストークン検証部410に渡す。アクセストークン検証部410は、アクセストークン内のフロー管理ID(この場合、0123456789)、情報提供装置名(この場合、情報提供装置D)、及び、アクセストークン値(この場合、dst0dcfGG4ru8cDeQaXvb6tgU7hfsSr5)と、アクセストークン管理DB407のフロー管理ID、情報提供装置名、及び、アクセストークン値とが合っているかどうか、並びに、トークン状態が有効であるかどうかをチェックし、情報提供装置Dのトークン状態を無効にセットし、アクセストークンを分岐確認部411に渡す(S136)。
分岐確認部411は、アクセストークン管理DB407から遷移先条件(この場合、NULL:NULL)を取得し、遷移先が設定されていないので、アカウント管理DB403からアクセストークン内の情報提供装置名の利用者IDを取得し、検証成功と利用者IDをアクセストークン検証結果送信部414に渡す。アクセストークン検証結果送信部414は、アクセストークン検証結果データを生成し、通信部415に情報活用装置200へのアクセストークン検証結果データの送信を依頼する。通信部415は、HTTP又はHTTPSプロトコルにより、情報提供装置300dにアクセストークン検証結果データを送信する(S137)。
情報提供装置300d(情報提供装置D)の通信部308は、アクセス許可装置400からのアクセストークン検証結果データを受信し、アクセストークン検証結果受信部303にアクセストークン検証結果データを渡す。アクセストークン検証結果受信部303は、アクセストークン検証結果データ内の利用者IDを属性情報送信部304に渡す。属性情報送信部304は、属性情報DB305から該当利用者IDの属性情報を取得し、属性情報データを生成し、属性情報データの送信を通信部308に依頼する(S138)。
通信部308は、HTTP又はHTTPSプロトコルにより、情報活用装置200に属性情報データを送信する(S139)。
情報活用装置200の通信部211は、情報提供装置300dからの属性情報データを受信し、属性情報受信部208に属性情報データを渡す。属性情報受信部208は、アクセストークン送信部207で保持しているフロー管理ID(この場合、0123456789)、フローID(この場合、000001)、及び、情報提供元番号(この場合、情報提供元番号:4)を取得し、フローID、情報提供元番号を取得し、フロー管理ID、フローID、情報提供元番号、及び、属性を属性情報保存DB209に保存する。また、属性情報受信部208は、フロー管理DB203から遷移先条件を取得し、取得した属性情報データと遷移先条件とから次にアクセスする情報提供元番号を判別し(この場合、遷移先条件:NULL:NULLから次にアクセスする情報提供元番号はなし)、サービス提供部210にフロー管理ID及びフローIDを渡す。サービス提供部210は、属性情報保存DB209から属性情報を取得し、サービス結果データを生成し、通信部211に利用者端末100へのサービス結果データの送信を依頼する。通信部211は、HTTP又はHTTPSプロトコルにより、利用者端末100にサービス結果データを送信する(S140)。
利用者端末100の通信部106は、情報活用装置200からのサービス結果データを受信し、サービス利用処理部102にサービス結果データを渡す。サービス利用処理部102は、サービス結果画面を生成し、画面データの表示を出力部105に依頼する。出力部105は、サービス結果を画面に表示する(S141)。
このように、本実施形態に係るアクセス許可管理システムによれば、アクセス許可装置400が、フローの進捗状況に従い、次にアクセスするアクセストークンのみ有効状態とするため、情報活用装置200がアクセストークンを安全に管理する負担を軽減できる。
また、アクセス許可装置400が、フローの条件分岐判断を実施するため、情報活用装置200に、使用しないアクセストークンを廃棄する負担をかける必要がなくなる。
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各部材、各手段、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段やステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。