以下、本発明の実施形態について図面を参照しながら説明する。
[第1の実施形態]
<システム構成>
図1は第1の実施形態に係る情報処理システムの一例の構成図である。図1の情報処理システム1000は、例えばオフィス内ネットワーク等のネットワークN1と、例えばインターネットなどのネットワークN2とを有する。
ネットワークN1は、ファイヤウォールFWの内側にあるプライベートなネットワークである。ファイヤウォールFWはネットワークN1とネットワークN2との接点に設置され、不正なアクセスを検出及び遮断する。ネットワークN1にはクライアント端末1011、携帯端末1012、複合機などの画像形成装置1013が接続されている。
クライアント端末1011は端末装置の一例である。クライアント端末1011は一般的なOSなどが搭載された情報処理装置によって実現できる。クライアント端末1011は無線による通信の手段または有線による通信の手段を有する。クライアント端末1011は、デスクトップPC、ノートPCなど、ユーザが操作可能な端末装置である。
携帯端末1012は端末装置の一例である。携帯端末1012は、無線による通信の手段または有線による通信の手段を有している。携帯端末1012は、スマートフォンや携帯電話、タブレットPCなど、ユーザが携帯して操作可能な端末装置である。
画像形成装置1013は複合機などの画像形成機能を有する装置である。画像形成装置1013は無線による通信の手段または有線による通信の手段を有する。画像形成装置1013は複合機、コピー機、スキャナ、プリンタ、レーザプリンタ、プロジェクタ、電子黒板など、画像形成に係る処理を行う装置である。図1では、一例としてクライアント端末1011、携帯端末1012、画像形成装置1013がそれぞれ一台である例を示しているが複数台であってもよい。
また、ネットワークN2には、携帯端末1012、サービス提供システム1014及び外部サービス1015が接続されている。携帯端末1012は、オフィス内ネットワーク等のネットワークN1以外にあってもよく、ネットワークN1と、ネットワークN2とに接続されている例を図1に示している。
サービス提供システム1014及び外部サービス1015は一台以上の情報処理装置により実現される。また、サービス提供システム1014及び外部サービス1015は画像形成装置1013に何らかのサービスを提供する情報処理システムの一例である。
外部サービス1015は、例えばWebアプリケーションサービスのパッケージを提供する。外部サービス1015は企業、部門やグループ(以下、テナントと呼ぶ)単位で申し込め、ユーザ一人ずつにアカウントが発行される。
サービス提供システム1014はIdP(Identity Provider)が発行した認証・認可の情報に応じて画像形成装置1013にサービスを提供するSP(Service Provider)の一例である。外部サービス1015はIdPの一例である。
図1に示した情報処理システム1000は画像形成装置1013に対し、外部サービス1015とシームレスに繋がるサービス提供システム1014を提供することで、新しい価値を実現するものである。
このため、第1の実施形態に係る情報処理システム1000は画像形成装置1013からの操作により、後述のように外部サービス1015のアカウントを使って、サービス提供システム1014を利用するための情報を登録する。
また、第1の実施形態に係る情報処理システム1000は画像形成装置1013からの操作により、後述のように外部サービス1015のアカウントを使って、サービス提供システム1014を試用(トライアル)で利用するための情報を登録する。
したがって、第1の実施形態に係る情報処理システム1000は画像形成装置1013からの操作により、画像形成装置1013がサービス提供システム1014を利用可能な状態とすることができる。
<ハードウェア構成>
《コンピュータ》
図1のクライアント端末1011、携帯端末1012は例えば図2に示すようなハードウェア構成のコンピュータにより実現される。また、サービス提供システム1014及び外部サービス1015を実現する一台以上の情報処理装置も図2に示すハードウェア構成のコンピュータにより実現される。
図2は、第1の実施形態に係るコンピュータの一例のハードウェア構成図である。図2のコンピュータ500は入力装置501、表示装置502、外部I/F503、RAM504、ROM505、CPU506、通信I/F507及びHDD508等を備え、それぞれがバスBで相互に接続されている。なお、入力装置501及び表示装置502は必要なときに接続して利用する形態であってもよい。
入力装置501はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置502はディスプレイ等を含み、コンピュータ500による処理結果を表示する。
通信I/F507はコンピュータ500を各種ネットワークに接続するインタフェースである。これにより、コンピュータ500は通信I/F507を介してデータ通信を行うことができる。
また、HDD508は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ500全体を制御する基本ソフトウェアであるOS、及びOS上において各種機能を提供するアプリケーションソフトウェア(以下、単にアプリケーションと呼ぶ)などがある。なお、コンピュータ500はHDD508に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであってもよい。
外部I/F503は、外部装置とのインタフェースである。外部装置には、記録媒体503aなどがある。これにより、コンピュータ500は外部I/F503を介して記録媒体503aの読み取り及び/又は書き込みを行うことができる。記録媒体503aにはフレキシブルディスク、CD、DVD、SDメモリカード、USBメモリなどがある。
ROM505は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)の一例である。ROM505にはコンピュータ500の起動時に実行されるBIOS、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM504はプログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)の一例である。
CPU506は、ROM505やHDD508などの記憶装置からプログラムやデータをRAM504上に読み出し、処理を実行することで、コンピュータ500全体の制御や機能を実現する演算装置である。
図1のクライアント端末1011、携帯端末1012は、コンピュータ500のハードウェア構成により、後述するような各種処理を実現できる。また、サービス提供システム1014及び外部サービス1015を実現する一台以上の情報処理装置もコンピュータ500のハードウェア構成により、後述するような各種処理を実現できる。
《画像形成装置》
図1の画像形成装置1013は、例えば図3に示すハードウェア構成のコンピュータにより実現される。図3は第1の実施形態に係る画像形成装置の一例のハードウェア構成図である。図3の画像形成装置1013は、コントローラ601、操作パネル602、外部I/F603、通信I/F604、プリンタ605及びスキャナ606などを備える。
コントローラ601はCPU611、RAM612、ROM613、NVRAM614及びHDD615などを備える。ROM613は、各種プログラムやデータが格納されている。RAM612はプログラムやデータを一時保持する。NVRAM614は、例えば設定情報等が格納されている。また、HDD615は各種プログラムやデータが格納されている。
CPU611は、ROM613やNVRAM614、HDD615などからプログラムやデータ、設定情報等をRAM612上に読み出し、処理を実行することで、画像形成装置1013全体の制御や機能を実現する。
操作パネル602はユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F603は外部装置とのインタフェースである。外部装置には、記録媒体603aなどがある。これにより、画像形成装置1013は外部I/F603を介して記録媒体603aの読み取り及び/又は書き込みを行うことができる。記録媒体603aにはICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
通信I/F604は、画像形成装置1013をネットワークN1に接続させるためのインタフェースである。これにより、画像形成装置1013は通信I/F604を介してデータ通信を行うことができる。
プリンタ605は印刷データを被搬送物に印刷するための印刷装置である。例えば被搬送物は紙、コート紙、厚紙、OHP、プラスチックフィルム、プリプレグ、銅箔など、紙に限定されない。また、スキャナ606は原稿から画像データ(電子データ)を読み取るための読取装置である。
<ソフトウェア構成>
《サービス提供システム》
第1の実施形態に係るサービス提供システム1014は例えば図4に示す処理ブロックにより実現される。図4は、第1の実施形態に係るサービス提供システムの一例の処理ブロック図である。サービス提供システム1014はプログラムを実行することで、図4に示すような処理ブロックを実現する。
図4のサービス提供システム1014はアプリケーション1101、共通サービス1102、データベース(DB)1103、管理1104、業務1105、プラットフォームAPI(Application Programming Interface)1106を実現している。
図4のアプリケーション1101はポータルサービスアプリ1111、MFPポータルサービスアプリ1112、外部サービス連携サービスアプリ1113、スキャンサービスアプリ1114、プリントサービスアプリ1115を一例として有する。
ポータルサービスアプリ1111は、ポータルサービスを提供するアプリケーションである。ポータルサービスは、サービス提供システム1014を利用するための入り口となるサービスを提供する。MFPポータルサービスアプリ1112は、画像形成装置1013にポータルサービスを提供するアプリケーションである。MFPポータルサービスアプリ1112は、画像形成装置1013がサービス提供システム1014を利用するための入り口となるサービスを提供する。
外部サービス連携サービスアプリ1113は外部サービス1015と連携する外部サービス連携サービスを提供する。スキャンサービスアプリ1114はスキャンサービスを提供するアプリケーションである。プリントサービスアプリ1115はプリントサービスを提供するアプリケーションである。アプリケーション1101には、その他のサービスアプリが含まれていてもよい。
プラットフォームAPI1106はポータルサービスアプリ1111、MFPポータルサービスアプリ1112、外部サービス連携サービスアプリ1113、スキャンサービスアプリ1114などが共通サービス1102を利用するためのインタフェースである。プラットフォームAPI1106はアプリケーション1101からの要求を共通サービス1102が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。
プラットフォームAPI1106は、サービス提供システム1014が複数の情報処理装置で構成される場合、ネットワーク経由で利用可能な例えばWeb APIにより実現できる。
共通サービス1102は、認証・認可部1121、テナント管理部1122、ユーザ管理部1123、ライセンス管理部1124、機器管理部1125、一時画像保存部1126、ログ収集部1127、外部サービス管理部1128、画像処理ワークフロー制御部1130を有する。
また、画像処理ワークフロー制御部1130はメッセージキュー1131、1つ以上のワーカー(Worker)1132を有する。ワーカー1132は画像変換や画像送信などの機能を実現する。
認証・認可部1121は、クライアント端末1011や画像形成装置1013などのオフィス機器からのログイン要求に基づいて認証・認可を実行する。オフィス機器はクライアント端末1011、携帯端末1012、画像形成装置1013などの総称である。
認証・認可部1121は、例えば後述するユーザ情報記憶部1143、ライセンス情報記憶部1144などにアクセスしてユーザを認証・認可する。また、認証・認可部1121は例えば後述するテナント情報記憶部1142、ライセンス情報記憶部1144、機器情報記憶部1150などにアクセスして画像形成装置1013などを認証する。
テナント管理部1122は後述するテナント情報記憶部1142に記憶されているテナント情報を管理する。ユーザ管理部1123は後述するユーザ情報記憶部1143に記憶されているユーザ情報を管理する。
ライセンス管理部1124は後述するライセンス情報記憶部1144に記憶されているライセンス情報を管理する。機器管理部1125は後述する機器情報記憶部1150に記憶されている機器情報を管理する。一時画像保存部1126は後述する一時画像記憶部1148への一時画像の保存、一時画像記憶部1148からの一時画像の取得を行う。
ログ収集部1127は後述するログ情報記憶部1141に記憶されているログ情報を管理する。外部サービス管理部1128は外部サービス1015に関する後述の外部サービステナント情報及び外部サービスユーザ情報を管理する。
画像処理ワークフロー制御部1130はアプリケーション1101からの要求に基づいて画像処理に関するワークフローを制御する。メッセージキュー1131は処理の種類に対応するキューを有する。画像処理ワークフロー制御部1130は処理(ジョブ)に係るリクエストのメッセージを、そのジョブの種類に対応するキューに投入する。
ワーカー1132は対応するキューを監視している。キューにメッセージが投入されるとワーカー1132は、対応するジョブの種類に応じた画像変換や画像送信などの処理を行う。なお、キューに投入されたメッセージはワーカー1132が主体的に読み出す(Pull)ようにしてもよいし、キューからワーカー1132に提供する(Push)ようにしてもよい。
図4のデータベース1103は、ログ情報記憶部1141、テナント情報記憶部1142、ユーザ情報記憶部1143、ライセンス情報記憶部1144、セッション情報記憶部1145、外部サービステナント情報記憶部1146、外部サービスユーザ情報記憶部1147、一時画像記憶部1148、ジョブ情報記憶部1149、機器情報記憶部1150及びアプリケーション固有の設定情報記憶部1151を有する。
ログ情報記憶部1141はログ情報を記憶する。テナント情報記憶部1142はテナント情報を記憶する。ユーザ情報記憶部1143はユーザ情報を記憶する。ライセンス情報記憶部1144はライセンス情報を記憶している。また、セッション情報記憶部1145はセッション情報を記憶する。
外部サービステナント情報記憶部1146は後述の外部サービステナント情報を記憶している。外部サービスユーザ情報記憶部1147は後述の外部サービスユーザ情報を記憶している。
一時画像記憶部1148は一時画像を記憶する。一時画像は、例えばワーカー1132が処理するスキャン画像などのファイルやデータである。ジョブ情報記憶部1149は処理(ジョブ)に係るリクエストの情報(ジョブ情報)を記憶する。機器情報記憶部1150は機器情報を記憶する。また、アプリケーション固有の設定情報記憶部1151はアプリケーション1101に固有の設定情報を記憶する。
図4の管理1104は監視部、デプロイ部、サーバアカウント管理部やサーバログイン管理部を一例として有している。また、図4の業務1105は顧客情報管理部、契約管理部、販売管理部、ライセンス管理部1160、開発環境部を一例として有する。ライセンス管理部1160は後述のテナントライセンスの発行やサービスライセンスの発行などを行う。
サービス提供システム1014は、認証・認可や画像処理に関するワークフローなどの共通サービスを提供する統合基盤と、統合基盤の機能を利用してスキャンサービス、外部サービス連携サービスなどのアプリサービスを提供するサービス群として機能する。
統合基盤は、例えば共通サービス1102、DB1103、管理1104、業務1105及びプラットフォームAPI1106によって構成される。サービス群は、例えばアプリケーション1101及びプラットフォームAPI1106によって構成される。
図4に示したサービス提供システム1014はサービス群と統合基盤とを分離した構成により、プラットフォームAPI1106を利用するアプリケーション1101を容易に開発できる。
なお、図4に示したサービス提供システム1014の処理ブロックの分類形態は一例であり、アプリケーション1101、共通サービス1102、DB1103、管理1104及び業務1105が図4に示されるような階層で分類されていることが必須ではない。第1の実施形態に係るサービス提供システム1014の処理を実施できるのであれば図4に示される階層関係などは特定のものに限定されない。
《画像形成装置》
第1の実施形態に係る画像形成装置1013は例えば図5に示すような処理ブロックにより実現される。図5は、第1の実施形態に係る画像形成装置の一例の処理ブロック図である。画像形成装置1013はプログラムを実行することで、図5に示す処理ブロックを実現する。
図5の画像形成装置1013は外部サービス起動アイコン部1201、MFPブラウザ部1202、ログインアプリ部1203、外部サービス連携アプリ部1204を実現している。
外部サービス起動アイコン部1201は外部サービス1015毎に異なる外部サービス起動アイコンを操作パネル602に表示する。外部サービス起動アイコンがユーザにより押下されると、外部サービス起動アイコン部1201はMFPブラウザ部1202を起動させる。
MFPブラウザ部1202はサービス提供システム1014から取得した画面データを表示する。ログインアプリ部1203は後述する例えばOpenID Connectによるログイン処理をサービス提供システム1014に要求する。外部サービス連携アプリ部1204はサービス提供システム1014の外部サービス連携サービスアプリ1113と連携して外部サービス連携サービスの処理を行う。
<処理の詳細>
以下では、第1の実施形態に係る情報処理システム1000の処理の詳細について説明する。
《フリートライアルでの外部サービス連携サービスの利用開始》
図6は画像形成装置の操作パネルに表示される画面遷移図である。画像形成装置1013の操作パネル602にはMFPトップ画面5001が表示されている。MFPトップ画面5001は二つの外部サービス起動アイコンが表示された例を示している。外部サービス起動アイコンには、ログインに利用する外部サービス1015を示す識別子、利用する外部サービス連携サービスを示す識別子、外部サービス連携サービスのトライアルのための商品コード、などの情報が埋め込まれている。また、外部サービス起動アイコンにはログイン成功時のリダイレクト先、外部サービス1015の利用を許可する範囲、などの情報が埋め込まれている。
なお、外部サービス連携サービスのトライアルのための商品コード、ログイン成功時のリダイレクト先、外部サービス1015の利用を許可する範囲は、外部サービス連携サービスアプリ1113から取得するようにしてもよい。
MFPトップ画面5001から外部サービス起動アイコンがユーザに押下されると操作パネル602にはログイン・申込み画面5002が表示される。また、ログイン・申込み画面5002から「トライアル申込み」ボタンが押下されると、操作パネル602にはトライアル申込み画面5003が表示される。
ユーザはトライアル申込み画面5003から利用規約に同意する。その後、トライアル申込み画面5003から「外部サービスアカウントで申込む」ボタンが押下されると、操作パネル602には、ユーザにより押下された外部サービス起動アイコンに対応した外部サービス1015のログイン画面5004が表示される。
ユーザは外部サービス1015のログイン画面5004からログインする。操作パネル602には認可画面5005が表示される。認可画面5005から「認可する」ボタンが押下されると、操作パネル602にはログイン失敗画面5006が表示される。ログイン失敗画面5006が表示されている間、情報処理システム1000ではトライアル申込み処理が行われる。
トライアル申込み処理が完了すると、操作パネル602には申込み完了画面5007が表示される。申込み完了画面5007から「OK」ボタンが押下されると、操作パネル602には外部サービス連携サービス画面5008が表示される。
第1の実施形態に係る情報処理システム1000では図7〜図12に示す手順によりフリートライアルでの外部サービス連携サービスの利用が開始される。図7〜図12はフリートライアルでの外部サービス連携サービスの利用開始処理の一例のシーケンス図である。
ステップS11において、ユーザは操作パネル602のMFPトップ画面5001に表示された外部サービス起動アイコンを選択する。ステップS12において、外部サービス起動アイコン部1201はユーザが外部サービス起動アイコンを選択したため、MFPブラウザ部1202を起動させる。
ステップS13に進み、MFPブラウザ部1202はサービス提供システム1014の外部サービス連携サービスアプリ1113からアプリのトップ画面の画面データを取得する。ステップS14に進み、MFPブラウザ部1202はアプリのトップ画面の表示を外部サービス連携アプリ部1204に要求する。なお、ステップS14の処理は例えばAjax(Asynchronous JavaScript + XML)により自動で行うようにしてもよい。
ステップS15に進み、外部サービス連携アプリ部1204は、サービス提供システム1014の外部サービス連携サービスアプリ1113に、テナント情報の取得を要求する。なお、ステップS15では認証チケット、テナント認証キーが無いためにエラーが応答として返される。
エラーが返された外部サービス連携アプリ部1204はステップS16においてログインダイアログを作成する。ステップS17に進み、外部サービス連携アプリ部1204はログイン・申込み画面5002をMFPブラウザ部1202に表示させる。
ログイン・申込み画面5002は、ログインに利用する外部サービス1015を示す識別子、利用する外部サービス連携サービスを示す識別子、外部サービス連携サービスのトライアルのための商品コード、などの情報が埋め込まれている。また、ログイン・申込み画面5002はログイン成功時のリダイレクト先、外部サービス1015の利用を許可する範囲、などの情報が埋め込まれている。
以下では、図7のステップS11〜S17の処理を「共通1」の処理と呼ぶ。ステップS18に進み、ユーザはログイン・申込み画面5002から「トライアル申込み」ボタンを押下する。
ログイン・申込み画面5002から「トライアル申込み」ボタンが押下されると、MFPブラウザ部1202はステップS19に進み、トライアル申込み画面5003の取得をサービス提供システム1014のMFPポータルサービスアプリ1112に要求する。トライアル申込み画面5003の取得の要求には、ログインに利用する外部サービス1015を示す識別子、利用する外部サービス連携サービスを示す識別子、外部サービス連携サービスのトライアルのための商品コードが指定される。
なお、第1の実施形態ではログインに利用する外部サービス1015を示す識別子をsp_idで表している。利用する外部サービス連携サービスを示す識別子はサービス種別で表している。
ステップS20に進み、MFPポータルサービスアプリ1112はサービス種別を指定してサービス情報の取得を、認証・認可部1121に要求する。認証・認可部1121はサービス種別に対応するサービス名、利用規約URLをMFPポータルサービスアプリ1112に提供する。MFPポータルサービスアプリ1112はトライアル申込み画面5003をMFPブラウザ部1202に表示させる。
なお、トライアル申込み画面5003にはログイン・申込み画面5002に埋め込まれている情報に加えて、サービス種別に対応するサービス名、利用規約URLが埋め込まれている。トライアル申込み画面5003は取得したサービス情報(サービス種別に対応するサービス名、利用規約URL)に応じて、サービス名や利用規約の内容を変化させることができる。また、トライアル申込み画面5003は、ログインに利用する外部サービス1015を示す識別子が複数埋め込まれていてもよい。
以下では、図7のステップS18〜S20の処理を「共通2」の処理と呼ぶ。ステップS21に進み、ユーザはトライアル申込み画面5003のチェックボックスにチェックを入れることで利用規約に同意する。
ステップS22に進み、ユーザはトライアル申込み画面5003の「外部サービスアカウントで申込む」ボタンを押下する。ステップS23に進み、MFPブラウザ部1202はログインアプリ部1203にOpenID Connectログイン(以下、OIDCログインと呼ぶ)を要求する。ステップS23のOIDCログインでは、ログイン成功時のリダイレクト先、サービス種別、商品コード、外部サービス1015の利用を許可する範囲が指定されている。
ステップS24に進み、ログインアプリ部1203はローカルストレージに、ログイン成功時のリダイレクト先、サービス種別、商品コード、外部サービス1015の利用を許可する範囲、申込みフラグを保存する。
ステップS25に進み、ログインアプリ部1203はOIDCログインをサービス提供システム1014のMFPポータルサービスアプリ1112に要求する。ステップS25のOIDCログインではログインに利用する外部サービス1015を示す識別子、ログイン成功時のリダイレクト先、ログイン失敗時のリダイレクト先、外部サービス1015の利用を許可する範囲(以下、scopeと呼ぶ)が指定される。
ステップS26に進み、MFPポータルサービスアプリ1112は認証・認可部1121にOIDCログインを要求する。ステップS26のOIDCログインではステップS25と同様な情報が指定される。ステップS27に進み、認証・認可部1121はリクエスト情報として、ログインに利用する外部サービス1015を示す識別子、ログイン成功時のリダイレクト先、ログイン失敗時のリダイレクト先を、stateと対応付けて保存しておく。
ステップS28に進み、認証・認可部1121はstateを指定して外部サービス1015の認可画面へのリダイレクトを要求する。画像形成装置1013のMFPブラウザ部1202は外部サービス1015の認可画面へのリダイレクトを要求される。
ステップS29に進み、MFPブラウザ部1202は外部サービス1015に認可画面5005の取得を要求し、外部サービス1015のログイン画面5004にリダイレクトされる。ステップS30に進み、MFPブラウザ部1202は外部サービス1015のログイン画面5004の画面データを取得し、ログイン画面5004を表示する。
ステップS31に進み、ユーザはログイン画面5004からログインを要求する。外部サービス1015へのログインに成功すると、MFPブラウザ部1202は認可画面5005にリダイレクトされる。そして、ステップS33に進み、MFPブラウザ部1202は外部サービス1015の認可画面5005の画面データを取得し、認可画面5005を表示する。
以下では、図8のステップS31〜S33の処理を「共通3」の処理と呼ぶ。ステップS34に進み、ユーザは認可画面5005の「認可する」ボタンを押下する。ステップS35に進み、MFPブラウザ部1202は外部サービス1015に認可を要求し、コールバック、state、外部サービス一時コードを取得する。ステップS36に進み、MFPブラウザ部1202はstate、外部サービス一時コードを指定して認証・認可部1121にコールバックする。
ステップS37に進み、認証・認可部1121はステップS27でstateに対応付けて保存しておいたリクエスト情報を取得する。ステップS38に進み、認証・認可部1121は外部サービス一時コードを指定して外部サービス1015にトークン及びユーザ情報の取得を要求する。外部サービス1015は認証・認可部1121に対し、トークン及びユーザ情報を返す。
外部サービス1015から認証・認可部1121に返されるトークンには、IDトークン、アクセストークン、リフレッシュトークンが含まれる。外部サービス1015から認証・認可部1121に返されるユーザ情報には姓、名、メールアドレスが含まれる。
ステップS39に進み、認証・認可部1121はIDトークンに該当するユーザを検索するが、テナント未開設の例を説明しているため、IDトークンに該当するユーザを検索することはできない。
ステップS40に進み、認証・認可部1121は認証チケットをチェックするが、認証チケットが無い。また、ステップS41に進み、認証・認可部1121はユーザをログインメールで検索するが、ログインメールに該当するユーザを検索することはできない。
ステップS42に進み、認証・認可部1121は外部サービス1015のユーザ情報としてIDトークン、scope、アクセストークン、リフレッシュトークン、姓、名及びメールアドレスをユーザ属性参照コードと対応付けて保存する。
ステップS43に進み、認証・認可部1121はユーザ属性参照コードを指定して画像形成装置1013のMFPブラウザ部1202にログイン失敗時のリダイレクト先へリダイレクトさせる。ステップS44に進み、MFPブラウザ部1202はログイン失敗画面5006の画面データをサービス提供システム1014のMFPポータルサービスアプリ1112から取得し、ログイン失敗画面5006を表示する。なお、図6に示したログイン失敗画面5006は空のHTMLであるが、JavaScript(登録商標)を使って進捗状況などを表示させることも可能である。
ステップS45に進み、MFPブラウザ部1202はログインアプリ部1203にテナント開設を要求する。なお、MFPブラウザ部1202はAjaxにより自動的に処理を行う。ステップS46に進み、ログインアプリ部1203はテナント開設用の情報としてローカルストレージからサービス種別、商品コードを取得し、URLからユーザ属性参照コードを取得する。
ステップS47に進み、ログインアプリ部1203はサービス提供システム1014のMFPポータルサービスアプリ1112に対し、サービス種別、商品コード及びユーザ属性参照コードを指定してテナント開設を要求する。なお、MFPポータルサービスアプリ1112のAPIをテナント開設、機器登録、利用権限設定などのように細かく分割しておくことで、ログインアプリ部1203はユーザに進捗状況を細かく通知することができるようになる。
ステップS48に進み、MFPポータルサービスアプリ1112は認証・認可部1121に対し、ユーザ属性参照コードを指定してユーザ情報を要求する。認証・認可部1121はユーザ属性参照コードに対応付いた姓、名、メールアドレスをMFPポータルサービスアプリ1112に返す。なお、MFPポータルサービスアプリ1112は、このタイミングでユーザに姓、名、メールアドレスを確認させて、ユーザから姓、名、メールアドレスの修正を受け付けることもできる。
ステップS49に進み、MFPポータルサービスアプリ1112はメールアドレスを指定してテナントライセンスの作成を認証・認可部1121に要求する。ステップS50に進み、認証・認可部1121は販売極のデフォルト値、販売圏のデフォルト値を指定してテナントライセンスの作成をライセンス管理部1160に要求する。
ライセンス管理部1160はテナントライセンスを作成し、そのテナントライセンスのテナントライセンス情報としてテナントIDを認証・認可部1121に返す。認証・認可部1121はテナントIDをMFPポータルサービスアプリ1112に返す。
ステップS51に進み、MFPポータルサービスアプリ1112はテナントIDを指定してテナント情報の作成を認証・認可部1121に要求する。認証・認可部1121は作成したテナント情報をMFPポータルサービスアプリ1112に返す。
ステップS52に進み、MFPポータルサービスアプリ1112は、サービス種別、商品コード、テナントIDを指定して、認証・認可部1121にサービスライセンスの作成を要求する。ステップS53に進み、認証・認可部1121はサービスライセンスの作成をライセンス管理部1160に要求する。ライセンス管理部1160はサービスライセンスを作成し、そのサービスライセンスのサービスライセンス情報を認証・認可部1121に返す。認証・認可部1121はサービスライセンス情報をMFPポータルサービスアプリ1112に返す。
ステップS54に進み、MFPポータルサービスアプリ1112は例えばメールアドレスからユーザIDを生成する。メールアドレスからユーザIDを生成することでサービス提供システム1014はユーザにユーザIDを意識させる必要がない。
ステップS55に進み、MFPポータルサービスアプリ1112は認証・認可部1121に対し、ユーザ属性参照コード、テナントID、ユーザID及びロールを指定してOIDCログインの継続を要求する。なお、ロールはテナント管理者とする。MFPポータルサービスアプリ1112は姓、名、メールアドレスの指定が無い場合、外部サービス1015から取得したユーザ情報を指定してもよい。
ステップS56に進み、認証・認可部1121はユーザ属性参照コードに対応付けられたユーザ情報を取得する。ステップS56で取得するユーザ情報には、IDトークン、scope、アクセストークン、リフレッシュトークン、姓、名、メールアドレスが含まれている。
ステップS57に進み、認証・認可部1121は、指定されたテナントID、ユーザID、姓、名、メールアドレス、ロールからユーザを作成する。また、ステップS58に進み、認証・認可部1121は作成したユーザとIDトークンとを指定して外部サービス1015との連携設定を行う。
ステップS59に進み、認証・認可部1121は作成したユーザと、ステップS56で取得したscope、アクセストークン、リフレッシュトークンとを指定して、OAuth設定情報を作成する。ステップS60に進み、認証・認可部1121は認証チケットを発行する。ステップS61において、認証・認可部1121はユーザ属性参照コードを破棄する。
このように認証・認可部1121は、ユーザ作成に成功したタイミングでユーザ属性参照コードを破棄する。そして、認証・認可部1121はユーザ情報と認証チケットとをMFPポータルサービスアプリ1112に返す。また、MFPポータルサービスアプリ1112はユーザ情報と認証チケットとを、画像形成装置1013のログインアプリ部1203に返す。以下では、図11に示したステップS55〜S61の処理を「共通6」の処理と呼ぶ。
ステップS62に進み、ログインアプリ部1203は画像形成装置1013のシリアルIDを取得する。ステップS63に進み、ログインアプリ部1203は認証チケット、シリアルID、サービス種別を指定して機器登録、利用権限設定をMFPポータルサービスアプリ1112に要求する。
ステップS64に進み、MFPポータルサービスアプリ1112は認証・認可部1121から本人情報を取得する。ステップS65に進み、MFPポータルサービスアプリ1112はテナントID、シリアルID、認証チケットを指定して、認証・認可部1121に機器登録を行う。
ステップS66に進み、MFPポータルサービスアプリ1112は認証・認可部1121からユーザ一覧を取得する。ステップS67に進み、MFPポータルサービスアプリ1112は認証チケット、サービス種別、利用権限及び管理権限を指定して認証・認可部1121に権限設定を行う。
MFPポータルサービスアプリ1112は取得したユーザ一覧から初期ユーザであるかを判定し、初期ユーザの場合に利用権限及び管理権限を指定し、初期ユーザ以外の場合に利用権限を指定する。
ステップS68に進み、MFPポータルサービスアプリ1112は認証チケットを指定して認証・認可部1121からテナント認証キーを取得する。ステップS69においてMFPポータルサービスアプリ1112はテナントIDとテナント認証キーとを画像形成装置1013のログインアプリ部1203に返す。
ステップS70に進み、ログインアプリ部1203はテナント情報としてテナントIDとテナント認証キーとをローカルストレージに保存する。ステップS71に進み、ログインアプリ部1203は、ローカルストレージに申込みフラグが保存されていることを確認する。ステップS72に進み、ログインアプリ部1203は申込み完了画面5007を表示する。
ステップS73に進み、ユーザは申込み完了画面5007に配置された「OK」ボタンを押下する。申込み完了画面5007に配置された「OK」ボタンが押下されると、MFPブラウザ部1202はステップS74に進み、ログインアプリ部1203に「OK」ボタンが押下されたことを通知する。
ステップS75に進み、ログインアプリ部1203はローカルストレージからログイン成功時のリダイレクト先を取得する。ステップS76に進み、ログインアプリ部1203はローカルストレージからログイン成功時のリダイレクト先、サービス種別、商品コードなどの不要なデータを削除する。
ステップS77に進み、ログインアプリ部1203は、MFPブラウザ部1202に外部サービス連携サービス画面5008へのリダイレクトを要求する。ステップS78に進み、MFPブラウザ部1202は外部サービス連携アプリ部1204にアクセスして外部サービス連携サービス画面5008を表示する。以下では、図12のステップS73〜S78の処理を「共通4」の処理と呼ぶ。
図7〜図12に示したフリートライアルでの外部サービス連携サービスの利用は以下に示すようなポイントを有している。
第1の実施形態に係る情報処理システム1000ではサービスライセンスを作成するために商品コードやサービス種別といった情報が必要となる。そこで、第1の実施形態に係る情報処理システム1000では外部サービス起動アイコンに、サービスライセンスを作成するために必要な情報を埋め込んでおく。また、情報処理システム1000では画像形成装置1013がサービス提供システム1014の外部サービス連携サービスアプリ1113からAPI経由で取得するようにしてもよい。
また、第1の実施形態に係る情報処理システム1000では、ユーザ属性参照コードを使ってクラウドリソースを作成する。ステップS42に示すように、サービス提供システム1014は外部サービス1015のアカウントと連携設定済みのユーザが存在しない場合に、ユーザ属性参照コードを発行する。第1の実施形態に係る情報処理システム1000では、発行したユーザ属性参照コードを使って、外部サービス1015のユーザ情報の確認、外部サービス1015のアカウントと連携したユーザが作成できる。
また、第1の実施形態に係る情報処理システム1000では、ユーザに通知を行いたい単位に、MFPポータルサービスアプリ1112のAPIを分割し、Ajaxにより自動で処理を行うようにすれば、ユーザに進捗状況を通知できるようになる。
また、第1の実施形態に係る情報処理システム1000では、ユーザ属性参照コードを使って、外部サービス1015のユーザ情報を取得できる。第1の実施形態に係る情報処理システム1000では、テナントライセンス情報、テナント情報、サービスライセンス情報、ユーザ情報を生成するための情報を外部サービス1015から取得する。
図13はユーザ属性参照コードを使って外部サービスのユーザ情報を取得するAPI仕様の一例である。MFPポータルサービスアプリ1112はユーザ属性参照コードを指定して認証・認可部1121にリクエストすることで、レスポンスとして姓、名、メールアドレスを取得できる。なお、MFPポータルサービスアプリ1112は姓、名、メールアドレス以外にもOpenID Connectで規定されている情報をレスポンスとして取得できる。
また、第1の実施形態に係る情報処理システム1000では、OIDCログインを継続できる。第1の実施形態に係る情報処理システム1000では、OIDCログインに使用した外部サービス1015のアカウントと連携済みのユーザを作成し、サービス提供システム1014の認証チケットを作成する。なお、ユーザ属性参照コードを使ったOIDCログインを継続する要求は一度しか実施できないので、同一のユーザ属性参照コードを使用して複数ユーザが作成されることはない。
図14はOIDCログインを継続するAPI仕様の一例である。MFPポータルサービスアプリ1112はユーザ属性参照コード、テナントID、ユーザID、ロール(ユーザ属性)を指定して認証・認可部1121にリクエストする。ユーザ属性は、オプションである。ユーザ属性が指定された場合、認証・認可部1121は、指定されたユーザ属性を持つユーザを作成する。
ユーザ属性が指定されなかった場合、認証・認可部1121は外部サービス1015から取得したユーザ属性を設定する。認証・認可部1121はOIDCログインに使用した外部サービス1015のアカウントと連携済みのユーザを作成する。認証・認可部1121はレスポンスとして作成したユーザのユーザ情報、認証チケットをレスポンスとしてMFPポータルサービスアプリ1112に返す。以降は外部サービス1015で認可処理を行うことでOIDCログインが可能となる。また、作成したユーザのユーザ情報にはアクセストークン、リフレッシュトークンが対応付けられる。
また、第1の実施形態に係る情報処理システム1000では、機器登録を行うことによりテナントと画像形成装置1013とを対応付けて管理できる。また、第1の実施形態に係る情報処理システム1000では、テナントと画像形成装置1013とを一元管理することで、OIDCログインできる画像形成装置1013の制限も行うことができる。第1の実施形態に係る情報処理システム1000はOIDCログインの一連のフローの中でテナントと画像形成装置1013とを登録するため、ユーザに意識させる必要がない。
また、第1の実施形態に係る情報処理システム1000では、フリートライアルで外部サービス連携サービスを利用するために必要な利用権限を付与できる。第1の実施形態に係る情報処理システム1000は初期ユーザの場合に利用権限の他、管理権限も付与している。第1の実施形態に係る情報処理システム1000は、OIDCログインの一連のフローの中で利用権限、管理権限を付与するため、ユーザに意識させる必要がない。
図15は、ユーザ属性参照コード情報の一例の構成図である。図15に示すユーザ属性参照コード情報は、ユーザ属性参照コード、sp_id、姓、名、メールアドレス、IDトークン、アクセストークン、リフレッシュトークンが対応付けられている。
図16は、サービス提供システムに作成される情報の一例について説明するための図である。なお、図16は複数の外部サービス1015のアカウントでOIDCログインが可能な場合のテーブル例を示している。
図16に示したテナント情報はテナントIDと、テナント認証キーとが対応付けられている。外部サービステナント情報はテナントIDとsp_idとドメインとが対応付けられている。ユーザ情報はテナントIDとユーザIDと姓と名とメールアドレスとが対応付けられている。
外部サービスユーザ情報は、テナントIDとユーザIDとsp_idと外部サービス1015のユーザ識別子「idp_user_id」とが対応付けられている。外部連携情報はID「id」とsp_idとテナントIDとユーザIDとscope(スコープ)とアクセストークンとリフレッシュトークンとが対応付けられている。
《テナントのユーザによる外部サービス連携サービスのフリートライアル》
画像形成装置1013の操作パネル602に表示される画面遷移図は図6と同様であるため説明を省略する。第1の実施形態に係る情報処理システム1000では図17〜図19に示す手順により、テナントのユーザによるフリートライアルでの外部サービス連携サービスの利用が開始される。図17〜図19はテナントのユーザによるフリートライアルでの外部サービス連携サービスの利用開始処理の一例のシーケンス図である。
ステップS101、S102において、ユーザは操作パネル602を操作し、今まで利用していた外部サービス連携サービス以外のサービスにログインし、サービス提供システム1014から認証チケットを取得する。認証チケットを取得したあと、図7の「共通1」の処理を行う。
ステップS103に進み、ユーザはトライアル申込み画面5003のチェックボックスにチェックを入れることで利用規約に同意する。ステップS104に進み、ユーザはトライアル申込み画面5003の「外部サービスアカウントで申込む」ボタンを押下する。
ステップS105に進み、MFPブラウザ部1202はログインアプリ部1203にOIDCログインを要求する。ステップS105のOIDCログインでは、ログイン成功時のリダイレクト先、サービス種別、商品コード、scope、認証チケットが指定されている。ステップS106に進み、ログインアプリ部1203はローカルストレージに、ログイン成功時のリダイレクト先、サービス種別、商品コード、scopeを保存する。
ステップS107に進み、ログインアプリ部1203はOIDCログインをサービス提供システム1014のMFPポータルサービスアプリ1112に要求する。ステップS107のOIDCログインではsp_id、ログイン成功時のリダイレクト先、ログイン失敗時のリダイレクト先、scope、認証チケットが指定される。
ステップS108に進み、MFPポータルサービスアプリ1112は認証・認可部1121にOIDCログインを要求する。ステップS108のOIDCログインではステップS107と同様な情報が指定される。ステップS109に進み、認証・認可部1121はリクエスト情報として、sp_id、ログイン成功時のリダイレクト先、ログイン失敗時のリダイレクト先、認証チケットを、stateと対応付けて保存する。認証・認可部1121は認証チケットに該当するユーザ情報もstateと対応付けて保存する。
ステップS110に進み、認証・認可部1121はstateを指定して外部サービス1015の認可画面へのリダイレクトを要求する。画像形成装置1013のMFPブラウザ部1202は外部サービス1015の認可画面へのリダイレクトを要求される。
ステップS111に進み、MFPブラウザ部1202は外部サービス1015に認可画面5005の取得を要求し、外部サービス1015のログイン画面5004にリダイレクトされる。ステップS112に進み、MFPブラウザ部1202は外部サービス1015のログイン画面5004の画面データを取得し、ログイン画面5004を表示する。
ログイン画面5004を表示したあと、図8の「共通3」の処理を行う。ステップS113に進み、ユーザは認可画面5005の「認可する」ボタンを押下する。ステップS114に進み、MFPブラウザ部1202は外部サービス1015に認可を要求し、コールバック、state、外部サービス一時コードを取得する。ステップS115に進み、MFPブラウザ部1202はstate、外部サービス一時コード、認証チケットを指定して認証・認可部1121にコールバックする。
ステップS116に進み、認証・認可部1121はstateに対応付けて保存しておいたリクエスト情報を取得する。ステップS117に進み、認証・認可部1121は外部サービス一時コードを指定して、外部サービス1015にトークン及びユーザ情報の取得を要求する。外部サービス1015は認証・認可部1121に対してトークン及びユーザ情報を返す。
外部サービス1015から認証・認可部1121に返されるトークンには、IDトークン、アクセストークン、リフレッシュトークンが含まれる。外部サービス1015から認証・認可部1121に返されるユーザ情報には姓、名、メールアドレスが含まれる。
ステップS118に進み、認証・認可部1121はIDトークンに該当するユーザを検索するが、フリートライアルの例を説明しているため、IDトークンに該当するユーザを検索することはできない。
ステップS119に進み、認証・認可部1121は認証チケットをチェックし、認証チケットに該当するユーザを検索する。ステップS120に進み、認証・認可部1121は検索したユーザとIDトークンとを指定して外部サービス1015との連携設定を行う。
ステップS121に進み、認証・認可部1121はOAuth設定情報を作成する。ステップS122に進み、認証・認可部1121は認証チケットを発行する。ステップS123に進み、認証・認可部1121はステップS122で発行した認証チケットを指定して画像形成装置1013のMFPブラウザ部1202にログイン成功時のリダイレクト先へリダイレクトさせる。ステップS124に進み、MFPブラウザ部1202はログイン成功画面の画面データをサービス提供システム1014のMFPポータルサービスアプリ1112から取得する。
ステップS125に進み、MFPブラウザ部1202は認証チケットを指定し、ログインアプリ部1203にサービスライセンス発行を要求する。ステップS126に進み、ログインアプリ部1203はサービス情報としてローカルストレージからサービス種別を取得する。
ステップS127に進み、ログインアプリ部1203はサービス提供システム1014のMFPポータルサービスアプリ1112に対し、サービス種別及び認証チケットを指定してサービスライセンスのチェックを依頼する。
ステップS128に進み、MFPポータルサービスアプリ1112は認証・認可部1121に対し、サービス種別及び認証チケットを指定してサービスライセンスのチェックを要求する。認証・認可部1121はサービス種別及び認証チケットに対応付いたサービスライセンスなしを画像形成装置1013のログインアプリ部1203に返す。
ステップS129に進み、ログインアプリ部1203はサービス提供システム1014のMFPポータルサービスアプリ1112に対し、サービス種別、商品コード及び認証チケットを指定してサービスライセンス発行を要求する。
ステップS130に進み、MFPポータルサービスアプリ1112は認証・認可部1121に対し、認証チケットを指定してテナント情報を取得する。ステップS131においてMFPポータルサービスアプリ1112は、サービス種別、商品コード、テナントIDを指定して、認証・認可部1121にサービスライセンスの作成を要求する。ステップS132に進み、認証・認可部1121はサービスライセンスの作成をライセンス管理部1160に要求する。ライセンス管理部1160はサービスライセンスを作成し、サービスライセンスのサービスライセンス情報を認証・認可部1121に返す。
ステップS133において、認証・認可部1121はサービスライセンス情報をMFPポータルサービスアプリ1112に返す。また、MFPポータルサービスアプリ1112はサービスライセンス情報をログインアプリ部1203に返す。
ステップS134〜S141の処理は図12のステップS62〜S69の処理と同様であるため、説明を省略する。ステップS142に進み、ログインアプリ部1203はテナント情報としてテナントIDとテナント認証キーとをローカルストレージに保存する。
ステップS143に進み、ログインアプリ部1203は申込み完了画面5007を表示する。申込み完了画面5007を表示したあと、図12の「共通4」の処理を行うことにより、MFPブラウザ部1202は外部サービス連携サービス画面5008を表示することができる。
図17〜図19に示したテナントのユーザによるフリートライアルでの外部サービス連携サービスの利用は以下に示すようなポイントを有している。
第1の実施形態に係る情報処理システム1000では翻訳サービスなど、既にサービス提供システム1014のサービスを利用しているユーザが、フリートライアルでの外部サービス連携サービスの利用を行う。第1の実施形態に係る情報処理システム1000は既に利用しているサービスの認証チケットを使って外部サービス1015のアカウントと連携させる。
このように、第1の実施形態に係る情報処理システム1000では、既に利用しているサービスのアカウントを使ってログインした状態で、新規に利用したい外部サービスの外部サービス起動アイコン部1201から利用開始できる。サービス提供システム1014のユーザと外部サービス1015のアカウントとの対応付けは認証チケットを使って行うことができる。
第1の実施形態に係る情報処理システム1000はOIDCログイン要求時にサービス提供システム1014の認証チケットが含まれている場合、認証チケットとstateパラメータとを対応付けて保存する。コールバック(callback)時にOIDCログイン要求と同じ認証チケットが含まれていれば、第1の実施形態に係る情報処理システム1000は、認証チケットに該当するユーザと外部サービス1015のアカウントとの連携設定を行う。
《契約済みのテナントのユーザによる外部サービス連携サービスの利用》
図20は画像形成装置の操作パネルに表示される画面遷移図である。なお、図20の画面遷移図は一部を除いて図6の画面遷移図と同様であるため、適宜説明を省略する。
画像形成装置1013の操作パネル602にはMFPトップ画面5001が表示されている。MFPトップ画面5001から外部サービス起動アイコンがユーザに押下されると操作パネル602にはログイン・申込み画面5002が表示される。
また、ログイン・申込み画面5002から「外部サービスでログイン」ボタンが押下されると、操作パネル602には空のHTMLの画面5012が表示される。空のHTMLの画面5012が表示されたあと、操作パネル602には、ユーザにより押下された外部サービス起動アイコンに対応する外部サービス1015のログイン画面5004が表示される。
ユーザは外部サービス1015のログイン画面5004からログインする。操作パネル602には認可画面5005が表示される。認可画面5005から「認可する」ボタンが押下されると、操作パネル602にはログイン失敗画面5006が表示される。ログイン失敗画面5006が表示されている間、情報処理システム1000では外部サービス連携サービスアプリ1113にアクセスするための処理が行われる。
外部サービス連携サービスアプリ1113へのアクセスが可能になると、操作パネル602には、ログイン完了画面5009が表示される。そして、ログイン完了画面5009から「OK」ボタンが押下されると、操作パネル602には外部サービス連携サービス画面5008が表示される。
第1の実施形態に係る情報処理システム1000では図21〜図23に示す手順により契約済みのテナントのユーザによる外部サービス連携サービスの利用が開始される。図21〜図23は契約済みのテナントのユーザによる外部サービス連携サービスの利用開始処理の一例のシーケンス図である。
まず、図7の「共通1」の処理を行う。ステップS151に進み、ログイン・申込み画面5002から「外部サービスでログイン」ボタンが押下されると、MFPブラウザ部1202はステップS152に進み、ログインアプリ部1203にOIDCログインを要求する。
ステップS152のOIDCログインでは、ログイン成功時のリダイレクト先、サービス種別、scopeが指定されている。ステップS153に進み、ログインアプリ部1203はローカルストレージに、ログイン成功時のリダイレクト先、サービス種別、scope、ログインフラグを保存する。
ステップS154に進み、ログインアプリ部1203はOIDCログインをサービス提供システム1014のMFPポータルサービスアプリ1112に要求する。ステップS154のOIDCログインではsp_id、ログイン成功時のリダイレクト先、ログイン失敗時のリダイレクト先、scopeが指定される。
ステップS155に進み、MFPポータルサービスアプリ1112は認証・認可部1121にOIDCログインを要求する。ステップS155のOIDCログインではステップS154と同様な情報が指定される。ステップS156に進み、認証・認可部1121はリクエスト情報として、sp_id、ログイン成功時のリダイレクト先、ログイン失敗時のリダイレクト先を、stateと対応付けて保存する。
ステップS157に進み、認証・認可部1121はstateを指定して外部サービス1015の認可画面へのリダイレクトを要求する。画像形成装置1013のMFPブラウザ部1202は外部サービス1015の認可画面へのリダイレクトを要求される。
ステップS158に進み、MFPブラウザ部1202は外部サービス1015に認可画面5005の取得を要求し、外部サービス1015のログイン画面5004にリダイレクトされる。ステップS159に進み、MFPブラウザ部1202は外部サービス1015のログイン画面5004の画面データを取得し、ログイン画面5004を表示する。以下では、図21のステップS151〜S159の処理を「共通5」の処理と呼ぶ。
ログイン画面5004を表示したあと、図8の「共通3」の処理を行う。ステップS160〜S170の処理は、図9のステップS34〜S44と同様であるため、説明を省略する。
ステップS171に進み、MFPブラウザ部1202はユーザ属性参照コードを指定してログインアプリ部1203にサービスライセンス発行を要求する。ステップS172に進み、ログインアプリ部1203は画像形成装置1013のシリアルIDを取得する。ステップS173に進み、ログインアプリ部1203はサービス提供システム1014のMFPポータルサービスアプリ1112に対し、OIDCログインの継続を要求する。
OIDCログインの継続を要求したと、図11の「共通6」の処理を行う。ステップS174に進み、ログインアプリ部1203は「共通6」の処理で生成された認証チケットと、シリアルIDと、サービス種別とを指定して機器登録、利用権限設定をMFPポータルサービスアプリ1112に要求する。ステップS175〜S180の処理は図12のステップS64〜S70の処理と同様であるため、説明を省略する。
ステップS181に進み、ログインアプリ部1203は、ローカルストレージにログインフラグが保存されていることを確認する。ステップS182に進み、ログインアプリ部1203はログイン完了画面5009を表示する。
ログイン完了画面5009を表示したあと、図12の「共通4」の処理を行う。これにより、画像形成装置1013の操作パネル602には外部サービス連携サービス画面5008が表示される。
図21〜図23に示した契約済みのテナントのユーザによる外部サービス連携サービスの利用ではフリートライアルでの外部サービス連携サービスの利用と同様に、ユーザ属性参照コードを使ってユーザを作成し、ログイン処理を行うことができる。
契約済みのテナントのユーザによる外部サービス連携サービスの利用では、初回に図21〜図23に示した処理を行う。2回目以降、契約済みのテナントのユーザによる外部サービス連携サービスの利用は、以下のように行われる。
図24は画像形成装置の操作パネルに表示される画面遷移図である。なお、図24の画面遷移図は一部を除いて図20の画面遷移図と同様であるため、適宜説明を省略する。
画像形成装置1013の操作パネル602にはMFPトップ画面5001が表示されている。MFPトップ画面5001から外部サービス起動アイコンがユーザに押下されると操作パネル602にはログイン・申込み画面5002が表示される。
また、ログイン・申込み画面5002から「外部サービスでログイン」ボタンが押下されると、操作パネル602には空のHTMLの画面5012が表示される。空のHTMLの画面5012が表示されたあと、操作パネル602には、ユーザにより押下された外部サービス起動アイコンに対応する外部サービス1015のログイン画面5004が表示される。
ユーザは外部サービス1015のログイン画面5004からログインする。操作パネル602には認可画面5005が表示される。認可画面5005から「認可する」ボタンが押下されると、操作パネル602にはログイン成功画面5010が表示される。ログイン成功画面5010が表示されている間、情報処理システム1000では外部サービス連携サービスアプリ1113にアクセスするための処理が行われる。
外部サービス連携サービスアプリ1113へのアクセスが可能になると、操作パネル602には、ログイン完了画面5009が表示される。そして、ログイン完了画面5009から「OK」ボタンが押下されると、操作パネル602には外部サービス連携サービス画面5008が表示される。
第1の実施形態に係る情報処理システム1000では図25〜図27に示す手順により2回目以降の契約済みのテナントのユーザによる外部サービス連携サービスの利用が開始される。図25〜図27は2回目以降の契約済みのテナントのユーザによる外部サービス連携サービスの利用開始処理の一例のシーケンス図である。
図25の処理は図21の処理と同様であるため、説明を省略する。ステップS201に進み、ユーザは認可画面5005の「認可する」ボタンを押下する。ステップS202に進み、MFPブラウザ部1202は外部サービス1015に認可を要求することでコールバック、state、外部サービス一時コードを取得する。ステップS203に進み、MFPブラウザ部1202はstate、外部サービス一時コード、認証チケットを指定して認証・認可部1121にコールバックする。
ステップS204に進み、認証・認可部1121はstateに対応付けて保存しておいたリクエスト情報を取得する。ステップS205に進み、認証・認可部1121は外部サービス一時コードを指定して、外部サービス1015にトークン及びユーザ情報の取得を要求する。外部サービス1015は認証・認可部1121に対してトークン及びユーザ情報を返す。
外部サービス1015から認証・認可部1121に返されるトークンには、IDトークン、アクセストークン、リフレッシュトークンが含まれる。外部サービス1015から認証・認可部1121に返されるユーザ情報には姓、名、メールアドレスが含まれる。
ステップS206に進み、認証・認可部1121はIDトークンに該当するユーザを検索する。ステップS207に進み、認証・認可部1121はOAuth設定情報を更新する。ステップS208に進み、認証・認可部1121は認証チケットを発行する。
ステップS123に進み、認証・認可部1121はステップS208で発行した認証チケットを指定して画像形成装置1013のMFPブラウザ部1202にログイン成功時のリダイレクト先へリダイレクトさせる。ステップS210に進み、MFPブラウザ部1202はログイン成功画面の画面データをサービス提供システム1014のMFPポータルサービスアプリ1112から取得する。
ステップS211に進み、MFPブラウザ部1202は認証チケットを指定し、ログインアプリ部1203にサービスライセンス発行を要求する。ステップS212に進み、ログインアプリ部1203はサービス情報としてローカルストレージからサービス種別を取得する。
ステップS213に進み、ログインアプリ部1203はサービス提供システム1014のMFPポータルサービスアプリ1112に対し、サービス種別及び認証チケットを指定してサービスライセンスのチェックを依頼する。
ステップS214に進み、MFPポータルサービスアプリ1112は認証・認可部1121に対し、サービス種別及び認証チケットを指定してサービスライセンスのチェックを要求する。認証・認可部1121はサービス種別及び認証チケットに対応付いたサービスライセンスを画像形成装置1013のログインアプリ部1203に返す。
ステップS215〜S222の処理は図12のステップS62〜S69の処理と同様であるため、説明を省略する。ステップS223に進み、ログインアプリ部1203はテナント情報としてテナントIDとテナント認証キーとをローカルストレージに保存する。
ステップS224に進み、ログインアプリ部1203は、ローカルストレージにログインフラグが保存されていることを確認する。ステップS225に進み、ログインアプリ部1203はログイン完了画面5009を表示する。
ログイン完了画面5009を表示したあと、図12の「共通4」の処理を行う。これにより、画像形成装置1013の操作パネル602には外部サービス連携サービス画面5008が表示される。
第1の実施形態に係る情報処理システム1000では図25〜図27に示す手順により2回目以降の契約済みのテナントのユーザによる外部サービス連携サービスの利用を開始できる。
なお、図6、図20及び図24に示した画面遷移図をまとめると例えば図28に示すような画面遷移図となる。図28は画像形成装置の操作パネルに表示される全体画面遷移図である。図28の画面遷移図ではログイン・申込み画面5002においてトライアル申込みをしていないユーザが「外部サービスでログイン」を押下した場合に表示するトライアル申込み画面5012が含まれる。また、ログイン失敗画面5006又はログイン成功画面5010においてエラーが発生した場合に表示するエラー画面5011が含まれる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。認証・認可部1121は特許請求の範囲に記載した認証手段の一例である。外部サービス連携サービスアプリ1113はサービス提供手段の一例である。ユーザ属性参照コードは参照コード情報の一例である。外部サービス起動アイコン部1201は起動アイコン手段の一例である。ログインアプリ部1203はログイン手段の一例である。