(57)【要約】【課題】ウェブブラウザで表示した操作画面への操作に従って所定の入出力機能を実行する電子機器において、外部アプリを用いて電子機器の所定の機能を容易に制御することができるようにする。【解決手段】情報処理システムは、電子機器とサーバ装置とを含む情報処理システムであって、電子機器は第１のウェブコンテンツをサーバ装置から取得するウェブブラウザと第１のインタフェースで呼び出された所定の処理を実行する入出力処理部とを有し、ウェブブラウザは、第１のウェブコンテンツを実行することにより、第１のウェブコンテンツのｉｆｒａｍｅ内に外部サーバから取得した第２のウェブコンテンツの表示画面を表示させ、第２のウェブコンテンツに電子機器の所定の処理を利用するための第２のインタフェースを提供し、第２のインタフェースで受け付けた所定の処理を第１のインタフェースで入出力処理部に実行させる。【選択図】図４
2020123978.tif 000002
【特許請求の範囲】
【請求項１】
ウェブブラウザを有する電子機器と、前記電子機器から前記ウェブブラウザを介してアクセスされ、前記電子機器の所定の入出力機能を提供するウェブアプリケーションを有するサーバ装置と、を含む情報処理システムであって、
前記電子機器は、
前記所定の入出力機能を実行する操作画面に係る第１のウェブコンテンツであって、前記所定の入出力機能の実行要求を含む前記第１のウェブコンテンツを、前記サーバ装置にアクセスして前記サーバ装置から取得する前記ウェブブラウザと、
前記第１のウェブコンテンツに含まれる実行要求に基づいて呼び出される第１のインタフェースであって、前記所定の入出力機能を利用するための第１のインタフェースを有し、前記第１のインタフェースで呼び出された前記所定の入出力機能を利用する処理を実行する入出力処理部と、
を有し、
前記ウェブブラウザは、前記第１のウェブコンテンツを実行することにより、
前記第１のウェブコンテンツのｉｆｒａｍｅ内に、外部サーバから取得した第２のウェブコンテンツの表示画面を表示させ、
前記第２のウェブコンテンツに、前記電子機器の前記所定の入出力機能を利用するための第２のインタフェースを提供し、
前記第２のインタフェースで受け付けた前記所定の入出力機能を利用する処理を、前記第１のインタフェースで呼び出すことにより、前記入出力処理部に実行させる情報処理システム。
【請求項２】
前記入出力処理部は、
前記第１のインタフェースで呼び出された前記処理の要求元が、前記第１のウェブコンテンツとは異なる場合、該処理の要求を拒否、又は無視するＡＰＩ制御部を有する請求項１に記載の情報処理システム。
【請求項３】
前記サーバ装置は、
前記入出力処理部に、前記所定の入出力機能を利用する処理を実行させるための命令データを生成する命令生成部と、
前記命令データの生成を要求する要求情報を受け付ける第３のインタフェースと、
を有する請求項１又は２に記載の情報処理システム。
【請求項４】
前記サーバ装置は、
前記第３のインタフェースで受け付けた要求情報の要求元が正当な権限を有するかを検証する認証認可部を有する請求項３に記載の情報処理システム。
【請求項５】
前記ウェブブラウザは、前記第１のウェブコンテンツを実行することにより、
前記電子機器が有する権限を継承した、前記第２のウェブコンテンツの前記正当な権限を前記認証認可部から取得し、前記第２のインタフェースを介して、前記第２のウェブコンテンツに通知する請求項４に記載の情報処理システム。
【請求項６】
前記ウェブブラウザは、前記第１のウェブコンテンツを実行することにより、
前記第２のウェブコンテンツが必要とする権限情報の承認を要求する認可要求画面を表示し、
前記承認が得られたとき、前記第２のウェブコンテンツの前記正当な権限を前記認証認可部から取得する請求項５に記載の情報処理システム。
【請求項７】
前記サーバ装置は、
前記第２のウェブコンテンツの提供者による前記第２のウェブコンテンツの設定情報の登録を受け付けるアプリ情報設定部を有し、
前記第２のウェブコンテンツの設定情報は、前記第２のウェブコンテンツが必要とする前記権限情報を含む請求項６に記載の情報処理システム。
【請求項８】
前記サーバ装置は、
前記電子機器のグループを管理する管理者による、前記電子機器のグループの操作画面に表示する前記第２のウェブコンテンツの設定を受け付けるテナント情報設定部を有する請求項１乃至７のいずれか一項に記載の情報処理システム。
【請求項９】
前記第２のウェブコンテンツの設定情報は、前記第２のウェブコンテンツの公開を許可する前記電子機器のグループの情報を含み、
前記テナント情報設定部は、
前記管理者が管理する前記電子機器のグループに公開が許可された前記第２のウェブコンテンツの中から、前記管理者が管理する前記電子機器のグループの操作画面に表示する前記第２のウェブコンテンツの設定を受け付ける請求項８に記載の情報処理システム。
【請求項１０】
前記第２のウェブコンテンツの設定情報は、前記第２のウェブコンテンツのアイコン、及び前記第２のウェブコンテンツのテキスト情報を含み、
前記第１のウェブコンテンツは、前記第２のウェブコンテンツの設定情報に基づいて、前記電子機器で利用可能な前記第２のウェブコンテンツの一覧を選択可能に表示し、
選択された前記第２のウェブコンテンツを、前記第１のウェブコンテンツのｉｆｒａｍｅ内に表示する請求項７乃至９のいずれか一項に記載の情報処理システム。
【請求項１１】
前記第２のウェブコンテンツのテキスト情報は、多言語で設定可能であり、
前記第１のウェブコンテンツは、
前記電子機器の言語設定に従って、前記第２のウェブコンテンツの一覧を表示する請求項１０に記載の情報処理システム。
【請求項１２】
ウェブブラウザを有する電子機器と、前記電子機器から前記ウェブブラウザを介してアクセスされ、前記電子機器の所定の入出力機能を提供するウェブアプリケーションを有するサーバ装置と、を含む情報処理システムによる情報処理方法であって、
前記電子機器は、
前記所定の入出力機能を実行する操作画面に係る第１のウェブコンテンツであって、前記所定の入出力機能の実行要求を含む前記第１のウェブコンテンツを、前記サーバ装置にアクセスして前記サーバ装置から取得する前記ウェブブラウザと、
前記第１のウェブコンテンツに含まれる実行要求に基づいて呼び出される第１のインタフェースであって、前記所定の入出力機能を利用するための第１のインタフェースを有し、前記第１のインタフェースで呼び出された前記所定の入出力機能を利用する処理を実行する入出力処理部と、
を有し、
前記ウェブブラウザは、前記第１のウェブコンテンツを実行することにより、
前記第１のウェブコンテンツのｉｆｒａｍｅ内に、外部サーバから取得した第２のウェブコンテンツの表示画面を表示させ、
前記第２のウェブコンテンツに、前記電子機器の前記所定の入出力機能を利用するための第２のインタフェースを提供し、
前記第２のインタフェースで受け付けた前記所定の入出力機能を利用する処理を、前記第１のインタフェースで呼び出すことにより、前記電子機器に実行させる情報処理方法。
【請求項１３】
ウェブブラウザを有し、前記ウェブブラウザから第１のインタフェースで受け付けた所定の入出力機能を利用する処理を実行する電子機器から、前記ウェブブラウザを介してアクセスされ、前記電子機器の前記所定の入出力機能を提供するウェブアプリケーションを有する情報処理装置であって、
前記電子機器の前記所定の入出力機能を実行する操作画面に係る第１のウェブコンテンツであって、前記所定の入出力機能の実行要求を含む前記第１のウェブコンテンツを、前記電子機器に提供する機器アプリ配信部を有し、
前記第１のウェブコンテンツは、前記ウェブブラウザに、
前記第１のウェブコンテンツのｉｆｒａｍｅ内に、外部サーバから取得した第２のウェブコンテンツの表示画面を表示させる機能と、
前記第２のウェブコンテンツに、前記電子機器の前記所定の入出力機能を利用するための第２のインタフェースを提供する機能と、
前記第２のインタフェースで受け付けた前記所定の入出力機能を利用する処理を、前記第１のインタフェースで呼び出すことにより、前記電子機器に実行させる機能と、
を実現させることを特徴とする情報処理装置。
【請求項１４】
ウェブブラウザを有し、前記ウェブブラウザから第１のインタフェースで受け付けた所定の入出力機能を利用する処理を実行する電子機器から、前記ウェブブラウザを介してアクセスされ、前記電子機器の前記所定の入出力機能を提供するウェブアプリケーションを有する情報処理装置を、
前記電子機器の前記所定の入出力機能を実行する操作画面に係る第１のウェブコンテンツであって、前記所定の入出力機能の実行要求を含む前記第１のウェブコンテンツを、前記電子機器に提供する機器アプリ配信部として機能させ、
前記第１のウェブコンテンツは、前記ウェブブラウザに、
前記第１のウェブコンテンツのｉｆｒａｍｅ内に、外部サーバから取得した第２のウェブコンテンツの表示画面を表示させる機能と、
前記第２のウェブコンテンツに、前記電子機器の前記所定の入出力機能を利用するための第２のインタフェースを提供する機能と、
前記第２のインタフェースで受け付けた前記所定の入出力機能を利用する処理を、前記第１のインタフェースを用いて前記電子機器に実行させる機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
印刷処理等の画像形成処理を行う画像形成装置において、ウェブブラウザを用いて操作画面を表示する技術が知られている。
【０００３】
また、ウェブページの印刷において、印刷領域を判り易く表示するために、印刷領域を、ウェブページ内のｉｆｒａｍｅ内に表示する技術が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、画像形成装置等のウェブブラウザを用いて、サーバ装置が提供するウェブアプリケーションを実行することにより、画像形成装置等の操作画面を選択可能に表示し、操作画面から選択された画像形成処理（例えば印刷）等を実行させることができる。
【０００５】
しかし、ウェブブラウザを用いて、例えば、サードパーティが提供するウェブアプリケーション（以下、外部アプリと呼ぶ）に操作画面を表示させる場合、外部アプリが、画像形成装置の画像形成処理を制御することには困難を伴う。
【０００６】
このような課題は、画像形成装置に限られず、ウェブブラウザで操作画面を表示し、操作画面への操作に応じて所定の入出力機能を利用する様々な電子機器に共通に存在する。
【０００７】
本発明の実施の形態は、上記問題点に鑑みてなされたものであって、ウェブブラウザで表示した操作画面への操作に従って所定の入出力機能を実行する電子機器において、外部アプリを用いて電子機器の所定の機能を容易に制御することができるようにする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明の一実施形態に係る情報処理システムは、ウェブブラウザを有する電子機器と、前記電子機器から前記ウェブブラウザを介してアクセスされ、前記電子機器の所定の入出力機能を提供するウェブアプリケーションを有するサーバ装置と、を含む情報処理システムであって、前記電子機器は、前記所定の入出力機能を実行する操作画面に係る第１のウェブコンテンツであって、前記所定の入出力機能の実行要求を含む前記第１のウェブコンテンツを、前記サーバ装置にアクセスして前記サーバ装置から取得する前記ウェブブラウザと、前記第１のウェブコンテンツに含まれる実行要求に基づいて呼び出される第１のインタフェースであって、前記所定の入出力機能を利用するための第１のインタフェースを有し、前記第１のインタフェースで呼び出された前記所定の入出力機能を利用する処理を実行する入出力処理部と、を有し、前記ウェブブラウザは、前記第１のウェブコンテンツを実行することにより、前記第１のウェブコンテンツのｉｆｒａｍｅ内に、外部サーバから取得した第２のウェブコンテンツの表示画面を表示させ、前記第２のウェブコンテンツに、前記電子機器の前記所定の入出力機能を利用するための第２のインタフェースを提供し、前記第２のインタフェースで受け付けた前記所定の入出力機能を利用する処理を、前記第１のインタフェースで呼び出すことにより、前記入出力処理部に実行させる情報処理システム。
【発明の効果】
【０００９】
本発明の実施の形態によれば、ウェブブラウザで表示した操作画面への操作に従って所定の入出力機能を実行する電子機器において、外部アプリを用いて電子機器の所定の機能を容易に制御することができるようになる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る情報処理システムの構成例を示す図である。
【図２】一実施形態に係るコンピュータのハードウェア構成例を示す図である。
【図３】一実施形態に係る画像形成装置のハードウェア構成例を示す図である。
【図４】第１の実施形態に係る情報処理システムの機能構成図である。
【図５】第１の実施形態に係る画像形成装置の機能構成図である。
【図６】第１の実施形態に係る外部アプリ設定情報の設定画面の例を示す図である。
【図７】第１の実施形態に係る外部アプリ設定情報の例を示す図である。
【図８】第１の実施形態に係るテナント設定情報の設定画面の例を示す図である。
【図９】第１の実施形態に係るサービス提供システムが管理する情報の例を示す図である。
【図１０】第１の実施形態に係る外部アプリの検索処理の例を示すフローチャートである。
【図１１】第１の実施形態に係る操作画面の表示処理の例を示すシーケンス図（１）である。
【図１２】第１の実施形態に係る操作画面の表示処理の例を示すシーケンス図（２）である。
【図１３】第１の実施形態に係る操作画面の例を示す図である。
【図１４】第１の実施形態に係る外部アプリ一覧情報の例を示す図である。
【図１５】第１の実施形態に係る印刷処理の例を示すシーケンス図である。
【図１６】第２の実施形態に係る情報処理システムの機能構成図である。
【図１７】第２の実施形態に係るＩＣカード未登録時の認証処理の例を示すシーケンス図である。
【図１８】第２の実施形態に係るＩＣカード登録後の認証処理の例を示すシーケンス図である。
【図１９】第２の実施形態に係る操作画面の例を示す図である。
【図２０】一実施形態に係るトークンの継承関係を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態について、添付の図面を参照して説明する。
【００１２】
＜システムの構成＞
初めに、本実施形態に係る情報処理システムの構成について説明する。
【００１３】
＜システム構成＞
図１は、一実施形態に係る情報処理システムの構成例を示す図である。情報処理システム１００は、例えば、インターネットやＬＡＮ（Local Area Network）等のネットワーク１４０に接続された、サービス提供システム１１０、画像形成装置１２０、外部サーバ１３０等を有する。
【００１４】
サービス提供システム（サーバ装置）１１０は、ウェブサーバ機能を有する情報処理装置、又は複数の情報処理装置を含むシステムである。サービス提供システム１１０は、画像形成装置１２０等の電子機器に、電子機器の所定の入出力機能を利用するためのウェブコンテンツ（以下、機器アプリコンテンツと呼ぶ）を提供する。
【００１５】
画像形成装置１２０は、例えば、スキャン、印刷、コピー、ファックス等の機能を有する複合機や、印刷機能を有するプリンタ等の電子機器である。画像形成装置１２０は、サービス提供システム１１０によって提供される機器アプリコンテンツを取得し、実行する。
【００１６】
機器アプリコンテンツは、例えば、画像形成装置１２０のウェブブラウザ部１２１で動作するウェブアプリケーションである。ウェブブラウザ部１２１は、機器アプリコンテンツにより、画像形成装置１２０の操作パネル等に画像形成装置１２０の操作画面を表示する。
【００１７】
また、画像形成装置１２０は、ウェブブラウザ部１２１で動作する機器アプリコンテンツから、画像形成機能（例えば印刷機能）を利用するための第１のＡＰＩ（Application Programming Interface）を有する。
【００１８】
これにより、画像形成装置１２０のウェブブラウザ部１２１で動作する機器アプリコンテンツは、画像形成装置１２０の操作パネル等に表示した選択画面から選択された処理を、画像形成装置１２０の第１のＡＰＩを用いて、画像形成装置１２０に実行させる。
【００１９】
また、本実施形態に係る機器アプリコンテンツは、外部サーバ１３０で、例えば、サードパーティ等によって提供されるウェブコンテンツ（以下、外部アプリコンテンツと呼ぶ）を取得し、機器アプリコンテンツのｉｆｒａｍｅ内に表示させる。
【００２０】
ｉｆｒａｍｅ（インラインフレーム）とは、ウェブページ内の所定の領域内に、別のウェブページを表示させる機能である。これにより、機器アプリコンテンツ（第１のウェブコンテンツ）は、外部アプリコンテンツ（第２のウェブコンテンツ）の操作画面を、画像形成装置１２０の操作パネル等に表示させる。
【００２１】
さらに、機器アプリコンテンツは、外部アプリコンテンツに、画像形成装置１２０の画像形成機能を利用するための第２のＡＰＩを提供する。機器アプリコンテンツは、外部アプリコンテンツから、第２のＡＰＩを介して受け付けた画像形成機能を利用する処理を、第１のＡＰＩを用いて画像形成装置１２０に実行させる。
【００２２】
このように、本実施形態に係る情報処理システム１００によれば、ウェブブラウザ部１２１で外部アプリを実行して操作画面を表示する画像形成装置１２０において、外部アプリから画像形成装置１２０の所定の機能を、容易に制御することができるようになる。
【００２３】
なお、画像形成装置１２０は、ウェブブラウザで外部アプリを実行して操作画面を表示する電子機器の一例である。電子機器は、例えば、テレビ会議装置、テレビ、録画再生装置等、ウェブブラウザで操作画面を表示する他の電子機器にも適用することができる。
【００２４】
＜ハードウェア構成＞
（コンピュータのハードウェア構成）
サービス提供システム１１０、及び外部サーバ１３０は、一般的なコンピュータのハードウェア構成を有する１つ以上の情報処理装置によって実現される。ここでは、一般的なコンピュータのハードウェア構成について説明する。
【００２５】
図２は、一実施形態に係るコンピュータのハードウェア構成例を示す図である。コンピュータ２００は、例えば、ＣＰＵ（Central Processing Unit）２０１、ＲＡＭ（Random Access Memory）２０２、ＲＯＭ（Read Only Memory）２０３、ストレージ部２０４、ネットワークＩ／Ｆ（Interface）２０５、入力装置２０６、表示装置２０７、外部Ｉ／Ｆ２０８、及びバス２０９等を有する。
【００２６】
ＣＰＵ２０１は、ＲＯＭ２０３やストレージ部２０４等に格納されたプログラムやデータをＲＡＭ２０２上に読み出し、処理を実行することで、コンピュータ２００の各機能を実現する演算装置である。ＲＡＭ２０２は、ＣＰＵ２０１のワークエリア等として用いられる揮発性のメモリである。ＲＯＭ２０３は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。
【００２７】
ストレージ部２０４は、例えば、ＨＤＤ（Hard Disk Drive）や、ＳＳＤ（Solid State Drive）等の大容量の記憶装置であり、ＯＳ（Operation System）、アプリケーションプログラム、各種のデータ等を記憶する。
【００２８】
ネットワークＩ／Ｆ２０５は、コンピュータ２００をネットワーク１４０に接続するための通信インタフェースである。
【００２９】
入力装置２０６は、例えば、マウス等のポインティングデバイスや、キーボード等の入力デバイスであり、コンピュータ２００に各操作信号を入力するために用いられる。
【００３０】
表示装置２０７はディスプレイ等の表示デバイスであり、コンピュータ２００による処理結果等を表示する。
【００３１】
外部Ｉ／Ｆ２０８は、外部装置とのインタフェースである。外部装置には、例えば、記録媒体２１０等が含まれる。コンピュータ２００は、例えば、記録媒体２１０に所定のプログラムを格納し、この記録媒体２１０に格納されたプログラムを外部Ｉ／Ｆ２０８を介して、コンピュータ２００にインストールすることにより、所定のプログラムが実行可能となる。
【００３２】
バス２０９は、上記の各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。
【００３３】
なお、図２の構成はあくまで一例である。例えば、コンピュータ２００は、入力装置２０６、表示装置２０７等を外部に有していても良い。
【００３４】
（画像形成装置のハードウェア構成）
図３は、一実施形態に係る画像形成装置のハードウェア構成例を示す図である。画像形成装置１２０は、一般的なコンピュータの構成を含み、例えば、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ストレージ部３０４、ネットワークＩ／Ｆ３０５、操作部３０６、スキャナ３０７、プリンタ３０８、及び画像メモリ３０９、外部Ｉ／Ｆ３１０、及びバス３１２等を有する。
【００３５】
ＣＰＵ３０１は、ＲＯＭ３０３やストレージ部３０４等に格納されたプログラムやデータをＲＡＭ３０２上に読み出し、処理を実行することで、画像形成装置１２０の各機能を実現する演算装置である。ＲＡＭ３０２は、ＣＰＵ３０１のワークエリア等として用いられる揮発性のメモリである。ＲＯＭ３０３は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。
【００３６】
ストレージ部３０４は、例えば、ＨＤＤや、ＳＳＤ等の大容量の記憶装置であり、ＯＳ（Operation System）、アプリケーションプログラム、各種のデータ等を記憶する。
【００３７】
ネットワークＩ／Ｆ３０５は、画像形成装置１２０をネットワーク１４０に接続するための通信インタフェースである。
【００３８】
操作部３０６は、利用者の入力操作を受け付ける、例えば、タッチパネル等の入力デバイスと、画像等を表示する、例えば、ＬＣＤ（Liquid Crystal Display）等の表示デバイス部とを有する表示入力部である。また、操作部３０６は、一般的なコンピュータの構成（例えば、ＣＰＵ、ＲＡＭ、ＲＯＭ、ストレージ部、ネットワークＩ／Ｆ等）を有し、例えば、ウェブブラウザ等のプログラムを実行可能なものであっても良い。
【００３９】
スキャナ３０７は、原稿から画像を読み取り、画像データに変換する読取装置である。プリンタ３０８は、画像データを印刷する印刷装置である。画像メモリ３０９は、画像の読み取り、印刷、コピー等における画像処理で作業領域として用いるメモリである。
【００４０】
外部Ｉ／Ｆ３１０は、外部装置とのインタフェースである。外部装置には、例えば、ＩＣカードリーダ３１１や、生体認証装置等の外部認証装置や、記録媒体等が含まれる。
【００４１】
バス３１２は、上記の各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。
【００４２】
＜機能構成＞
図４は、一実施形態に係る情報処理システムの機能構成図である。図４に示す情報処理システム１００は、図１に示す情報処理システム１００に対応している。
【００４３】
（サービス提供システムの機能構成）
サービス提供システム（サーバ装置）１１０は、機器アプリ配信部４０１、命令生成部４０２、機器ログ管理部４０３、認証認可部４０４、テナント設定管理部４０５、外部アプリ設定管理部４０６、テナント情報設定部４０９、外部アプリ情報設定部４１０、及び記憶部４１１等を有する。
【００４４】
サービス提供システム１１０は、機器アプリコンテンツの配信、画像形成装置に画像形成処理を実行させるための命令の投入（生成、配信等）、及び画像形成装置１２０の管理等を行うためのサービスを提供する。サービス提供システム１１０は、一例として、クラウドサービス等として提供される。
【００４５】
機器アプリ配信部４０１は、画像形成装置１２０が、画像形成装置１２０のウェブブラウザ部１２１で動作する機器アプリコンテンツ４１２を配信する手段であり、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。
【００４６】
機器アプリコンテンツ４１２は、画像形成装置１２０のウェブブラウザ部１２１で動作するウェブコンテンツであり、画像形成装置１２０の操作画面の表示、及び画像形成装置１２０による画像形成処理の制御等を行う。
【００４７】
命令生成部４０２は、画像形成装置１２０に対する命令（例えば、印刷命令等の命令データ）を生成し、画像形成装置１２０からの要求に応じて、生成した命令を画像形成装置１２０に配信する。命令生成部４０２は、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。
【００４８】
機器ログ管理部４０３は、画像形成装置１２０から送信される画像形成装置１２０のステータス情報や、実行した画像形成処理に関するログ情報（以下、ジョブログと呼ぶ）等を記憶し、管理する。機器ログ管理部４０３は、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。
【００４９】
認証認可部４０４は、サービス提供システムのユーザの認証処理、画像形成装置１２０の認証、認可処理、及びユーザ、画像形成装置１２０に関する情報（認証認可情報４１５）の管理等を行う。認証認可部４０４は、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。
【００５０】
テナント設定管理部４０５は、例えば、テナント情報設定部４０９等によって設定されるテナント設定情報４１４を記憶部４１１に記憶して、管理する手段であり、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。
【００５１】
テナントとは、複数の画像形成装置１２０を１つのグループとして一括して管理する管理単位である。テナントは、例えば、会社、事業部、職場等の任意の単位で画像形成装置１２０の設定を行うために用いられる。テナント設定管理部４０５が管理するテナント設定情報４１４については、後述する。
【００５２】
外部アプリ設定管理部４０６は、例えば、外部アプリ情報設定部４１０等によって設定される外部アプリコンテンツに関する設定情報である外部アプリ設定情報４１３を記憶部４１１に記憶して、管理する。外部アプリ設定管理部４０６は、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。
【００５３】
外部アプリコンテンツは、画像形成装置１２０や、機器アプリコンテンツ４１２を提供するベンダーとは異なるサードパーティ等から提供されるウェブコンテンツであり、図４の例では、外部サーバ１３０の外部アプリ配信部４３１によって提供される。
【００５４】
一例として、外部アプリコンテンツは、外部サーバ１３０の記憶部４３５に記憶した画像やドキュメント等のコンテンツの一覧を選択可能に表示し、選択されたコンテンツの印刷等を、機器アプリコンテンツ４１２に要求する。
【００５５】
なお、上記の機器アプリ配信部４０１、命令生成部４０２、機器ログ管理部４０３、認証認可部４０４、テナント設定管理部４０５、外部アプリ設定管理部４０６等のサービス４０７は、例えば、ウェブＡＰＩ等のＡＰＩ４０８を介して、外部から利用可能である。例えば、画像形成装置１２０、外部サーバ１３０、テナント情報設定部４０９、及び外部アプリ情報設定部４１０等は、サービス提供システム１１０のＡＰＩ（第３のインタフェース）４０８を利用して、サービス４０７の利用を要求することができる。
【００５６】
テナント情報設定部４０９は、テナントの管理を行う管理者が、テナントの管理下にある画像形成装置１２０で、どの外部アプリコンテンツを実行させるかを設定するための手段であり、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。テナントの管理者は、例えば、ＰＣ（Personal Computer）や、タブレット端末等の情報端末のウェブブラウザで、テナント情報設定部４０９が提供するウェブ画面を表示し、設定を行う。
【００５７】
外部アプリ情報設定部４１０は、外部アプリコンテンツの開発者（又は提供者）が、画像形成装置１２０で実行可能な外部アプリコンテンツを登録、設定するための手段であり、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。外部アプリコンテンツの開発者等は、例えば、情報端末のウェブブラウザで、外部アプリ情報設定部４１０が提供するウェブ画面を表示し、外部アプリコンテンツの登録、設定等を行う。
【００５８】
記憶部４１１は、例えば、前述した機器アプリコンテンツ４１２、外部アプリ設定情報４１３、テナント設定情報４１４、認証認可情報４１５等を記憶する記憶手段である。記憶部４１１は、例えば、図２のストレージ部２０４、ＲＡＭ２０２、及び図２のＣＰＵ２０１で動作するプログラム等によって実現される。
【００５９】
なお、図４に示すサービス提供システム１１０の各機能構成は、複数の情報処理装置に分散して配置されていても良い。
【００６０】
（画像形成装置の機能構成）
画像形成装置１２０は、ウェブブラウザ部１２１で表示した操作画面への操作に従って所定の入出力機能を実行する電子機器の一例である。
【００６１】
画像形成装置１２０は、入出力処理部４２１と、ウェブブラウザ部１２１とを有する。
【００６２】
入出力処理部４２１は、ウェブブラウザ部１２１に、画像形成装置１２０の入出力機能である画像形成機能を利用するための第１のＡＰＩ（第１のインタフェース）４２２を提供し、第１のＡＰＩ４２２で受け付けた画像形成機能を利用する処理を実行する。
【００６３】
ウェブブラウザ部１２１は、サービス提供システム１１０から取得する機器アプリコンテンツ（第１のウェブコンテンツ）、及び外部サーバ１３０等から取得する外部アプリコンテンツ（第のウェブコンテンツ）を動作させるウェブブラウザである。ウェブブラウザ部１２１は、例えば、図３のＣＰＵ３０１で実行されるプログラム、又はコンピュータの構成を有する操作部３０６で実行されるプログラム等によって実現される。
【００６４】
ウェブブラウザ部１２１で動作する機器アプリコンテンツ４２３は、ウェブブラウザ部１２１で動作する外部アプリコンテンツ４２５に、画像形成装置１２０の画像形成機能を利用するための第２のＡＰＩ（第２のインタフェース）４２４を提供する。
【００６５】
図５は、第１の実施形態に係る画像形成装置の機能構成図である。図５は、図４に示す画像形成装置１２０のさらに詳細な構成を示している。図５に示すように、画像形成装置１２０のウェブブラウザ部１２１では、サービス提供システム１１０からダウンロード（取得）された機器アプリコンテンツ４２３が動作する。
【００６６】
好ましくは、ウェブブラウザ部１２１は、画像形成装置１２０の起動後に自動的に機器アプリコンテンツ４２３を表示し、他のＵＲＬへの変更はできないようになっている。
【００６７】
また、機器アプリコンテンツ４２３は、自コンテンツ内にｉｆｒａｍｅ要素を有し、ｉｆｒａｍｅ５０１の範囲内に外部アプリコンテンツ４２５を表示させる。
【００６８】
また、入出力処理部４２１は、例えば、ＡＰＩ制御部５０２と、画像形成部５０３とを含む。
【００６９】
ＡＰＩ制御部５０２は、画像形成装置１２０の画像形成機能を利用するための第１のＡＰＩ（第１のインタフェース）４２２を提供し、第１のＡＰＩ４２２で受け付けた処理を画像形成部５０３に実行させる。
【００７０】
好ましくは、ＡＰＩ制御部５０２は、予め定められた機器アプリコンテンツ４２３とは異なるウェブコンテンツ（例えば、外部アプリコンテンツ４２５）から、第１のＡＰＩで受け付けた命令を拒否、又は無視する。これにより、画像形成装置１２０で実行される全ての画像形成処理の記録（ジョブログ等）を、機器アプリコンテンツ４２３と、サービス提供システム１１０とで、管理することができるようになる。ＡＰＩ制御部５０２は、例えば、図３のＣＰＵ３０１で実行されるプログラムによって実現される。
【００７１】
画像形成部５０３は、ＡＰＩ制御部５０２からの制御に応じて、画像形成装置１２０の画像形成機能を利用する処理（例えば、印刷、コピー、スキャン等）を実行する。画像形成部５０３は、例えば、図３のスキャナ３０７、プリンタ３０８、画像メモリ３０９、及び図３のＣＰＵ３０１で動作するプログラム等によって実現される。
【００７２】
上記の構成により、画像形成装置１２０のウェブブラウザ部１２１で動作する機器アプリコンテンツ４２３は、機器アプリコンテンツ４２３のｉｆｒａｍｅ５０１内に、外部アプリコンテンツ４２５の表示画面を表示させる。
【００７３】
また、機器アプリコンテンツ４２３は、第２のＡＰＩ４２４で、外部アプリコンテンツ４２５から受け付けた画像形成装置１２０の画像形成機能を利用する処理を、第１のＡＰＩ４２２を用いて、入出力処理部４２１に実行させる。
【００７４】
（外部サーバ）
外部サーバ１３０は、サービス提供システム１１０を利用して、画像形成装置１２０の画像形成機能等を利用するウェブアプリケーション（以下、外部アプリと呼ぶ）を提供するシステムである。外部サーバ１３０は、例えば、外部アプリ配信部４３１、外部アプリサービス４３２、記憶部４３５等を有する。
【００７５】
外部アプリ配信部４３１は、例えば、サードパーティ等によって提供される外部アプリのコンテンツ部分（外部アプリコンテンツ４２５）を、画像形成装置１２０に提供する。
【００７６】
外部アプリサービス４３２は、例えば、画像形成装置１２０のウェブブラウザ部１２１で動作する外部アプリコンテンツ４２５と通信し、外部アプリの機能を実現する。なお、外部サーバ１３０は、外部アプリコンテンツ４２５だけで外部アプリの機能を実現し、外部アプリサービス４３２が存在しない構成であっても良い。
【００７７】
なお、外部アプリ配信部４３１、及び外部アプリサービス４３２等のサービス４３３は、例えば、ウェブＡＰＩ等のＡＰＩ４３４を介して、外部から利用可能である。
【００７８】
外部アプリ配信部４３１、及び外部アプリサービス４３２は、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。
【００７９】
記憶部４３５は、例えば、外部アプリ配信部４３１が配信する外部アプリコンテンツや、画像や、ドキュメント等のコンテンツが記憶されている。記憶部４３５は、例えば、図２のストレージ部２０４、及び図２のＣＰＵ２０１で動作するプログラム等によって実現される。
【００８０】
なお、図４に示す外部サーバ１３０の各機能構成は、複数の情報処理装置に分散して配置されていても良い。
【００８１】
（外部アプリ設定情報）
ここで、外部アプリ設定管理部４０６が管理する外部アプリ設定情報について説明する。
【００８２】
図６は、第１の実施形態に係る外部アプリ設定情報の設定画面の例を示す図である。図６（ａ）は、外部アプリ設定情報を設定する開発者コンソールのトップ画面６１０の例を示している。開発者コンソールを利用するためには、例えば、認証認可部４０４により「開発者」の権限が与えられたアカウントで、情報端末等のウェブブラウザを用いて、外部アプリ情報設定部４１０にログインする必要がある。
【００８３】
図６（ａ）に示す開発者コンソールのトップ画面６１０には、現在登録されている外部アプリの一覧が表示されており、「新規作成」ボタン６１１を選択することにより、例えば、図６（ｂ）に示すような、外部アプリＩＤ、及び説明の入力画面６２０が表示される。外部アプリＩＤ、及び説明の入力画面６２０には、外部アプリのＩＤの入力欄６２１と、外部アプリの説明の入力欄６２２とが表示されている。これらの入力欄に外部アプリのＩＤとその説明を入力して、「作成」ボタン６２３を選択することにより、例えば、クライアントキーとクライアントシークレットが発行され、リストに外部アプリが追加される。
【００８４】
クライアントキーとクライアントシークレットは、外部アプリがサービス提供システムのＡＰＩ４０８を利用する際に使用する認証情報の一例である。
【００８５】
外部アプリの開発者は、サービス提供システム１１０のＡＰＩ４０８を利用する外部アプリを作成し、例えば、外部サーバ１３０上に配置する。
【００８６】
また、外部アプリの開発者は、画像形成装置１２０に外部アプリを表示させる場合、例えば、図（ａ）のトップ画面６１０において、「ＭＦＰに表示」の欄のプルダウンメニュー６１２等により、「ＹＥＳ」を選択する。これにより、例えば、図６（ｃ）に示すような外部アプリ設定情報の設定画面６３０が表示される。
【００８７】
外部アプリ設定情報の設定画面６３０では、外部アプリのＵＲＬ６３１、外部アプリのアプリタイトル６３２、外部アプリのアイコン、外部アプリが利用する必要な情報６３３、外部アプリの公開範囲６３４等の情報を設定する。
【００８８】
外部アプリのＵＲＬ６３１は、画像形成装置１２０が外部アプリの外部アプリコンテンツを取得するためのＵＲＬ（Uniform Resource Locator）情報である。外部アプリのアプリタイトル６３２は、外部アプリの表示名を示すテキスト情報である。多言語で表示が必要な場合は、多言語での言語設定を設定可能である。
【００８９】
必要な情報６３３では、外部アプリが使用するユーザリソースの認可情報（スコープ）の設定を行う。必要な情報６３３には、例えば、ＩＣカード情報の取得、ユーザ情報の取得、ＭＦＰ（画像形成装置１２０）でのジョブ実行等が含まれる。
【００９０】
公開範囲は、外部アプリの公開範囲であり、例えば、外部アプリを公開するテナント、又は全体公開を指定する。
【００９１】
外部アプリの開発者が、上記の設定を行い、「設定」ボタン６３５を選択すると、外部アプリ設定管理部４０６は、設定された情報を、記憶部４１１の外部アプリ設定情報４１３に記憶する。このとき、外部アプリ設定情報４１３に記憶される外部アプリ設定情報の例を図７に示す。
【００９２】
図７は、第１の実施形態に係る外部アプリ設定情報の例を示す図である。図７は、例えば、図６（ｃ）の外部アプリ設定情報の設定画面６３０で設定された外部アプリ設定情報７０１の例を示している。
【００９３】
図７に示す外部アプリ設定情報７０１において、「ｕｒｌ」は、図６（ｃ）の外部アプリのＵＲＬ６３１に対応している。「ｎａｍｅｓ」は、図６（ｃ）のアプリタイトル６３２に対応している。「ｉｃｏｎ」は、図６（ｃ）で設定されたアイコンをＤａｔａ  ＵＲＩに変換した画像データである。
【００９４】
「ｓｃｏｐｅｓ」は、図６（ｃ）の必要な情報６３３に対応しており、外部アプリが必要とする認可情報の一覧である。「ｄｅｓｔｉｎａｔｉｏｎｓ」は、図６（ｃ）の公開範囲６３４に対応しており、公開範囲にしてされたテナントの情報の一覧である。なお、図６（ｃ）において、公開範囲６３４が「全体公開」の場合、テナントの一覧に代えて、例えば、文字列「ｐｕｂｌｉｃ」が記憶される。
【００９５】
（テナント設定情報）
次に、テナント設定管理部４０５が管理するテナント設定情報について説明する。
【００９６】
図８は、第１の実施形態に係るテナント設定情報の設定画面の例を示す図である。図８（ａ）は、テナント設定情報を設定する管理者コンソールのトップ画面８１０の例を示している。管理者コンソールを利用するためには、例えば、認証認可部４０４により「管理者」の権限が与えられたアカウントで、情報端末等のウェブブラウザを用いて、テナント情報設定部４０９にログインする必要がある。
【００９７】
テナントの管理者は、テナント情報設定部４０９にログインすると、「管理者」の権限を有するテナント全体、又はテナントに所属する画像形成装置１２０の設定を行うことができる。図８の例では、テナント全体に設定を行う場合の設定画面の例を示している。
【００９８】
管理者コンソールのトップ画面８１０の「パネルに表示するアプリケーション」には、画像形成装置１２０に表示される外部アプリの一覧が表示されている。テナントの管理者は、画像形成装置１２０に表示される外部アプリを追加する場合、ＵＲＬの入力欄８１１に外部アプリを取得するためのＵＲＬ情報を入力し、「検索」ボタン８１２を選択する。これにより、外部アプリの検索処理が実行され、追加可能な外部アプリがある場合、図８（ｂ）に示すような、検索結果を表示する画面８２０が表示される。なお、外部アプリの検索処理については後述する。
【００９９】
図８（ｂ）の検索結果を表示する画面８２０には、検索された外部アプリのアプリタイトル８２１、アイコン、必要な情報８２２等が表示される。テナントの管理者は、検索結果を表示する画面８２０に表示された外部アプリの情報を確認し、問題がなければ、「追加」ボタン８２３を選択する。これにより、パネルに表示するアプリケーション８２４の一覧に、検索された外部アプリが追加され、テナント設定管理部４０５によって、記憶部４１１のテナント設定情報４１４に記憶される。テナント設定管理部４０５が、記憶部４１１に記憶するテナント設定情報の例を図９（ａ）に示す。
【０１００】
図９（ａ）の例では、テナント設定情報９０１には、テナントＩＤ、テナント名、登録済アプリＩＤ、ＵＲＬ、タイトル、機能等の情報が含まれる。
【０１０１】
テナントＩＤは、テナントを識別する識別情報である。テナント名は、テナントの名前を示す情報である。登録済アプリＩＤには、例えば、対応するテナントに登録されている外部アプリの識別情報が記憶される。ＵＲＬは、登録済外部アプリの取得先のＵＲＬ情報である。タイトルは、アプリの表示名である。機能は、外部アプリが使用する機能の情報である。
【０１０２】
なお、図８の例では、外部アプリのＵＲＬ情報を、ＵＲＬの入力欄８１１に直接入力している。このＵＲＬ情報は、例えば、外部アプリの開発者や提供者等から、テナントの管理者にメール等で提供されることを想定している。ただし、これは一例であり、外部アプリの検索処理は、例えば、外部アプリの名前で検索するものであっても良い。
【０１０３】
また、外部アプリの検索処理は、例えば、外部アプリの登録時にタグ情報を入力し、タグのキーワード検索で検索された外部アプリの中から、テナント管理者が外部アプリを選択するもの等であっても良い。或いは、外部アプリの検索処理は、外部アプリの利用数が多い順に表示させて、その中からテナント管理者が外部アプリを選択するもの等であっても良い。
【０１０４】
（認証認可情報）
認証認可部４０４が管理する認証認可情報４１５の例を図９（ｂ）に示す。図９（ｂ）の例では、認証認可情報９０２には、アカウントＩＤ、パスワード、認証コード、名前、メールアドレス、認可済アプリ、及び権限情報等が含まれる。
【０１０５】
アカウントＩＤは、利用者を識別する識別情報である。パスワードは、アカウントＩＤに対応するパスワードである。アカウントＩＤ及びパスワードは、利用者の認証情報の一例である。
【０１０６】
認証コードは、例えば、利用者のＩＣカード等に記憶されている認証情報であり、例えば、ＩＣカード認証等に用いられる。認証コードは、利用者の認証情報の別の一例である。
【０１０７】
名前は、利用者の名前である。メールアドレスは、利用者のメールアドレスである。認可済アプリは、利用者が認可している外部アプリのアプリＩＤの一覧である。権限情報は、利用者の権限を示す情報である。権限情報には、例えば、前述した「開発者」、「管理者」等の認可済の権限が記憶されている。
【０１０８】
＜処理の流れ＞
続いて、情報処理システム１００による情報処理方法の処理の流れについて説明する。
【０１０９】
（外部アプリの検索処理）
図１０は、第１の実施形態に係る外部アプリの検索処理の例を示す図である。この処理は、図８（ａ）に示すテナント設定情報を設定する管理者コンソールのトップ画面８１０において、ＵＲＬ情報を入力し、「検索」ボタン８１２を選択したときの検索処理を示している。
【０１１０】
ステップＳ１００１において、サービス提供システム１１０のテナント情報設定部４０９は、外部アプリのＵＲＬ情報が指定されると、該当するＵＲＬの外部アプリがあるかを調べる。例えば、テナント情報設定部４０９は、記憶部４１１に記憶された外部アプリ設定情報４１３を検索して該当するＵＲＬを有する外部アプリがあるか否かを調べる。
【０１１１】
該当するＵＲＬの外部アプリがない場合、テナント情報設定部４０９は処理を終了する。一方、該当する外部アプリがある場合、テナント情報設定部４０９は、処理をステップＳ１００２に移行させる。
【０１１２】
ステップＳ１００２に移行すると、テナント情報設定部４０９は、該当する外部アプリの公開範囲を確認し、全体公開となっているか否かを確認する。
【０１１３】
外部アプリの公開範囲が全体公開である場合、テナント情報設定部４０９は、処理をステップＳ１００４に移行させる。一方、外部アプリの公開範囲が全体公開でない場合、テナント情報設定部４０９は、処理をステップＳ１００３に移行させる。
【０１１４】
ステップＳ１００３に移行すると、テナント情報設定部４０９は、該当する外部アプリの公開範囲に指定されているテナントＩＤを確認し、テナント管理者のテナントが、該当する外部アプリの公開対象のテナントか否かを調べる。
【０１１５】
テナント管理者のテナントが、該当する外部アプリの公開対象のテナントでない場合、テナント情報設定部４０９は、処理を終了させる。一方、テナント管理者のテナントが、該当する外部アプリの公開対象のテナントである場合、テナント情報設定部４０９は、処理をステップＳ１００４に移行させる。
【０１１６】
ステップＳ１００４において、テナント情報設定部４０９は、指定されたＵＲＬ情報に該当する外部アプリの情報を、例えば、図８（ｂ）に示す管理者コンソールの検索結果を表示する画面８２０に表示する。
【０１１７】
上記の処理により、テナント管理者が管理するテナントに登録可能な外部アプリの情報が、管理者コンソールの検索結果を表示する画面８２０に表示されるようになる。
【０１１８】
（操作画面の表示処理）
図１１、１２は、第１の実施形態に係る操作画面の表示処理の例を示すシーケンス図である。ここでは、画像形成装置１２０が、電源投入等により初期化された状態から、操作画面を表示するまでの処理の例について説明する。
【０１１９】
ステップＳ１１０１において、例えば、画像形成装置１２０への電源投入や初期化処理等により、ウェブブラウザ部１２１が初期化された状態で起動するものとする。
【０１２０】
ステップＳ１１０２において、画像形成装置１２０のウェブブラウザ部１２１は、予め定められたサービス提供システム１１０の機器アプリ配信部４０１のＵＲＬに対して、機器アプリコンテンツの取得要求を送信する。
【０１２１】
ステップＳ１１０３において、画像形成装置１２０のウェブブラウザ部１２１は、サービス提供システム１１０の機器アプリ配信部４０１から配信される機器アプリコンテンツを取得する。
【０１２２】
ステップＳ１００４において、ウェブブラウザ部１２１は、取得した機器アプリコンテンツ４２３を、操作部３０６に表示させる。
【０１２３】
ステップＳ１１０５において、機器アプリコンテンツ４２３は、ロードされた後に、サービス提供システム１１０の認証認可部４０４に対して、デバイストークンの取得要求を送信する。このデバイストークンの取得要求には、予め画像形成装置１２０にインストールされている証明書情報が含まれるものとする。
【０１２４】
ステップＳ１１０４において、サービス提供システム１１０の認証認可部４０４は、画像形成装置１２０から受信したデバイストークンの取得要求に含まれる証明書情報を検証する。証明書情報が正当なものであることが確認されると、認証認可部４０４は、デバイストークンを発行し、要求元の機器アプリコンテンツ４２３に送信する。
【０１２５】
デバイストークンは、例えば、期限付きの権限認証情報（権限）であり、機器アプリコンテンツ４２３は、サービス提供システム１１０に要求情報を送信する際に、デバイストークンを付加して送信する。サービス提供システム１１０は、受信した要求情報に含まれるデバイストークンを検証することにより、要求情報が正当な画像形成装置１２０から送信された要求情報であることを判断する。
【０１２６】
ステップＳ１１０７において、画像形成装置１２０の機器アプリコンテンツ４２３は、サービス提供システム１１０のテナント設定管理部４０５に、外部アプリ一覧情報の取得要求を送信する。この外部アプリ一覧情報の取得要求には、ステップＳ１１０６で取得したデバイストークンが含まれる。
【０１２７】
ステップＳ１１０６において、画像形成装置１２０から外部アプリ一覧の取得要求を受信したテナント設定管理部４０５は、取得要求に含まれるデバイストークンの検証を、認証認可部４０４に要求する。
【０１２８】
ステップＳ１１０９において、認証認可部４０４は、要求されたデバイストークンの検証を行う。ここでは、ステップＳ１１０６で発行したデバイストークンであるため検証結果「ＯＫ」をテナント設定管理部４０５に通知する。
【０１２９】
ステップＳ１１１０において、デバイストークンの検証結果がＯＫとなった外部アプリ一覧の取得要求に応じて、外部アプリ一覧情報を要求元の機器アプリコンテンツ４２３に送信する。
【０１３０】
ステップＳ１１１１において、画像形成装置１２０の機器アプリコンテンツ４２３は、受信した外部アプリ一覧に応じた操作画面を、操作部３０６に表示させる。
【０１３１】
例えば、サービス提供システム１１０から受信した外部アプリ一覧に、外部アプリの情報が含まれていない場合、機器アプリコンテンツ４２３は、例えば、図１３（ａ）に示すように、操作画面１３１０に機器アプリコンテンツの通常のトップ画面１３１１を表示させる。
【０１３２】
一方、サービス提供システム１１０から受信した外部アプリ一覧に、外部アプリの情報が含まれている場合、機器アプリコンテンツ４２３は、例えば、図１３（ｂ）に示すように、操作画面１３２０に、外部アプリの一覧１３２１を表示する。
【０１３３】
図１４に、第１の実施形態に係る外部アプリ一覧情報の例を示す。テナント設定管理部４０５は、例えば、記憶部４１１に記憶されたテナント設定情報４１４と、外部アプリ設定情報４１３を参照して、画像形成装置１２０が属するテナントで利用可能な外部アプリ一覧情報１４０１を生成し、画像形成装置１２０に送信する。
【０１３４】
なお、外部アプリ一覧情報１４０１に含まれる外部アプリ設定情報は、図７に示す外部アプリ設定情報７０１から、不要な情報である「ｄｅｓｔｉｎａｔｉｏｎｓ」情報が削除されている。
【０１３５】
画像形成装置１２０の機器アプリコンテンツ４２３は、図１４に示すような外部アプリ一覧情報１４０１に基づいて、図１３（ｂ）に示すような、外部アプリの一覧１３２１を、操作画面に表示させる。
【０１３６】
ここでは、ステップＳ１１０で、テナント設定管理部４０５から、図１４に示すような外部アプリ一覧情報１４０１送信されるものとして、以下の説明を行う。
【０１３７】
ステップＳ１１１２において、利用者は、図１３（ｂ）に示すような操作画面１３２０で、外部アプリの選択操作を行う。
【０１３８】
ステップＳ１１１３において、機器アプリコンテンツ４２３は、ｉｆｒａｍｅ要素を含んでおり、ｉｆｒａｍｅに対して、選択された外部アプリのＵＲＬを指定する。
【０１３９】
ステップＳ１１１４において、画像形成装置１２０のウェブブラウザ部１２１は、指定されたＵＲＬに従って、外部サーバ１３０の外部アプリ配信部４３１に外部アプリコンテンツの取得要求を送信する。
【０１４０】
ステップＳ１１１５において、画像形成装置１２０のウェブブラウザ部１２１は、外部サーバ１３０の外部アプリ配信部４３１から配信される外部アプリコンテンツを取得する。
【０１４１】
ステップＳ１１１６において、ウェブブラウザ部１２１は、取得した外部アプリコンテンツ４２５を表示させる。この外部アプリコンテンツ４２５は、機器アプリコンテンツ４２３のｉｆｒａｍｅ内に表示される。
【０１４２】
ステップＳ１１１７において、外部アプリコンテンツ４２５は、機器アプリコンテンツ４２３のｉｆｒａｍｅ内に、外部アプリコンテンツ４２５の操作画面を表示させる。このとき、表示される外部アプリコンテンツ４２５操作画面の例を図１３（ｃ）に示す。
【０１４３】
図１３（ｃ）において、機器アプリコンテンツ４２３の操作画面１３３０には、ｉｆｒａｍｅの領域１３３１が含まれ、ｉｆｒａｍｅの領域１３３１内に外部アプリコンテンツ４２５の操作画面１３３２が表示されている。図１３（ｃ）の例では、外部アプリコンテンツ４２５の操作画面１３３２には、「ログイン」ボタン１３３３が表示されている。
【０１４４】
続いて、図１２を参照して、操作画面の表示処理の説明を続ける。
【０１４５】
ステップＳ１１１８において、利用者は、例えば、図１３（ｃ）に示す「ログイン」ボタン１３３３を選択することにより、ログインの開始操作を行う。
【０１４６】
ステップＳ１１１９において、ログインの開始操作を受け付けた外部アプリコンテンツ４２５は、機器アプリコンテンツ４２３にログイン要求を行う。
【０１４７】
ステップＳ１１２０において、外部アプリコンテンツ４２５からログイン要求を受け付けた機器アプリコンテンツ４２３は、ログイン画面を表示させる。このとき、表示されるログイン画面の例を図１３（ｄ）に示す。
【０１４８】
図１３（ｄ）の例では、機器アプリコンテンツ４２３は、外部アプリコンテンツ４２５による操作画面の上に、ログイン画面１３４１をポップアップ表示させている。利用者は、ログイン画面１３４１のユーザＩＤの入力欄１３４２にユーザＩＤ（アカウントＩＤ）を入力し、パスワードの入力欄１３４３にパスワードを入力して、「ＯＫ」ボタン１３４４を選択することにより、アカウント情報を入力することができる。
【０１４９】
ステップＳ１１２１において、利用者は、例えば、図１３（ｄ）に示すようなログイン画面１３４１にアカウント情報を入力する。
【０１５０】
ステップＳ１１２２において、アカウント情報の入力を受け付けた機器アプリコンテンツ４２３は、サービス提供システム１１０の認証認可部４０４に、外部アプリユーザトークンの取得要求を送信する。この外部アプリユーザトークンの取得要求には、デバイストークン、アカウント情報、外部アプリのアプリＩＤ等が含まれる。
【０１５１】
ステップＳ１１２３において、サービス提供システム１１０の認証認可部４０４は、外部アプリユーザトークンの取得要求を受信すると、取得要求に含まれるデバイストークンを検証して、正当な画像形成装置１２０からの要求であることを確認する。また、認証認可部４０４は、取得要求に含まれるアカウント情報を検証して、画像形成装置１２０が属するテナントが、指定されたアカウントに画像形成装置１２０の利用を許可していることを確認する。さらに、認証認可部４０４は、指定されたアカウントの利用者が、指定された外部アプリに対して、既に認可を行っているかを確認する。
【０１５２】
ここで、指定されたアカウントの利用者が、指定された外部アプリに対して認可を行っていない場合（未認可の場合）、ステップＳ１１２３〜Ｓ１１２７の処理が実行される。一方、指定されたアカウントの利用者が、指定された外部アプリに対して認可を行っている場合（認可済の場合）、ステップＳ１１２８の処理が実行される。
【０１５３】
まず、未認可の場合について説明を行う。
【０１５４】
ステップＳ１１２３において、サービス提供システム１１０の認証認可部４０４は、要求元の機器アプリコンテンツ４２３に対して、外部アプリが未認可であることを示す未認可エラーを送信する。この未認可エラーには、未認可の外部アプリユーザトークンが含まれる。
【０１５５】
ステップＳ１１２４において、機器アプリコンテンツ４２３は、未認可エラーを受信すると、利用者に認可を要求する認可要求画面を表示する。このとき、機器アプリコンテンツ４２３が表示する認可要求画面の例を図１３（ｅ）に示す。
【０１５６】
図１３（ｅ）の例では、機器アプリコンテンツ４２３は、外部アプリコンテンツ４２５による操作画面の上に、認可要求画面１３５１をポップアップ表示させている。利用者は、認可要求画面１３５１において、「許可」ボタン１３５２を選択することにより外部アプリの認可を行うことができる。
【０１５７】
ステップＳ１１２５において、利用者は、例えば、図１３（ｅ）に示すような認可要求画面１３５１において、「許可」ボタン１３５２を選択し、承認操作を行う。
【０１５８】
ステップＳ１１２６において、利用者の承認操作を受け付けた機器アプリコンテンツ４２３は、サービス提供システム１１０の認証認可部４０４に対して、未認可の外部アプリユーザトークンを付加して、認可承認通知を送信する。
【０１５９】
ステップＳ１１２７において、認可承認通知を受信したサービス提供システム１１０の認証認可部４０４は、認可された外部アプリのアプリＩＤを認証認可情報４１５に記憶する。また、認証認可部４０４は、デバイストークンを継承した外部アプリユーザトークンを、機器アプリコンテンツ４２３に送信する。
【０１６０】
なお、外部アプリが認可済の場合、ステップＳ１１２３〜Ｓ１１２６の処理を省略して、ステップＳ１１２８において、認証認可部４０４は、外部アプリユーザトークンを、機器アプリコンテンツ４２３に送信する。
【０１６１】
ステップＳ１１２９において、機器アプリコンテンツ４２３は、サービス提供システム１１０から受信した外部アプリユーザトークンを含むログイン成功通知を、ログイン要求の要求元の外部アプリコンテンツ４２５に通知する。
【０１６２】
以後、外部アプリコンテンツ４２５は、通知された外部アプリユーザトークン（権限の一例）を利用して、サービス提供システム１１０のＡＰＩを利用することができるようになる。
【０１６３】
ステップＳ１１３０において、ログイン成功通知を受信した外部アプリコンテンツ４２５は、ログイン後の操作画面を表示する。このとき、外部アプリコンテンツ４２５が表示するログイン後の操作画面の例を、図１３（ｆ）に示す。
【０１６４】
図１３（ｆ）の例では、機器アプリコンテンツ４２３の操作画面１３６０のｉｆｒａｍｅ１３６１内に、外部アプリコンテンツ４２５の操作画面１３６２が表示されている。
【０１６５】
上記の処理により、画像形成装置１２０は、利用者によって選択された外部アプリの操作画面を、操作部３０６に表示することができるようになる。
【０１６６】
（印刷処理）
図１５は、第１の実施形態に係る印刷処理の例を示すシーケンス図である。
【０１６７】
図１３（ｆ）に示す操作画面は、例えば、外部サーバ１３０の外部アプリサービス４３２が、記憶部４３５に記憶したドキュメントや画像等のコンテンツを一覧表示し、選択したコンテンツを画像形成装置１２０に出力する外部アプリの操作画面であるものとする。
【０１６８】
ステップＳ１５０１において、利用者は、図１３（ｆ）に示す外部アプリコンテンツ４２５の操作画面１３６２から、ファイル選択操作を行う。
【０１６９】
ステップＳ１５０２において、利用者のファイル選択操作を受け付けた外部アプリコンテンツ４２５は、印刷情報を外部サーバ１３０の外部アプリサービス４３２に送信する。この印刷情報には、例えば、選択されたファイルを識別するファイルＩＤ、及び図１２のステップＳ１１２９で取得した外部アプリユーザトークン等が含まれる。
【０１７０】
ステップＳ１５０３において、外部サーバ１３０の外部アプリサービス４３２は、サービス提供システム１１０の命令生成部４０２に対して、ファイルＩＤで指定された印刷対象ファイルと、外部アプリユーザトークンを含む印刷情報を送信する。
【０１７１】
ステップＳ１５０４において、印刷情報を受信した命令生成部４０２は、印刷情報に含まれる外部アプリユーザトークンの検証を、認証認可部に要求する。
【０１７２】
ステップＳ１５０５において、認証認可部４０４は、外部アプリユーザトークンの検証を行う。ここでは、外部アプリユーザトークンは、図１２のステップＳ１１２７又はＳ１１２８で発行されたものなので、認証認可部４０４は、検証結果「ＯＫ」を返信する。
【０１７３】
ステップＳ１５０６において、命令生成部４０２は、外部アプリユーザトークンが正当なものであることが確認できたので、印刷対象ファイルを、画像形成装置１２０が印刷可能なデータ形式（例えば、ポストスクリプトファイル等）に変換する。
【０１７４】
ステップＳ１５０７において、命令生成部４０２は、変換された印刷データを画像形成装置１２０で印刷するための印刷命令を生成する。この印刷命令には、例えば、印刷命令を識別する「命令ＩＤ」、「印刷処理」を示す情報、「印刷データ（又は印刷データを取得するためのＵＲＬ情報）」、「印刷の設定情報」等が含まれる。
【０１７５】
ステップＳ１５０８において、命令生成部４０２は、印刷命令を生成したことを示す成功通知を、要求元の外部アプリサービス４３２に通知する。この成功通知には、作成した印刷命令の命令ＩＤが含まれる。
【０１７６】
ステップ１５０９において、外部アプリサービス４３２は、命令生成部４０２から受信した成功通知に含まれる命令ＩＤを含む成功通知を、印刷情報を送信した機器アプリコンテンツ４２３に送信する。
【０１７７】
ステップＳ１５１０において、画像形成装置１２０の外部アプリコンテンツ４２５は、第２のＡＰＩ４２４を用いて、機器アプリコンテンツ４２３に印刷実行要求を行う。この印刷実行要求には、外部アプリユーザトークンと、外部アプリサービス４３２から受信した成功通知に含まれる命令ＩＤとが含まれる。
【０１７８】
例えば、外部アプリコンテンツ４２５は、ウェブブラウザ部１２１によって提供されるポストメッセージ（Post Message）機能を利用して、予め定められた印刷実行要求を行うためのＡＰＩ命令を機器アプリコンテンツ４２３に送信する。
【０１７９】
ポストメッセージは、ウェブブラウザ部１２１に表示されたウェブコンテンツが、別のウェブコンテンツや、ｉＦｒａｍｅ等に表示された別ドメインのウェブコンテンツと通信するための手段である。例えば、機器アプリコンテンツ４２３は、第２のＡＰＩ４２４と同じドメインに、第２のＡＰＩ４２４にアクセスするための送受信用のＨＴＭＬを設置して、ｉＦｒａｍｅ内に表示する。これにより、機器アプリコンテンツ４２３は、Ｆｒａｍｅ内に表示された外部アプリコンテンツ４２５と、ポストメッセージ経由で通信することができるようになる。
【０１８０】
ステップＳ１５１１において、第２のＡＰＩ４２４で印刷実行要求を受け付けた機器アプリコンテンツ４２３は、印刷命令の取得を要求する命令取得要求をサービス提供システム１１０の命令生成部４０２に送信する。この命令取得要求には、印刷実行要求に含まれる外部アプリユーザトークン、及び命令ＩＤが含まれる。
【０１８１】
ステップＳ１５１２において、命令取得要求を受信した命令生成部４０２は、命令取得要求に含まれる外部アプリユーザトークンの検証を、認証認可部に要求する。
【０１８２】
ステップＳ１５１３において、認証認可部４０４は、外部アプリユーザトークンの検証を行う。例えば、認証認可部４０４は、外部アプリユーザトークンが継承したデバイストークンの検証、外部アプリユーザトークンの検証、及び画像形成装置１２０が属するテナントが利用者の画像形成装置１２０の利用を許可していることの検証等を行う。認証認可部４０４は、これらの全てが正当であることを確認し、命令生成部４０２に検証結果「ＯＫ」を返信する。
【０１８３】
ステップ１５１４において、命令生成部４０２は、外部アプリユーザトークンが正当なものであることが確認できたので、命令取得要求に含まれる命令ＩＤに対応する印刷命令を、要求元の機器アプリコンテンツ４２３に送信する。この印刷命令には、前述したように、命令ＩＤ、印刷処理を示す情報、印刷データ（又は印刷データを取得するためのＵＲＬ情報）、及び印刷の設定情報（例えば、部数、カラー／モノクロ、両面／片面等）が含まれる。
【０１８４】
ステップＳ１５１５において、画像形成装置１２０は、サービス提供システム１１０から受信した印刷命令に含まれる印刷データ、或いは印刷命令に含まれるＵＲＬから取得した印刷データの印刷を、第１のＡＰＩ４２２を用いて入出力処理部４２１に要求する。
【０１８５】
ステップＳ４２１において、入出力処理部４２１のＡＰＩ制御部５０２は、第１のＡＰＩで印刷命令を受け付けると、印刷命令を要求元が、機器アプリコンテンツ４２３であることを確認する。例えば、ＡＰＩ制御部５０２は、機器アプリコンテンツ４２３のドメイン情報（プロトコル種別、ドメイン名、ポート等）を予め記憶しておき、印刷命令の要求元のドメイン情報と比較することにより、印刷命令の要求元を確認する。
【０１８６】
印刷命令の要求元が、機器アプリコンテンツ４２３である場合、ＡＰＩ制御部５０２は、受け付けた印刷命令に従って画像形成部５０３を制御し、印刷データの印刷を実行する。一方、印刷命令の要求元が、機器アプリコンテンツ４２３でない場合（例えば、要求元が外部アプリコンテンツ４２５である場合等）、ＡＰＩ制御部５０２は、第１のＡＰＩ４２２で受け付けた印刷命令を拒否、又は無視する。
【０１８７】
ここでは、印刷命令の要求元は、機器アプリコンテンツ４２３なので、入出力処理部４２１は、印刷を実行する。
【０１８８】
ステップＳ１５１７において、入出力処理部４２１のＡＰＩ制御部５０２は、印刷が完了したことを示す完了通知を、機器アプリコンテンツ４２３に通知する。
【０１８９】
ステップＳ１５１８において、入出力処理部４２１から完了通知を受け付けた機器アプリコンテンツ４２３は、例えば、完了した印刷処理の部数情報、カラー原稿、白黒原稿の枚数、及び画像形成装置１２０のカウンタ情報等を含むジョブログに、デバイストークンを付加して、サービス提供システム１１０の機器ログ管理部４０３に送信する。
【０１９０】
ステップＳ１５１９において、サービス提供システム１１０の機器ログ管理部４０３は、受信したジョブログに含まれるデバイストークンの検証を、認証認可部４０４に要求する。
【０１９１】
ステップＳ１５２０において、認証認可部４０４は、要求されたデバイストークンの検証を行う。画像形成装置１２０のデバイストークンは、例えば、図１１のステップＳ１１０６等で通知した正当なデバイストークンなので、認証認可部４０４は、検証結果「ＯＫ」を、機器ログ管理部４０３に返信する。
【０１９２】
ステップＳ１５２１において、機器ログ管理部４０３は、デバイストークンの正当性が確認されたので、画像形成装置１２０から受信したジョグログを記憶する。
【０１９３】
上記の処理により、画像形成装置１２０の機器アプリコンテンツ４２３は、外部アプリコンテンツ４２５の操作画面を、機器アプリコンテンツ４２３のｉｆｒａｍｅ５０１内に表示する。
【０１９４】
また、画像形成装置１２０の入出力処理部４２１は、機器アプリコンテンツ４２３から、画像形成機能を利用するための第１のＡＰＩを提供する。
【０１９５】
さらに、機器アプリコンテンツ４２３は、外部アプリコンテンツ４２５から、画像形成機能を利用するための第２のＡＰＩを提供し、第２のＡＰＩで受け付けた画像形成処理を、第１のＡＰＩを用いて実行する。
【０１９６】
これにより、本実施形態によれば、ウェブブラウザで表示した操作画面への操作に従って所定の入出力機能を実行する電子機器（画像形成装置１２０）において、外部アプリを用いて電子機器の所定の機能を容易に制御することができるようになる。
【０１９７】
［第２の実施形態］
第２の実施形態では、画像形成装置１２０が、外部認証装置を用いて利用者の認証を行う場合の例について説明する。
【０１９８】
＜機能構成＞
図１６は、第２の実施形態に係る情報処理システムの機能構成図である。図１６において、サービス提供システム１１０、及び外部サーバ１３０の機能構成は、図４に示す第１の実施形態における機能構成と同様である。
【０１９９】
また、図１６において、画像形成装置１２０は、図４に示す第１の実施形態に係る画像形成装置１２０の機能構成に加えて、ドライバ１６０１、ＩＣカードリーダ１６０２、生体認証装置１６０３等を有する。なお、画像形成装置１２０の他の機能構成は、図４に示す第１の実施形態に係る画像形成装置１２０の機能構成と同様なので、ここでは相違点を中心に説明を行う。
【０２００】
ＩＣカードリーダ１６０２、及び生体認証装置１６０３は、画像形成装置１２０の利用者の認証を行うための外部認証装置の一例である。画像形成装置１２０には、少なくとも１つの外部認証装置が接続されていれば良い。ここでは、画像形成装置１２０にＩＣカードリーダ１６０２が接続されているものとして、以下の説明を行う。
【０２０１】
ＩＣカードリーダ１６０２は、例えば、ＵＳＢ（Universal Serial Bus）等の外部Ｉ／Ｆ３１０によって画像形成装置１２０に接続される。また、画像形成装置１２０のＯＳ上には、ＩＣカードリーダ１６０２を制御するためのドライバ１６０１が搭載されている。
【０２０２】
ＩＣカードリーダ１６０２で読み込まれたＩＤ情報は、例えば、ＩＣカード読取通知等のイベントとして、ウェブブラウザ部１２１に通知される。通知された情報は、認証を行うための認証コードとして利用される。認証コードは、元情報への復元を防ぐため、例えば、ハッシュ化されて利用される。
【０２０３】
＜処理の流れ＞
（ＩＣカード未登録時の処理）
図１７は、第２の実施形態に係るＩＣカード未登録時の認証処理の例を示すシーケンス図である。この処理は、例えば、図１２のステップＳ１１８以降の処理に対応している。また、図１７の開始時点において、例えば、図１９（ａ）に示すように、画像形成装置１２０の操作画面１９１０のｉｆｒａｍｅ１９１１内に、外部アプリコンテンツ４２５により、ＩＣカードのタッチを促すメッセージ１９１２が表示されているものとする。
【０２０４】
ステップＳ１７０１において、利用者は、画像形成装置１２０に接続されたＩＣカードリーダ１６０２に、ＩＣカードをタッチさせること等により、ＩＣカードの読取操作を行う。
【０２０５】
ステップＳ１７０２において、ドライバ１６０１は、ＩＣカードリーダ１６０２が読み出したＩＣカードの情報を認証コードとして取得する。
【０２０６】
ステップＳ１７０３、Ｓ１７０４において、ドライバ１６０１は、取得した認証コードを含むＩＣカード読み取り通知を、ウェブブラウザ部１２１を介して、機器アプリコンテンツ４２３に通知する。
【０２０７】
ステップ１７０５において、機器アプリコンテンツ４２３は、デバイストークン、認証コード、外部アプリＩＤを含む外部アプリ認証コードトークンの取得要求を、サービス提供システム１１０の認証認可部４０４に送信する。
【０２０８】
ステップＳ１７０６において、外部アプリ認証コードトークンの取得要求を受け付けた認証認可部４０４は、取得要求に含まれるデバイストークンが正当であることを確認した後で、認証コードに紐付けられたアカウントの有無を確認する。例えば、認証認可部４０４は、図９（ｂ）に示すような認証認可情報９０２に、認証コードＩＤが登録されているか否かを確認する。
【０２０９】
ここでは、認証コードに紐付けられたアカウントがない場合（ＩＣカードが未登録である場合）の処理について説明を行う。
【０２１０】
認証認可部４０４は、認証コードに紐付けられたアカウントがない場合、機器アプリコンテンツ４２３に、ＩＣカードが登録されていないことを示す未登録エラーを送信する。
【０２１１】
ステップＳ１７０７において、未登録エラーを受信した機器アプリコンテンツ４２３は、カード登録画面を表示する。このとき、表示されるカード登録画面の例を図１９（ｂ）に示す。
【０２１２】
図１９（ｂ）に示す操作画面１９２０の例では、機器アプリコンテンツ４２３は、外部アプリコンテンツ４２５による操作画面の上に、カード登録画面１９２１をポップアップ表示させている。利用者は、カード登録画面１９２１にユーザＩＤ（アカウントＩＤ）とパスワードを入力し、「登録」ボタン１９２２を選択することにより、アカウント情報を入力することができる。
【０２１３】
ステップＳ１７０８において、利用者は、カード登録画面１９２１にアカウント情報を入力する。
【０２１４】
ステップＳ１７０９において、アカウント情報の入力を受け付けた機器アプリコンテンツ４２３は、サービス提供システム１１０の認証認可部４０４に、外部アプリ認証コードの登録要求を送信する。この外部アプリ認証コードトークンの登録要求には、デバイストークン、認証コード、アカウント情報、外部アプリのアプリＩＤ等が含まれる。
【０２１５】
ステップＳ１７１０において、サービス提供システム１１０の認証認可部４０４は、外部アプリ認証コードトークンの登録要求を受信すると、登録要求に含まれるデバイストークンを検証して、正当な画像形成装置１２０からの要求であることを確認する。また、認証認可部４０４は、登録要求に含まれるアカウント情報を検証して、画像形成装置１２０が属するテナントが、指定されたアカウントに画像形成装置１２０の利用を許可していることを確認する。画像形成装置１２０が属するテナントが、指定されたアカウントに画像形成装置１２０の利用を許可している場合、認証認可部４０４は、アカウント情報と認証コードを紐付けて、例えば、図９（ｂ）に示すような認証認可情報９０２に記憶する。
【０２１６】
また、認証認可部４０４は、未認可の外部アプリ認証コードトークンを含む未認可エラーを、要求元の機器アプリコンテンツ４２３に送信する。
【０２１７】
ステップＳ１７１１において、未認可エラーを受信した機器アプリコンテンツ４２３は、認可要求画面を表示する。このとき、機器アプリコンテンツ４２３が表示する認可要求画面の例を図１９（ｃ）に示す。
【０２１８】
図１９（ｃ）に示す操作画面１９３０の例では、機器アプリコンテンツ４２３は、外部アプリコンテンツ４２５による操作画面の上に、認可要求画面１９３１をポップアップ表示させている。利用者は、認可要求画面１９３１において、「許可」ボタン１９３２を選択することにより外部アプリの認可を行うことができる。
【０２１９】
ステップＳ１７１２において、利用者は、例えば、図１９（ｃ）に示すような認可要求画面１９３１において、「許可」ボタン１９３２を選択し、承認操作を行う。
【０２２０】
ステップＳ１７１３において、利用者の承認操作を受け付けた機器アプリコンテンツ４２３は、サービス提供システム１１０の認証認可部４０４に対して、未認可の外部アプリ認証コードトークンを付加して、認可承認通知を送信する。
【０２２１】
ステップＳ１７１４において、認可承認通知を受信したサービス提供システム１１０の認証認可部４０４は、認可された外部アプリのアプリＩＤを、例えば、図９（ｂ）に示すような認証認可情報９０２に記憶する。また、認証認可部４０４は、外部アプリ認証コードトークンを、機器アプリコンテンツ４２３に送信する。
【０２２２】
ステップＳ１７１５において、機器アプリコンテンツ４２３は、サービス提供システム１１０から受信した外部アプリ認証コードトークンを含むログイン成功通知を、外部アプリコンテンツ４２５に通知する。
【０２２３】
以後、外部アプリコンテンツ４２５は、通知された外部アプリ認証コードトークン（権限の一例）を利用して、サービス提供システム１１０のＡＰＩを利用することができるようになる。
【０２２４】
ステップＳ１７１６において、ログイン成功通知を受信した外部アプリコンテンツ４２５は、ログイン後の操作画面を表示する。このとき、外部アプリコンテンツ４２５が表示するログイン後の操作画面の例を、図１３（ｆ）に示す。
【０２２５】
図１９（ｄ）の操作画面１９４０には、第１の実施形態と同様に、外部アプリコンテンツ４２５のログイン後の画面１９４１が、表示されている。
【０２２６】
（ＩＣカード登録後の処理）
図１８は、第２の実施形態に係るＩＣカード登録後の認証処理の例を示すシーケンス図である。なお、図１８のステップＳ１７０１〜１７０５、Ｓ１７１５、Ｓ１７１６の処理は、図１７に示すＩＣカード未登録時の認証処理と同様なので、ここでは相違点を中心に説明を行う。
【０２２７】
ステップＳ１８０１において、外部アプリ認証コードトークンの取得要求を受け付けた認証認可部４０４は、取得要求に含まれるデバイストークンが正当であることを確認した後で、認証コードに紐付けられたアカウントの有無を確認する。例えば、認証認可部４０４は、図９（ｂ）に示すような認証認可情報９０２に、認証コードＩＤが登録されているか否かを確認する。
【０２２８】
ここでは、認証コードに紐付けられたアカウントがある場合（ＩＣカードが登録済である場合）の処理について説明を行う。
【０２２９】
認証コードに紐付けられたアカウントがある場合、認証認可部４０４は、指定されたアカウントの利用者が、指定された外部アプリに対して、既に認可を行っているかを確認する。
【０２３０】
ここで、指定されたアカウントの利用者が、指定された外部アプリに対して認可を行っていない場合（未認可の場合）、ステップＳ１８０１〜Ｓ１８０５の処理が実行される。一方、指定されたアカウントの利用者が、指定された外部アプリに対して認可を行っている場合（認可済の場合）、ステップＳ１８０６の処理が実行される。
【０２３１】
まず、未認可の場合について説明を行う。
【０２３２】
ステップＳ１８０１において、サービス提供システム１１０の認証認可部４０４は、要求元の機器アプリコンテンツ４２３に対して、外部アプリが未認可であることを示す未認可エラーを送信する。この未認可エラーには、未認可の外部アプリ認証コードトークンが含まれる。
【０２３３】
ステップＳ１８０２において、機器アプリコンテンツ４２３は、未認可エラーを受信すると、例えば、図１９（ｃ）に示すような認可要求画面を表示する。
【０２３４】
ステップＳ１８０３において、利用者は、例えば、図１９（ｃ）に示すような認可要求画面において、「許可」ボタン１３５２を選択し、承認操作を行う。
【０２３５】
ステップＳ１８０４において、利用者の承認操作を受け付けた機器アプリコンテンツ４２３は、サービス提供システム１１０の認証認可部４０４に対して、未認可の外部アプリ認証コードトークンを付加して、認可承認通知を送信する。
【０２３６】
ステップＳ１８０５において、認可承認通知を受信したサービス提供システム１１０の認証認可部４０４は、認可された外部アプリのアプリＩＤを、例えば、図９（ｂ）に示すような認証認可情報９０２に記憶する。また、認証認可部４０４は、外部アプリ認証コードトークンを、機器アプリコンテンツ４２３に送信する。
【０２３７】
なお、外部アプリが認可済の場合、ステップＳ１１２３〜Ｓ１１２６の処理を省略して、ステップＳ１８０６において、認証認可部４０４は、外部アプリ認証コードトークンを、機器アプリコンテンツ４２３に送信する。
【０２３８】
上記の処理により、例えば、ＩＣカードリーダ１６０２等の外部認証機器を利用して、第１の実施形態と同様の処理を行うことができる。
【０２３９】
（トークンの継承関係）
ここで、第１の実施形態で、外部アプリコンテンツ４２５が利用する外部アプリユーザトークンと、第２の実施形態で、外部アプリコンテンツ４２５が利用する外部アプリ認証コードトークンの他のトークンとの継承関係について説明する。なお、各トークンは、サービス提供システム１１０を利用するための権限の一例である。
【０２４０】
図２０は、一実施形態に係るトークンの継承関係を示す図である。
【０２４１】
サービス提供システム１１０の認証認可部４０４は、例えば、図２０に示すように、アカウントＩＤ等の利用者の認証認可情報をユーザトークン２００１として管理し、アプリＩＤ、認可状態等の外部アプリの認証認可情報を外部アプリトークン２００２として管理する。
【０２４２】
また、認証認可部４０４は、シリアルナンバー、登録ＩＤ等の画像形成装置１２０の認証認可情報を、デバイストークン２００３として管理し、認証コード等のＩＣカードの認証認可情報を、認証コードトークン２００４として管理する。
【０２４３】
各トークンは、例えば、図２０に示すような情報を内包しているが、認証認可部４０４によって暗号化されているため、機器アプリコンテンツ４２３や、外部アプリコンテンツ４２５等のクライアント側で認証認可情報を知ることはできない。
【０２４４】
また、図２０に示すように、第１の実施形態で、外部アプリコンテンツ４２５が利用する外部アプリユーザトークン２００５は、ユーザトークン２００１、外部アプリトークン２００２、及びデバイストークン２００３を継承し、継承元のトークンの認証認可情報を全て保持している。
【０２４５】
同様に、第２の実施形態で、外部アプリコンテンツ４２５が利用する外部アプリ認証コードトークン２００６は、外部アプリトークン２００２、デバイストークン２００３、及び認証コードトークンを継承し、継承元のトークンの認証認可情報を全て保持している。
【０２４６】
認証認可部４０４は、必要の認証認可情報を１つのトークンに継承することにより、必要な認証認可情報をまとめて管理することができる。
【０２４７】
なお、本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０２４８】
１００      情報処理システム
１１０      サービス提供システム（サーバ装置）
１２０      画像形成装置（電子機器）
１３０      外部サーバ
１２１      ウェブブラウザ部（ウェブブラウザ）
４０２      命令生成部
４０４      認証認可部
４０５      テナント設定管理部
４０６      外部アプリ設定管理部
４０８      ＡＰＩ（第３のインタフェース）
４２１      入出力処理部
４２２      第１のＡＰＩ（第１のインタフェース）
４２３      機器アプリコンテンツ（第１のウェブコンテンツ）
４２４      第２のＡＰＩ（第２のインタフェース）
４２５      外部アプリコンテンツ（第２のウェブコンテンツ）    
５００      ｉｆｒａｍｅ
５０２      ＡＰＩ制御部
【先行技術文献】
【特許文献】
【０２４９】
【特許文献１】特開２０１２−０８８７８９号公報
【図１】
2020123978.tif 000003
【図２】
2020123978.tif 000004
【図３】
2020123978.tif 000005
【図４】
2020123978.tif 000006
【図５】
2020123978.tif 000007
【図６】
2020123978.tif 000008
【図７】
2020123978.tif 000009
【図８】
2020123978.tif 000010
【図９】
2020123978.tif 000011
【図１０】
2020123978.tif 000012
【図１１】
2020123978.tif 000013
【図１２】
2020123978.tif 000014
【図１３】
2020123978.tif 000015
【図１４】
2020123978.tif 000016
【図１５】
2020123978.tif 000017
【図１６】
2020123978.tif 000018
【図１７】
2020123978.tif 000019
【図１８】
2020123978.tif 000020
【図１９】
2020123978.tif 000021
【図２０】
2020123978.tif 000022