(57)【要約】【課題】Ｗｅｂアプリケーションに応じて、アクセストークンを用いて利用可能な機能を制限する。【解決手段】Ｗｅｂサーバとネットワークを介して接続され、プリント機能又はスキャン機能が少なくとも含まれる１以上の機能を提供する画像処理装置であって、前記Ｗｅｂサーバにより提供されるＷｅｂアプリケーションが用いるアクセストークンの正当性を検証する検証手段と、前記Ｗｅｂアプリケーションから機能の利用要求を受け付けると、前記検証手段により正当性が検証された前記アクセストークンに基づいて、前記利用要求された機能が利用可能であるか否かを判定する判定手段と、を有することを特徴とする。【選択図】図４
2019068401.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサーバとネットワークを介して接続され、プリント機能又はスキャン機能が少なくとも含まれる１以上の機能を提供する画像処理装置であって、
前記Ｗｅｂサーバにより提供されるＷｅｂアプリケーションが用いるアクセストークンの正当性を検証する検証手段と、
前記Ｗｅｂアプリケーションから機能の利用要求を受け付けると、前記検証手段により正当性が検証された前記アクセストークンに基づいて、前記利用要求された機能が利用可能であるか否かを判定する判定手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記画像処理装置はＷｅｂブラウザを有し、
前記Ｗｅｂブラウザが、前記Ｗｅｂサーバから前記画像処理装置に送信したＷｅｂコンテンツを処理することで前記プリント機能又は前記スキャン機能を含む前記画像処理装置の機能を用いる前記Ｗｅｂアプリケーションが動作し、
前記アクセストークンは前記Ｗｅｂコンテンツに含まれると共に、前記Ｗｅｂコンテンツを前記Ｗｅｂブラウザが処理する際に、該Ｗｅｂブラウザが、前記アクセストークンの検証を行う、ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記アクセストークンには、前記Ｗｅｂアプリケーションが利用可能な機能を示す利用機能情報が含まれ、
前記判定手段は、
前記利用要求された機能が、前記検証手段により正当性が検証された前記アクセストークンに含まれる前記利用機能情報が示す機能に含まれるか否かを判定することで、前記利用要求された機能が利用可能であるか否かを判定する、ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記画像処理装置が提供する機能毎に、前記Ｗｅｂアプリケーションが利用可能か否かを示す情報が格納された利用機能テーブルを記憶する記憶手段と、
前記検証手段により正当性が検証された前記アクセストークンに含まれる前記利用機能情報に基づいて、前記利用機能テーブルを更新する更新手段とを有し、
前記判定手段は、
前記更新手段により更新された前記利用機能テーブルを参照することで、前記利用要求された機能が利用可能であるか否かを判定する、ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記検証手段は、
前記アクセストークンに含まれるトークン値が正当であるか否か、前記アクセストークンに含まれる有効期限が経過していないか否か、及び前記アクセストークンに含まれるタイトルと前記Ｗｅｂアプリケーションにより提供されるＷｅｂページのタイトルとが一致するか否かを判定することで、前記アクセストークンの正当性を検証する、ことを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記アクセストークンは、前記Ｗｅｂアプリケーションが利用可能な機能を示す利用機能情報が含まれ、
前記アクセストークンは、前記Ｗｅｂページ毎に、異なる前記利用機能情報が設定される、ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記判定手段により前記利用要求された機能が利用可能でないと判定された場合、該機能が利用可能でないことを示す画面を表示する表示手段を有する、ことを特徴とする請求項１乃至６の何れか一項に記載の画像処理装置。
【請求項８】
前記Ｗｅｂアプリケーションによる機能の利用要求は、
前記機能で利用する設定情報の選択画面の表示の指示があった場合に行われ、
前記表示手段は、
前記判定手段により前記利用要求された機能が利用不可であると判定された場合、前記機能で利用する設定情報の選択画面が表示される前に、前記機能が利用可能でないことを示す画面を表示する、ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記画像処理装置はブラウザを有し、
前記ブラウザは、
ユーザが指定したアクセス先であるＷｅｂサーバに対してＷｅｂコンテンツデータを要求し、前記要求の応答として前記Ｗｅｂコンテンツデータを受信し、
前記ブラウザが受信した前記Ｗｅｂコンテンツデータには、前記アクセストークンと、ＪａｖａＳｃｒｉｐｔで記述されたプログラムとが含まれ、
前記Ｗｅｂアプリケーションは、前記ＪａｖａＳｃｒｉｐｔで記述されたプログラムを前記ブラウザが実行することで実現される、
ことを特徴とする請求項１乃至８の何れか一項に記載の画像処理装置。
【請求項１０】
前記判定手段により前記利用要求された機能が利用可能であると判定された場合、前記利用可能である機能を実行する実行手段を有する、ことを特徴とする請求項１乃至９の何れか一項に記載の画像処理装置。
【請求項１１】
Ｗｅｂサーバと、該Ｗｅｂサーバとネットワークを介して接続され、プリント機能又はスキャン機能が少なくとも含まれる１以上の機能を提供する画像処理装置とが含まれる画像処理システムであって、
前記Ｗｅｂサーバにより提供されるＷｅｂアプリケーションが用いるアクセストークンの正当性を検証する検証手段と、
前記Ｗｅｂアプリケーションから機能の利用要求を受け付けると、前記検証手段により正当性が検証された前記アクセストークンに基づいて、前記利用要求された機能が利用可能であるか否かを判定する判定手段と、
を有することを特徴とする画像処理システム。
【請求項１２】
Ｗｅｂサーバとネットワークを介して接続され、プリント機能又はスキャン機能が少なくとも含まれる１以上の機能を提供する画像処理装置が、
前記Ｗｅｂサーバにより提供されるＷｅｂアプリケーションが用いるアクセストークンの正当性を検証する検証手順と、
前記Ｗｅｂアプリケーションから機能の利用要求を受け付けると、前記検証手順により正当性が検証された前記アクセストークンに基づいて、前記利用要求された機能が利用可能であるか否かを判定する判定手順と、
を実行することを特徴とする画像処理方法。
【請求項１３】
Ｗｅｂサーバとネットワークを介して接続され、１以上の機能を提供する電子機器であって、
前記Ｗｅｂサーバにより提供されるＷｅｂアプリケーションが用いるアクセストークンの正当性を検証する検証手段と、
前記Ｗｅｂアプリケーションから機能の利用要求を受け付けると、前記検証手段により正当性が検証された前記アクセストークンに基づいて、前記利用要求された機能が利用可能であるか否かを判定する判定手段と、
を有することを特徴とする電子機器。
【請求項１４】
Ｗｅｂサーバとネットワークを介して接続され、プリント機能又はスキャン機能が少なくとも含まれる１以上の機能を提供する画像処理装置を、
前記Ｗｅｂサーバにより提供されるＷｅｂアプリケーションが用いるアクセストークンの正当性を検証する検証手段、
前記Ｗｅｂアプリケーションから機能の利用要求を受け付けると、前記検証手段により正当性が検証された前記アクセストークンに基づいて、前記利用要求された機能が利用可能であるか否かを判定する判定手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理システム、電子機器、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
複合機（ＭＦＰ：Multifunction Peripheral）等の画像処理装置において、Ｗｅｂサーバから提供されたＷｅｂアプリケーションを用いて、この画像処理装置で印刷やスキャン等の各種画像処理機能を利用する技術が従来から知られている。また、このとき、アクセストークン等を用いて、Ｗｅｂアプリケーションを認証することが行われている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、Ｗｅｂアプリケーションから、画像処理装置を利用する際に、複数の画像処理機能の利用を画像処理機能毎に制限する仕組みは無かった。そのため、アクセストークンが意図せず流出等した場合、入手した者が開発したＷｅｂアプリケーションにより、画像処理装置の全ての画像処理機能が不正に利用されてしまう恐れがある。
【０００４】
本発明の実施の形態は、上記の点に鑑みてなされたもので、Ｗｅｂアプリケーションに応じて、アクセストークンを用いて利用可能な機能を制限することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明の実施の形態は、Ｗｅｂサーバとネットワークを介して接続され、プリント機能又はスキャン機能が少なくとも含まれる１以上の機能を提供する画像処理装置であって、前記Ｗｅｂサーバにより提供されるＷｅｂアプリケーションが用いるアクセストークンの正当性を検証する検証手段と、前記Ｗｅｂアプリケーションから機能の利用要求を受け付けると、前記検証手段により正当性が検証された前記アクセストークンに基づいて、前記利用要求された機能が利用可能であるか否かを判定する判定手段と、を有することを特徴とする。
【発明の効果】
【０００６】
Ｗｅｂアプリケーションに応じて、アクセストークンを用いて利用可能な機能を制限することができる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態に係る画像処理システムの全体構成の一例を示す図である。
【図２】本実施形態に係る画像処理装置のハードウェア構成の一例を示す図である。
【図３】本実施形態に係る画像処理装置の操作装置及び本体装置に含まれるソフトウェア群の階層構造の一例を示す図である。
【図４】本実施形態に係る画像処理装置のソフトウェア構成の一例を示す図である。
【図５】アクセストークンの検証処理の一例を示すシーケンス図である。
【図６】利用機能テーブルの一例を示す図である。
【図７】機能の利用処理の一例を示すシーケンス図である。
【図８】機能利用画面の一例を示す図（その１）である。
【図９】機能利用画面の一例を示す図（その２）である。
【図１０】エラー画面の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【０００９】
＜全体構成例＞
まず、本実施形態に係る画像処理システム１の全体構成について、図１を参照しながら説明する。図１は、本実施形態に係る画像処理システム１の全体構成の一例を示す図である。
【００１０】
図１に示すように、本実施形態に係る画像処理システム１には、１以上の画像処理装置１０と、１以上のＷｅｂサーバ２０とが含まれる。また、画像処理装置１０とＷｅｂサーバ２０とは、例えばインターネット等の広域的なネットワークＮを介して通信可能に接続されている。
【００１１】
画像処理装置１０は、汎用的なＷｅｂブラウザ３００が搭載された複合機等の電子機器である。画像処理装置１０のユーザは、Ｗｅｂブラウザ３００を用いて、Ｗｅｂサーバ２０が提供するＷｅｂアプリケーションを利用することができる。Ｗｅｂサーバ２０が提供するＷｅｂアプリケーションを利用することで、画像処理装置１０のユーザは、例えば、所定のサーバ等からダウンロードした電子ファイルを印刷したり、スキャンにより生成した画像データを添付したメールを指定した宛先に送信したりすることができる。
【００１２】
Ｗｅｂサーバ２０は、ネットワークＮを介して、Ｗｅｂアプリケーションを提供するコンピュータ又はコンピュータシステムである。Ｗｅｂサーバ２０により提供されるＷｅｂアプリケーションは、例えば、画像処理装置１０を製造する企業（以降、「製造元ベンダー」とも表す。）とは異なるサードベンダーにより開発及び提供される。
【００１３】
Ｗｅｂアプリケーションは、Ｗｅｂサーバ２０から提供されたＷｅｂコンテンツが、画像処理装置１０に搭載されたＷｅｂブラウザ３００上で解釈や実行等されることで実現される。Ｗｅｂコンテンツとは、例えば、ＨＴＭＬ（HyperText Markup Language）やＪａｖａＳｃｒｉｐｔ（登録商標）、ＣＳＳ（Cascading Style Sheets）、各種画像ファイル等が挙げられる。
【００１４】
なお、Ｗｅｂアプリケーションは、上記のようにＪａｖａＳｃｒｉｐｔ等で記述されたプログラムを、Ｗｅｂサーバ２０から画像処理装置１０に送信して画像処理装置１０上で動作させ、画像形成ジョブを実行する構成の他、Ｗｅｂアプリケーションそのものは画像処理装置１０には送らずに、Ｗｅｂサーバ２０上で動作させて、Ｗｅｂサーバ２０は画像形成ジョブを実行するための実行指示情報（例えば画像処理装置１０の各種機能を利用するＡＰＩ（Application Programming Interface）を呼び出すための情報）だけを画像処理装置１０に送るシステム構成であっても良い。その場合、アクセストークンは、例えばテキスト情報のみからなり、Ｗｅｂアプリケーションには含めずに、Ｗｅｂサーバ２０から画像処理装置１０に送る、というシステム構成を採用しても良い。
【００１５】
Ｗｅｂサーバ２０により提供されるＷｅｂアプリケーションは、画像処理装置１０を製造元ベンダー等から予め発行されたアクセストークンを用いた認証を行うことで、当該画像処理装置１０の各種機能を利用したＷｅｂサービスを提供することができる。アクセストークンとは、例えばサードベンダーにより開発されたＷｅｂアプリケーションが、画像処理装置１０の各種機能を利用するための認証情報である。また、画像処理装置１０の各種機能には、例えば、スキャン機能、プリント機能、コピー機能、ＦＡＸ機能等の各種画像処理機能、認証機能、アドレス帳機能、メール送信機能等が挙げられる。
【００１６】
なお、図１に示す画像処理システム１の構成は一例であって、他の構成であっても良い。例えば、画像処理装置１０は、複合機に限られず、デジタルカメラ、印刷装置、スキャナ装置、コピー機、プロジェクタ、ファクシミリ、電子会議用端末、電子黒板装置、オーディオ機器、車載機（例えばカーナビ等）、家電製品（例えば冷蔵庫等）等であっても良い。すなわち、画像処理装置１０は、汎用的なＷｅｂブラウザ３００が搭載された各種電子機器であれば良い。
【００１７】
＜ハードウェア構成例＞
次に、本実施形態に係る画像処理装置１０のハードウェア構成について、図２を参照しながら説明する。図２は、本実施形態に係る画像処理装置１０のハードウェア構成の一例を示す図である。
【００１８】
図２に示すように、本実施形態に係る画像処理装置１０は、操作装置１１と、本体装置１２とを有している。
【００１９】
操作装置１１は、本体装置１２に実行させる画像処理機能の選択、画像処理機能を実行させるための各種設定値の入力、画像処理機能の実行を開始させるための実行指示の入力、表示画面の切り替え等、ユーザが各種操作を行う際に用いられる。
【００２０】
本体装置１２は、操作装置１１におけるユーザの各種操作に応じて、画像処理機能の実行等の各種の処理を実行する。
【００２１】
図２に示すように、画像処理装置１０の操作装置１１は、ＣＰＵ（Central Processing Unit）１１１と、ＲＯＭ（Read Only Memory）１１２と、ＲＡＭ（Random Access Memory）１１３とを有している。また、操作装置１１は、フラッシュメモリ１１４と、操作パネル１１５と、接続Ｉ／Ｆ１１６と、通信Ｉ／Ｆ１１７とを有している。これら各ハードウェアは、バス１１８を介して相互に接続されている。
【００２２】
ＣＰＵ１１１は、ＲＡＭ１１３をワークエリアとしてＲＯＭ１１２又はフラッシュメモリ１１４に記憶された各種プログラムを実行することで、操作装置１１全体を制御する演算装置である。
【００２３】
ＲＯＭ１１２は、電源を切ってもデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＡＭ１１３は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２４】
フラッシュメモリ１１４は、不揮発性の記憶装置であり、ＣＰＵ１１１が実行する各種プログラム（例えば、Ｗｅｂブラウザ３００等）や各種データを記憶する。
【００２５】
操作パネル１１５は、ユーザが各種操作を行う際に用いられる。また、操作パネル１１５は、ユーザに対して各種画面等を表示する。
【００２６】
接続Ｉ／Ｆ１１６は、通信路１３を介して本体装置１２と通信するためのインタフェースである。接続Ｉ／Ｆ１１６には、例えばＵＳＢ（Universal Serial Bus）規格のインタフェースが用いられる。
【００２７】
通信Ｉ／Ｆ１１７は、他の機器等と通信するためのインタフェースである。通信Ｉ／Ｆ１１７には、例えば、Ｗｉ−Ｆｉ規格の無線ＬＡＮ（Local Area Network）等が用いられる。
【００２８】
同様に、画像処理装置１０の本体装置１２は、ＣＰＵ１２１と、ＲＯＭ１２２と、ＲＡＭ１２３とを有している。また、本体装置１２は、ＨＤＤ（Hard Disk Drive）１２４と、画像処理エンジン１２５と、接続Ｉ／Ｆ１２６と、通信Ｉ／Ｆ１２７とを有している。これら各ハードウェアは、バス１２８を介して相互に接続されている。
【００２９】
ＣＰＵ１２１は、ＲＡＭ１２３をワークエリアとしてＲＯＭ１２２又はＨＤＤ１２４に記憶された各種プログラムを実行することで、本体装置１２全体を制御する演算装置である。
【００３０】
ＲＯＭ１２２は、電源を切ってもデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＡＭ１２３は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００３１】
ＨＤＤ１２４は、不揮発性の記憶装置であり、ＣＰＵ１２１が実行する各種プログラム（例えば、本実施形態を実現するプログラム等）や各種データを記憶する。
【００３２】
画像処理エンジン１２５は、プリント機能、スキャン機能、コピー機能、及びＦＡＸ機能等の各種の画像処理機能を実現するための画像処理を行うハードウェアである。
【００３３】
画像処理エンジン１２５には、例えば、用紙等のシート材への印刷を行うプロッタ、原稿を光学的に読み取って画像データを生成するスキャナ、及びＦＡＸ通信を行うＦＡＸ通信装置等が含まれる。また、画像処理エンジン１２５には、例えば、印刷済みのシート材を仕分けるフィニッシャや原稿を自動給送するＡＤＦ（自動原稿給送装置）等が含まれていても良い。
【００３４】
接続Ｉ／Ｆ１２６は、通信路１３を介して操作装置１１と通信するためのインタフェースである。接続Ｉ／Ｆ１２６には、例えば、ＵＳＢ規格のインタフェースが用いられる。
【００３５】
通信Ｉ／Ｆ１２７は、他の機器等と通信するためのインタフェースである。通信Ｉ／Ｆ１２７には、例えば、Ｗｉ−Ｆｉ規格の無線ＬＡＮ等が用いられる。
【００３６】
本実施形態に係る画像処理装置１０は、図２に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
【００３７】
なお、図２では、画像処理装置１０が操作装置１１を有している構成を一例として示したが、これに限られず、例えば、タブレット端末、スマートフォン、携帯電話、ＰＤＡ等の情報処理端末が画像処理装置１０の操作装置として機能しても良い。すなわち、これらの情報処理端末は、操作装置１１の通信Ｉ／Ｆ１１７又は本体装置１２の通信Ｉ／Ｆ１２７を介して画像処理装置１０と通信することにより、当該画像処理装置１０を制御することができても良い。
【００３８】
＜画像処理装置１０のソフトウェア群の階層構造＞
次に、本実施形態に係る画像処理装置１０の操作装置１１及び本体装置１２に含まれるソフトウェア群の階層構造について、図３を参照しながら説明する。図３は、本実施形態に係る画像処理装置１０の操作装置１１及び本体装置１２に含まれるソフトウェア群の階層構造の一例を示す図である。
【００３９】
図３は、操作装置１１に含まれるソフトウェア群の階層構造と、本体装置１２に含まれるソフトウェア群の階層構造とを示している。
【００４０】
まず、本体装置１２に含まれるソフトウェア群（すなわち、本体装置１２のＲＯＭ１２２やＨＤＤ１２４に記憶されているプログラム群）の階層構造について説明する。本体装置１２に含まれるソフトウェア群は、アプリケーション層２２１と、サービス層２２２と、ＯＳ層２２３とに大別することができる。
【００４１】
アプリケーション層２２１に区分されるソフトウェアは、ハードウェア資源を動作させて画像処理機能を実現させるためのソフトウェアである。具体的には、印刷アプリケーション、スキャンアプリケーション、コピーアプリケーション、及びＦＡＸアプリケーション等が挙げられる。
【００４２】
サービス層２２２に区分されるソフトウェアは、アプリケーション層２２１とＯＳ層２２３との間を介在するソフトウェアである。当該ソフトウェアは、本体装置１２が備えるハードウェア資源を、アプリケーション層２２１のソフトウェアが利用したり、本体装置１２が備えるハードウェア資源の状態を通知したりするインタフェースとしての役割を果たす。
【００４３】
具体的には、ハードウェア資源に対する実行要求を受け付けたり、受け付けた実行要求の調停を行ったりする。サービス層２２２が受け付ける実行要求には、例えば、画像処理エンジン１２５による画像処理の実行要求（スキャナによるスキャン実行要求やプロッタによる印刷実行要求等）が含まれる。
【００４４】
なお、サービス層２２２に区分されるソフトウェアが果たす上記インタフェースとしての役割は、操作装置１１のアプリケーション層２１１に対しても同様である。すなわち、操作装置１１のアプリケーション層２１１に区分されるソフトウェアも、サービス層２２２にアクセスすることにより、本体装置１２のハードウェア資源を動作させて、画像処理機能を実現させることができる。
【００４５】
ＯＳ層２２３に区分されるソフトウェアは、基本ソフトウェア（ＯＳ：Operating System）と呼ばれるプログラムであり、本体装置１２が有するハードウェア資源を制御する基本機能を提供する。ＯＳ層２２３に区分されるソフトウェアは、アプリケーション層２２１に区分されるソフトウェアからのハードウェア資源に対する実行要求を、サービス層２２２に区分されるソフトウェアを介して受け付けて、当該実行要求に応じた処理を実行する。
【００４６】
次に、操作装置１１に含まれるソフトウェア群（すなわち、操作装置１１のＲＯＭ１１２やフラッシュメモリ１１４に記憶されているプログラム群）の階層構造について説明する。本体装置１２と同様に、操作装置１１に含まれるソフトウェア群も、アプリケーション層２１１と、サービス層２１２と、ＯＳ層２１３とに大別することができる。
【００４７】
ただし、アプリケーション層２１１に区分されるソフトウェアが提供する機能やサービス層２１２が受け付け可能な実行要求の種類は、本体装置１２とは異なる。操作装置１１のアプリケーション層２１１に区分されるソフトウェアは、主として、各種操作や表示を行うためのユーザインタフェース機能を提供する。なお、Ｗｅｂブラウザ３００もアプリケーション層２１１に区分されるソフトウェアである。
【００４８】
なお、本実施形態では、操作装置１１と本体装置１２とで、ＯＳは独立して動作するものとする。また、操作装置１１と本体装置１２とが相互に通信可能であれば、ＯＳが同じ種類である必要はない。例えば、操作装置１１ではＯＳにＡｎｄｒｏｉｄ（登録商標）を用いる一方で、本体装置１２ではＯＳにＬｉｎｕｘ（登録商標）を用いることも可能である。
【００４９】
このように、本実施形態に係る画像処理装置１０は、操作装置１１と本体装置１２とが異なるＯＳにより制御される。このため、操作装置１１と本体装置１２との間の通信は、一装置内のプロセス間通信ではなく、異なる情報処理装置間の通信として行われる。
【００５０】
ただし、本実施形態に係る画像処理装置１０は、操作装置１１と本体装置１２とで異なる種類のＯＳが動作している場合に限られず、操作装置１１と本体装置１２とで同一種類のＯＳが動作していても良い。また、本実施形態に係る画像処理装置１０は、操作装置１１と本体装置１２とでＯＳが独立して動作している場合に限られず、操作装置１１及び本体装置１２上で一のＯＳが動作していても良い。
【００５１】
＜ソフトウェア構成例＞
次に、本実施形態に係る画像処理装置１０のソフトウェア構成について、図４を参照しながら説明する。図４は、本実施形態に係る画像処理装置１０のソフトウェア構成の一例を示す図である。
【００５２】
図４に示すように、本実施形態に係る画像処理装置１０の操作装置１１は、ブラウザ制御部３１０と、Ｗｅｂアプリケーション３２０とを有する。これら各部は、Ｗｅｂブラウザ３００がＣＰＵ１１１に実行させる処理により実現される。特に、Ｗｅｂアプリケーション３２０は、Ｗｅｂサーバ２０から提供されたＷｅｂコンテンツ（例えばＪａｖａＳｃｒｉｐｔ等）をＷｅｂブラウザ３００上で実行させることにより実現される。
【００５３】
また、本実施形態に係る画像処理装置１０の本体装置１２は、記憶部４１０を有する。記憶部４１０は、例えばフラッシュメモリ１１４やＲＡＭ１１３等を用いて実現可能である。
【００５４】
更に、本実施形態に係る画像処理装置１０の本体装置１２は、ＷｅｂＡＰＩ５１０と、アクセストークン検証部５２０と、機能実行部５３０とを有する。これら各部は、本体装置１２にインストールされた１以上のプログラムがＣＰＵ１２１に実行させる処理により実現される。
【００５５】
Ｗｅｂアプリケーション３２０は、Ｗｅｂサーバ２０から提供されたＷｅｂコンテンツがＷｅｂブラウザ３００上で実行されることにより実現されるアプリケーションである。Ｗｅｂアプリケーション３２０には、アクセストークン３３０が含まれる（すなわち、Ｗｅｂコンテンツには、アクセストークン３３０が含まれる。）。アクセストークン３３０は、Ｗｅｂコンテンツとして、Ｗｅｂサーバ２０から画像処理装置１０に送信され、Ｗｅｂアプリケーション３２０内に保持される。
【００５６】
アクセストークン３３０には、当該Ｗｅｂアプリケーション３２０が利用する機能の情報（これを「利用機能情報」と表す。）が含まれる。アクセストークン３３０に含まれる利用機能情報は、例えば、サードベンダー等からの申請に応じて、製造元ベンダー等より設定される。なお、アクセストークン３３０には、利用機能情報以外にも、例えば、製造元ベンダーが設定する任意の文字列で表されるトークン値やアクセストークン３３０が有効な期間を示す有効期間等が含まれる。
【００５７】
ブラウザ制御部３１０は、Ｗｅｂコンテンツの解釈や表示等の汎用的なＷｅｂブラウザが備える種々の機能を実現するための種々の処理を実行する。ブラウザ制御部３１０には、ＵＩ部３１１と、アクセストークン検証部３１２と、利用機能特定部３１３と、利用可否判定部３１４と、テーブル管理部３１５と、本体要求部３１６とが含まれる。
【００５８】
ＵＩ部３１１は、Ｗｅｂコンテンツに応じたＷｅｂページの表示を行う。また、ＵＩ部３１１は、Ｗｅｂページ上にユーザの各種操作（例えば、リンクの押下操作等）を受け付ける。
【００５９】
アクセストークン検証部３１２は、本体装置１２のアクセストークン検証部５２０により正当性が検証されたアクセストークン３３０について、Ｗｅｂページに関する正当性（以降では、Ｗｅｂページに関する正当性を「第２の正当性」とも表す。）を検証する。アクセストークン検証部３１２は、例えば、Ｗｅｂページのタイトル（ＨＴＭＬの＜ＴＩＴＬＥ＞タグに指定された情報）と、アクセストークン３３０に含まれるタイトルとが一致するか否か等を検証することで、アクセストークン３３０の第２の正当性を検証する。このように、Ｗｅｂブラウザ３００は、Ｗｅｂコンテンツを処理する際に、当該Ｗｅｂコンテンツに含まれるアクセストークン３３０の検証を行う。
【００６０】
利用機能特定部３１３は、Ｗｅｂアプリケーション３２０が利用を要求している機能を特定する。
【００６１】
利用可否判定部３１４は、利用機能特定部３１３により特定された機能（すなわち、Ｗｅｂアプリケーション３２０が利用を要求している機能）が利用可能であるか否かを判定する。利用可否判定部３１４は、後述する利用機能テーブル４２０を参照することで、当該機能が利用可能であるか否かを判定する。利用機能テーブル４２０とは、画像処理装置１０の各種機能毎に、当該Ｗｅｂアプリケーション３２０の利用可否を示す情報が格納されたテーブルである。利用機能テーブル４２０は、記憶部４１０に記憶されている。
【００６２】
テーブル管理部３１５は、アクセストークン検証部３１２によりアクセストークン３３０が正当であると検証された場合に、当該アクセストークン３３０に含まれる利用機能情報を用いて、利用機能テーブル４２０を更新する。また、テーブル管理部３１５は、利用機能特定部３１３によりＷｅｂアプリケーション３２０が利用を要求している機能が特定された場合、利用機能テーブル４２０を取得する。
【００６３】
本体要求部３１６は、本体装置１２のＷｅｂＡＰＩ５１０を介して、本体装置に対して各種要求を行う。
【００６４】
ＷｅｂＡＰＩ５１０は、操作装置１１が本体装置１２に対して各種要求を行うためのＡＰＩである。アクセストークン検証部５２０に対するアクセストークン３３０の検証要求や機能実行部５３０に対する機能の実行要求等は、ＷｅｂＡＰＩ５１０を介して行われる。
【００６５】
アクセストークン検証部５２０は、アクセストークン３３０について、トークン値や有効期間等の正当性（以降では、トークン値や有効期間等の正当性を「第１の正当性」とも表す。）を検証する。すなわち、アクセストークン検証部５２０は、例えば、アクセストークン３３０に含まれるトークン値が正しいか否か、有効期間内であるか否か等を検証することで、アクセストークン３３０の第１の正当性を検証する。
【００６６】
機能実行部５３０は、利用可否判定部３１４により当該機能が利用可能であると判定された場合に、当該機能（すなわち、Ｗｅｂアプリケーション３２０が利用を要求している機能）を実行する。
【００６７】
＜処理の詳細＞
次に、本実施形態に係る画像処理システム１の処理の詳細について説明する。
【００６８】
≪アクセストークン３３０の検証処理≫
まず、Ｗｅｂアプリケーション３２０からの検証要求に応じて、アクセストークン３３０の正当性を検証する処理について、図５を参照しながら説明する。図５は、アクセストークン３３０の検証処理の一例を示すシーケンス図である。以降では、Ｗｅｂサーバ２０から提供されたＷｅｂコンテンツがＷｅｂブラウザ３００上で実行されることで、Ｗｅｂアプリケーション３２０が実現されているものとする。なお、例えば、Ｗｅｂサーバ２０から提供されるＷｅｂコンテンツのＵＲＬ（Uniform Resource Locator）を示すショートカットアイコン等がユーザにより押下されることで、Ｗｅｂブラウザ３００により、当該ＷｅｂコンテンツがＷｅｂサーバ２０から取得（ダウンロード）される。又は、ユーザは、Ｗｅｂブラウザ３００のアドレスバー等に対して、当該ＷｅｂコンテンツのＵＲＬを直接指定しても良い。
【００６９】
まず、Ｗｅｂアプリケーション３２０は、ブラウザ制御部３１０に対して、アクセストークン検証要求を行う（ステップＳ５０１）。当該アクセストークン検証要求には、アクセストークン３３０が指定される。
【００７０】
ブラウザ制御部３１０に対するアクセストークン検証要求は、例えば、製造元ベンダーが提供するライブラリに定義されたＡＰＩ（例えばＪａｖａＳｃｒｉｐｔのＡＰＩ）を用いて、パラメータとしてアクセストークン３３０を指定することで行うことができる。なお、アクセストークン検証要求を行うためのＡＰＩは、例えば、ｏｎｌｏａｄイベントの発生時に呼び出されるようにすれば良い。
【００７１】
次に、ブラウザ制御部３１０の本体要求部３１６は、Ｗｅｂアプリケーション３２０からのアクセストークン検証要求を受け付けると、本体装置１２のアクセストークン検証部５２０に対して、アクセストークン検証要求を行う（ステップＳ５０２）。当該アクセストークン検証要求には、アクセストークン３３０が指定される。
【００７２】
アクセストークン検証部５２０に対するアクセストークン検証要求は、例えば、ＷｅｂＡＰＩ５１０に定義されたＡＰＩを用いて、パラメータとしてアクセストークン３３０を指定することで行うことができる。
【００７３】
次に、アクセストークン検証部５２０は、本体要求部３１６からのアクセストークン検証要求を受け付けると、当該検証要求に指定されたアクセストークン３３０を解析する（ステップＳ５０３）。アクセストークン検証部５２０は、アクセストークン３３０を解析することで、例えば、当該アクセストークン３３０に含まれるトークン値や有効期間等を特定する。
【００７４】
次に、アクセストークン検証部５２０は、上記のステップＳ５０３で特定されたトークン値や有効期間を用いて、アクセストークン３３０の第１の正当性を検証する（ステップＳ５０４）。すなわち、アクセストークン検証部５２０は、例えば、上記のステップＳ５０３で特定されたトークン値が正しいか否か（製造元ベンダーにより設定されたトークン値と一致するか否か）を検証する。また、アクセストークン検証部５２０は、例えば、上記のステップＳ５０３で特定された有効期限が過ぎていないか否かを検証する。
【００７５】
上記のステップＳ５０３で特定されたトークン値が正しく、かつ、有効期間が過ぎていない場合、アクセストークン検証部５２０により、当該アクセストークン３３０が正当なものであると検証される。一方で、上記のステップＳ５０３で特定されたトークン値が正しくないか又は有効期間が過ぎているかの少なくとも一方である場合、アクセストークン検証部５２０により、当該アクセストークン３３０が不正なものであると検証される。
【００７６】
ステップＳ５０４において、アクセストークン３３０が正当であると検証された場合、アクセストークン検証部５２０は、ブラウザ制御部３１０に対して、当該アクセストークン３３０が正当であることを示す検証結果を返信する（ステップＳ５０５）。
【００７７】
次に、ブラウザ制御部３１０のアクセストークン検証部３１２は、当該アクセストークン３３０を解析する（ステップＳ５０６）。アクセストークン検証部３１２は、アクセストークン３３０を解析することで、例えば、当該アクセストークン３３０に含まれるタイトル（Ｗｅｂページのタイトル）を特定する。
【００７８】
次に、ブラウザ制御部３１０のアクセストークン検証部３１２は、上記のステップＳ５０６で特定されたタイトルを用いて、アクセストークン３３０の第２の正当性を検証する（ステップＳ５０７）。すなわち、アクセストークン検証部３１２は、例えば、上記のステップＳ５０６で特定されたタイトルと、Ｗｅｂページのタイトル（例えば、ｏｎｌｏａｄイベント発生の直前に読み込まれたＷｅｂページのタイトル）とが一致するか否かを検証する。
【００７９】
上記のステップＳ５０６で特定されたタイトルと、Ｗｅｂページのタイトルとが一致する場合、アクセストークン検証部３１２により、当該アクセストークン３３０が正当なものであると検証される。一方で、上記のステップＳ５０６で特定されたタイトルと、Ｗｅｂページのタイトルとが一致しない場合、アクセストークン検証部３１２により、当該アクセストークン３３０が不正なものであると検証される。
【００８０】
ステップＳ５０７において、アクセストークン３３０が正当なものであると検証された場合、ブラウザ制御部３１０のテーブル管理部３１５は、当該アクセストークン３３０から利用機能情報を取得する（ステップＳ５０８）。
【００８１】
利用機能情報は、当該Ｗｅｂアプリケーション３２０が利用する機能の情報であり、例えば、「Ｋｅｙ＝Ｖａｌｕｅ」の形式で表される。また、複数のＶａｌｕｅが指定される場合は、例えば、「Ｋｅｙ＝Ｖａｌｕｅ１，Ｖａｌｕｅ２」等と複数のＶａｌｕｅをカンマで区切った形式で表される。
【００８２】
例えば、当該Ｗｅｂアプリケーション３２０がスキャン機能を利用する場合、利用機能情報は、「Ｆｕｎｃｔｉｏｎ＝ｓｃａｎ」と表される。また、例えば、当該Ｗｅｂアプリケーション３２０がスキャン機能と認証機能とを利用する場合、利用機能情報は、「Ｆｕｎｃｔｉｏｎ＝ｓｃａｎ，ａｕｔｈ」と表される。
【００８３】
Ｖａｌｕｅが取り得る値としては、上記の「ｓｃａｎ」や「ａｕｔｈ」の他、例えば、プリント機能を利用する場合に指定される「ｐｒｉｎｔ」、コピー機能を利用する場合に指定される「ｃｏｐｙ」が挙げられる。また、例えば、ＦＡＸ機能を利用する場合に指定される「ｆａｘ」、メール送信機能を利用する場合に指定される「ｍａｉｌ」、アドレス帳機能を利用する場合に指定される「ａｄｄｒｅｓｓ」等が挙げられる。
【００８４】
なお、本実施形態では、Ｗｅｂアプリケーション３２０が利用する機能をＶａｌｕｅに指定するものとしたが、これに限られず、例えば、Ｗｅｂアプリケーション３２０に利用させない機能がＶａｌｕｅに指定されても良い。
【００８５】
次に、ブラウザ制御部３１０のテーブル管理部３１５は、上記のステップＳ５０８で取得した利用機能情報を用いて、記憶部４１０に記憶されている利用機能テーブル４２０を更新する（ステップＳ５０９）。
【００８６】
ここで、上記のステップＳ５０８で取得した利用機能情報が「Ｆｕｎｃｔｉｏｎ＝ｓｃａｎ，ａｕｔｈ，ｍａｉｌ」である場合に、更新された利用機能テーブル４２０を図６に示す。図６は、利用機能テーブル４２０の一例を示す図である。
【００８７】
図６に示すように、利用機能テーブル４２０には、画像処理装置１０の機能毎に、利用可否（「ｔｒｕｅ」又は「ｆａｌｓｅ」）が関連付けられたレコードが格納されている。
【００８８】
利用機能テーブル４２０に含まれる各機能のうち、上記のステップＳ５０８で取得した利用機能情報に含まれる機能の利用可否が、テーブル管理部３１５により、「ｔｒｕｅ」に更新される。一方で、利用機能テーブル４２０に含まれる各機能のうち、上記のステップＳ５０８で取得した利用機能情報に含まれない機能の利用可否が、テーブル管理部３１５により、「ｆａｌｓｅ」に更新される。
【００８９】
図６に示す例では、利用機能テーブル４２０に含まれる各機能のうち、「スキャン」、「認証」及び「メール」の利用可否が、それぞれ「ｔｒｕｅ」に更新されている。一方で、利用機能テーブル４２０に含まれる各機能のうち、「スキャン」、「認証」及び「メール」以外の各機能の利用可否が、それぞれ「ｆａｌｓｅ」に更新されている。
【００９０】
このように、利用機能テーブル４２０には、画像処理装置１０の機能毎に、当該Ｗｅｂアプリケーション３２０が利用できるか否かを示す利用可否が関連付けられたレコードが格納されている。
【００９１】
図５に戻る。ステップＳ５０９に続いて、ブラウザ制御部３１０のアクセストークン検証部３１２は、Ｗｅｂアプリケーション３２０に対して、アクセストークン３３０が正当であることを示すアクセストークン検証応答を行う（ステップＳ５１０）。
【００９２】
一方で、ステップＳ５０４において、アクセストークン３３０が不正であると検証された場合、アクセストークン検証部５２０は、ブラウザ制御部３１０に対して、当該アクセストークン３３０が不正であることを示す検証結果を返信する（ステップＳ５１１）。
【００９３】
次に、ブラウザ制御部３１０のアクセストークン検証部３１２は、Ｗｅｂアプリケーション３２０に対して、アクセストークン３３０が不正であることを示すアクセストークン検証応答を行う（ステップＳ５１２）。
【００９４】
以上により、本実施形態に係る画像処理装置１０では、Ｗｅｂアプリケーション３２０からアクセストークン３３０の検証要求を受け付けると、当該アクセストークン３３０の正当性を検証する。そして、本実施形態に係る画像処理装置１０では、正当性が検証されたアクセストークン３３０に含まれる利用機能情報を用いて、当該Ｗｅｂアプリケーション３２０が利用可能な機能を利用機能テーブル４２０で管理することができる。これにより、後述する機能の利用処理において、当該Ｗｅｂアプリケーション３２０が利用できる機能を制限することができるようになる。
【００９５】
なお、アクセストークン３３０は、Ｗｅｂサービスにより提供されるＷｅｂページ毎に存在しても良い。このとき、Ｗｅｂページ毎に、このＷｅｂページに対応するアクセストークン３３０で利用可能な機能が異なっていても良い。これにより、例えば、トップページで利用する機能をユーザに選択させて、次のページは機能毎に異なるページに遷移させるようなページ構成として、当該次のページでは選択された機能（及び、この機能の利用に必要な機能）のみが利用可能なアクセストークン３３０を設定する、といったことが可能となる。具体的には、例えば、トップページで「スキャン機能」が選択された場合に遷移されるページでは、「スキャン」及び「アドレス帳」のみが利用可能なアクセストークン３３０を設定する。例えば、トップページで「コピー機能」が選択された場合に遷移されるページでは、「コピー」のみが利用可能なアクセストークン３３０を設定する、等である。
【００９６】
上述したように、例えば、Ｗｅｂページ毎にアクセストークン３３０で利用可能な機能を異ならせることで、万が一、アクセストークン３３０が流出した場合であっても、当該アクセストークン３３０で利用可能な機能が制限される。このため、アクセストークン３３０の流出に伴うリスクを低減することができる。
【００９７】
≪機能の利用処理≫
次に、Ｗｅｂアプリケーション３２０が当該画像処理装置１０の機能（例えば、スキャン機能やプリント機能）を利用する場合の処理について、図７を参照しながら説明する。図７は、機能の利用処理の一例を示すシーケンス図である。
【００９８】
まず、Ｗｅｂアプリケーション３２０は、ブラウザ制御部３１０に対して、機能の利用要求を行う（ステップＳ７０１）。Ｗｅｂアプリケーション３２０は、例えば、機能の利用を開始するための画面（機能利用画面）において、機能の実行を開始するための操作等がユーザにより行われたことに応じて、機能の利用要求を行う。
【００９９】
ブラウザ制御部３１０に対する機能の利用要求は、例えば、製造元ベンダーが提供するライブラリに定義されたＡＰＩ（例えばＪａｖａＳｃｒｉｐｔのＡＰＩ）を用いて、行うことができる。
【０１００】
ここで、スキャン機能及びメール送信機能を利用するための機能利用画面Ｇ１１０を図８に示す。図８は、機能利用画面の一例を示す図（その１）である。
【０１０１】
図８に示す機能利用画面Ｇ１１０は、スキャンにより生成された画像データを指定されたメールアドレス宛に送信するＷｅｂサービスを提供するＷｅｂアプリケーション３２０により表示される。図８に示す機能利用画面Ｇ１１０には、メールアドレスを指定するメールアドレス指定欄Ｇ１１１と、スキャン設定画面Ｇ１２０に遷移するためのスキャン設定ボタンＧ１１２と、実行ボタンＧ１１３とが含まれる。スキャン設定ボタンＧ１１２を押下することで表示されるスキャン設定画面Ｇ１２０では、ユーザは、スキャン設定欄Ｇ１２１において、各種スキャン設定（例えば、白黒／カラー、出力データ形式、読み取り解像度、片面／両面等）の設定値を指定することができる。
【０１０２】
少なくともメールアドレス指定欄Ｇ１１１にメールアドレスが指定された上で、ユーザにより実行ボタンＧ１１３が押下された場合、Ｗｅｂアプリケーション３２０は、ブラウザ制御部３１０に対して、機能（スキャン機能及びメール送信機能）の利用要求を行う。なお、スキャン設定画面Ｇ１２０でスキャン設定の設定値が指定されなかった場合、例えば、スキャン設定の設定値にはデフォルト値が指定される。
【０１０３】
また、プリント機能を利用するための機能利用画面Ｇ２１０を図９に示す。図９は、機能利用画面Ｇ２１０の一例を示す図（その２）である。
【０１０４】
図９に示す機能利用画面Ｇ２１０は、例えば外部ストレージ等に格納されている電子ファイルをダウンロードして印刷するＷｅｂサービスを提供するＷｅｂアプリケーション３２０により表示される。図９に示す機能利用画面Ｇ２１０には、外部ストレージのＵＲＬを指定する外部ストレージ指定欄Ｇ２１１と、当該外部ストレージに格納されている電子ファイルを選択するファイル選択欄Ｇ２１２とが含まれる。また、図９に示す機能利用画面Ｇ２１０には、印刷設定画面Ｇ２２０に遷移するための印刷設定ボタンＧ２１３と、実行ボタンＧ２１４とが含まれる。印刷設定ボタンＧ２１３を押下することで表示される印刷設定画面Ｇ２２０では、ユーザは、印刷設定画面Ｇ２２０において、各種印刷設定（例えば、印刷部数、白黒／カラー、片面／両面、集約有無、印刷範囲等）の設定値を指定することができる。
【０１０５】
少なくとも外部ストレージ指定欄Ｇ２１１に外部ストレージが指定され、ファイル選択欄Ｇ２１２から電子ファイルが選択された上で、ユーザにより実行ボタンＧ２１４が押下された場合、Ｗｅｂアプリケーション３２０は、ブラウザ制御部３１０に対して、機能（プリント機能）の利用要求を行う。なお、印刷設定画面Ｇ２２０で印刷設定の設定値が指定されなかった場合、例えば、印刷設定の設定値にはデフォルト値が指定される。
【０１０６】
図７に戻る。ステップＳ７０１に続いて、ブラウザ制御部３１０の利用機能特定部３１３は、Ｗｅｂアプリケーション３２０が利用を要求している機能を特定する（ステップＳ７０２）。利用機能特定部３１３は、例えば、上記のステップＳ７０１で呼び出されたＡＰＩを特定することで、当該ＡＰＩに対応する機能を、Ｗｅｂアプリケーション３２０が利用を要求している機能と特定することができる。
【０１０７】
次に、ブラウザ制御部３１０のテーブル管理部３１５は、記憶部４１０に記憶されている利用機能テーブル４２０を取得する（ステップＳ７０３）。なお、テーブル管理部３１５は、例えば、当該利用機能テーブル４２０に格納されている各レコードを取得しても良いし、当該利用機能テーブル４２０に格納されている各レコードのうち、利用可否が「ｔｒｕｅ」であるレコードのみを取得しても良い。
【０１０８】
次に、ブラウザ制御部３１０の利用可否判定部３１４は、上記のステップＳ７０３で取得された利用機能テーブル４２０を参照して、上記のステップＳ７０２で特定された機能が利用可能であるか否かを判定する（ステップＳ７０４）。すなわち、利用可否判定部３１４は、当該利用機能テーブル４２０において、特定された機能に対して、「ｔｒｕｅ」又は「ｆａｌｓｅ」のいずれが関連付けられているかを判定する。
【０１０９】
特定された機能に対して「ｔｒｕｅ」が関連付けられている場合、利用可否判定部３１４により、当該機能は利用可と判定される。一方で、特定された機能に対して「ｆａｌｓｅ」が関連付けられている場合、利用可否判定部３１４により、当該機能は利用不可と判定される。
【０１１０】
ステップＳ７０４において、特定された機能が利用可であると判定された場合、ブラウザ制御部３１０の本体要求部３１６は、本体装置１２の機能実行部５３０に対して、上記のステップＳ７０２で特定された機能の実行要求を行う（ステップＳ７０５）。
【０１１１】
機能実行部５３０に対する機能の実行要求は、例えば、ＷｅｂＡＰＩ５１０に定義されたＡＰＩを用いて行うことができる。このとき、パラメータとして、例えば、機能の実行に用いられる各種設定値（印刷設定の設定値やスキャン設定の設定値等）が指定される。
【０１１２】
次に、機能実行部５３０は、機能実行要求を受け付けると、当該機能を実行する（ステップＳ７０６）。これにより、Ｗｅｂアプリケーション３２０が利用を要求した機能が実行される。
【０１１３】
一方で、ステップＳ７０４において、特定された機能が利用不可であると判定された場合、ブラウザ制御部３１０のＵＩ部３１１は、例えば図１０に示すエラー画面Ｇ３１０を操作パネル１１５上に表示する（ステップＳ７０７）。
【０１１４】
図１０に示すエラー画面Ｇ３１０は、アクセストークン３３０によって、Ｗｅｂアプリケーション３２０が要求した機能の利用が禁止されていることを示す画面である。これにより、画像処理装置１０のユーザは、当該Ｗｅｂアプリケーション３２０により当該機能が利用できないことを知ることができる。
【０１１５】
以上のように、本実施形態に係る画像処理装置１０では、Ｗｅｂアプリケーション３２０から機能の利用要求が行われた場合に、利用機能テーブル４２０を参照して、当該機能が利用可能であるか否かを判定する。そして、本実施形態に係る画像処理装置１０では、当該機能が利用不可であると判定した場合、当該機能の利用を禁止することができる。これにより、アクセストークン３３０に含まれる利用機能情報に基づいて、Ｗｅｂアプリケーション３２０が利用可能な機能を制限することができる。
【０１１６】
ここで、上記のステップＳ７０１の機能の利用要求は、上述した場合以外にも、機能のＡＰＩが利用された場合に行われても良い。機能のＡＰＩが利用された場合とは、例えば、以下の（１）及び（２）等が挙げられる。
【０１１７】
（１）所定の画面（例えば、ジョブの設定値選択画面等）を表示させるための操作がユーザにより行われたことをトリガーとして、機能の能力（例えば、機能の設定値等）を取得するＡＰＩがコールされた場合
（２）スキャン機能のＷｅｂアプリケーション３２０がショートカット等から起動されたことに応じて実行されるＷｅｂアプリ起動処理において、ジョブのイベント受信用のコールバック関数（すなわち、ジョブ実行開始を示す操作がユーザにより行われるまで待機するための関数）を登録するためのＡＰＩがコールされた場合
なお、上記の（１）及び（２）は、機能に関するジョブの実行準備の段階と言うこともできる。したがって、この段階では、ユーザは、画像処理装置１０のスタートボタン（ジョブの実行を開始するためのボタン（例えば実行ボタンＧ２１４等））を押下することはできない。また、この段階でエラー画面（例えば、上記のステップＳ７０７で表示されるエラー画面Ｇ３１０）が表示される場合は、例えば機能利用画面Ｇ１１０が表示される前にエラー画面が表示される。
【０１１８】
したがって、本実施形態に係る画像処理システム１によれば、例えばサードベンダーが開発及び提供するＷｅｂアプリケーション３２０に対して、アクセストークン３３０の発行時に許可した機能のみを利用させることができる。また、仮にアクセストークン３３０が流出等した場合であっても、当該アクセストークン３３０を用いて利用可能な機能が予め許可した機能のみに制限されるため、アクセストークン３３０の流出等に伴うセキュリティリスクを低減することができる。
【０１１９】
なお、上述したように、Ｗｅｂアプリケーションは、例えば、画像処理装置を製造する企業とは異なるサードベンダーにより開発及び提供される場合がある。この場合、アクセストークンは、例えば、Ｗｅｂアプリケーションを開発及び提供するサードベンダーからの申請に応じて、Ｗｅｂアプリケーション毎に、画像処理装置を製造する企業により発行される。
【０１２０】
このとき、例えば、アクセストークンがサードベンダーから流出等した場合、セキュリティ上の問題が発生する可能性がある。すなわち、この場合、例えば、サードベンダーとも異なる第三者が開発したＷｅｂアプリケーションにより、画像処理装置の全ての画像処理機能が不正に利用されてしまう恐れがある。一方で、例えば、Ｗｅｂアプリケーションを用いて利用される画像処理機能は、当該Ｗｅｂアプリケーションに応じて異なる場合が多い。
【０１２１】
そこで、本実施形態に係る画像処理システム１によれば、上記のような、例えば、第三者が開発したＷｅｂアプリケーションにより画像処理装置の全ての画像処理機能が不正に利用されてしまうような事態を防止することができるようになる。
【０１２２】
なお、上述した「アクセストークンの検証処理」や「機能の利用処理」は、画像処理エンジン１２５を含む本体装置１２がスタンバイ状態に移行している間に平行して行われても良い。これにより、例えば、画像処理装置１０の起動に応じて操作装置１１（及びＷｅｂブラウザ３００）が優先して起動される設定である場合、本体装置１２をスタンバイ状態に移行させつつ、「アクセストークンの検証処理」や「機能の利用処理」を行うことができる。したがって、この場合、機能の実行時におけるユーザの待機時間を低減させることができる。
【０１２３】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１２４】
１        画像処理システム
１０      画像処理装置
１１      操作装置
１２      本体装置
２０      Ｗｅｂサーバ
３００    Ｗｅｂブラウザ
３１０    ブラウザ制御部
３１１    ＵＩ部
３１２    アクセストークン検証部
３１３    利用機能特定部
３１４    利用可否判定部
３１５    テーブル管理部
３１６    本体要求部
３２０    Ｗｅｂアプリケーション
３３０    アクセストークン
４１０    記憶部
４２０    利用機能テーブル
５１０    ＷｅｂＡＰＩ
５２０    アクセストークン検証部
５３０    機能実行部
【先行技術文献】
【特許文献】
【０１２５】
【特許文献１】特開２０１６−１２６４６２号公報
【図１】
2019068401.tif 000003
【図２】
2019068401.tif 000004
【図３】
2019068401.tif 000005
【図４】
2019068401.tif 000006
【図５】
2019068401.tif 000007
【図６】
2019068401.tif 000008
【図７】
2019068401.tif 000009
【図８】
2019068401.tif 000010
【図９】
2019068401.tif 000011
【図１０】
2019068401.tif 000012