(57)【要約】【課題】ユーザの認可処理に伴う負担を軽減できる情報処理装置を提供することを課題とする。【解決手段】ユーザ環境の電子機器と連携したサービスのアプリケーションが、電子機器を操作するユーザにサービスを提供する情報処理装置であって、アプリケーションと処理フローとを対応付ける対応付け手段と、処理フローと外部サービスの利用範囲とを対応付ける対応付け手段と、ユーザが利用可能なアプリケーションと対応付けられた処理フローが必要とする外部サービスの利用範囲を取得する利用範囲取得手段と、ユーザが認可済みの外部サービスの利用範囲を表す認可済み情報を取得する認可済み情報取得手段と、取得した処理フローが必要とする外部サービスの利用範囲とユーザが認可済みの外部サービスの利用範囲との比較結果に基づき、外部サービスごとに認可済みか否かの情報を提供する提供手段と、を有することにより、上記課題を解決する。【選択図】  図１
2018136909.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ環境の電子機器と連携した１つ以上のサービスのアプリケーションが、前記電子機器を操作するユーザに前記サービスを提供する情報処理装置であって、
前記アプリケーションと、前記アプリケーションが呼び出す処理フローとを対応付ける第１対応付け手段と、
前記処理フローと、前記処理フローが必要とする外部サービスの利用範囲とを対応付ける第２対応付け手段と、
前記ユーザが利用可能な前記アプリケーションと対応付けられた前記処理フローが必要とする前記外部サービスの利用範囲を取得する利用範囲取得手段と、
前記ユーザが認可済みの前記外部サービスの利用範囲を表す認可済み情報を取得する認可済み情報取得手段と、
取得した前記処理フローが必要とする前記外部サービスの利用範囲と前記ユーザが認可済みの前記外部サービスの利用範囲との比較結果に基づき、前記外部サービスごとに認可済みか否かの情報を提供する提供手段と、
を有する情報処理装置。
【請求項２】
前記提供手段は、取得した前記処理フローが必要とする前記外部サービスの利用範囲に前記ユーザが認可済みの前記外部サービスの利用範囲以外が含まれている場合に、前記外部サービスごとに追加で認可が必要であることを示す情報を提供すること
を特徴とする請求項１記載の情報処理装置。
【請求項３】
前記ユーザが利用可能な前記アプリケーションと対応付けられた前記処理フローが必要とする前記外部サービスの利用範囲の認可処理を、リダイレクト処理により前記ユーザが操作する端末装置と前記外部サービスとを接続して行わせること
を特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記提供手段は、前記ユーザが使用する前記アプリケーションを選択した際、選択した前記アプリケーションと対応付けられた前記処理フローが必要とする前記外部サービスの利用範囲と前記ユーザが認可済みの前記外部サービスの利用範囲との比較結果に基づき、前記外部サービスごとに認可済みか否かの情報を提供すること
を特徴とする請求項１乃至３何れか一項記載の情報処理装置。
【請求項５】
前記アプリケーションが利用する前記外部サービスと、前記外部サービスのうち、代理認証が必要な前記外部サービスの代理認証設定情報とを対応付ける第３対応付け手段と、
前記アプリケーションが利用する前記外部サービスの代理認証設定情報を取得する代理認証設定情報取得手段と、
前記ユーザが設定済みの前記外部サービスの代理認証情報を取得する代理認証情報取得手段と、
前記アプリケーションが利用する前記外部サービスの代理認証設定情報と前記ユーザが設定済みの前記外部サービスの代理認証情報との比較結果に基づき、前記外部サービスごとに代理認証情報が設定済みか否かの情報を提供する代理認証設定情報提供手段と、
を更に有する請求項１乃至４何れか一項記載の情報処理装置。
【請求項６】
前記アプリケーションが利用する前記外部サービスのうち、代理認証が必要な前記外部サービスの代理認証情報の設定を、前記外部サービスごとに受け付ける代理認証情報設定受付手段、
を更に有する請求項５記載の情報処理装置。
【請求項７】
ユーザ環境の電子機器と連携した１つ以上のサービスのアプリケーションが、前記電子機器を操作するユーザに前記サービスを提供する、１台以上の情報処理装置を含むように構成される情報処理システムであって、
前記アプリケーションと、前記アプリケーションが呼び出す処理フローとを対応付ける第１対応付け手段と、
前記処理フローと、前記処理フローが必要とする外部サービスの利用範囲とを対応付ける第２対応付け手段と、
前記ユーザが利用可能な前記アプリケーションと対応付けられた前記処理フローが必要とする前記外部サービスの利用範囲を取得する利用範囲取得手段と、
前記ユーザが認可済みの前記外部サービスの利用範囲を表す認可済み情報を取得する認可済み情報取得手段と、
取得した前記処理フローが必要とする前記外部サービスの利用範囲と前記ユーザが認可済みの前記外部サービスの利用範囲との比較結果に基づき、前記外部サービスごとに認可済みか否かの情報を提供する提供手段と、
を有する情報処理システム。
【請求項８】
ユーザ環境の電子機器と連携した１つ以上のサービスのアプリケーションが、前記電子機器を操作するユーザに前記サービスを提供する情報処理装置を、
前記アプリケーションと、前記アプリケーションが呼び出す処理フローとを対応付ける第１対応付け手段、
前記処理フローと、前記処理フローが必要とする外部サービスの利用範囲とを対応付ける第２対応付け手段、
前記ユーザが利用可能な前記アプリケーションと対応付けられた前記処理フローが必要とする前記外部サービスの利用範囲を取得する利用範囲取得手段、
前記ユーザが認可済みの前記外部サービスの利用範囲を表す認可済み情報を取得する認可済み情報取得手段、
取得した前記処理フローが必要とする前記外部サービスの利用範囲と前記ユーザが認可済みの前記外部サービスの利用範囲との比較結果に基づき、前記外部サービスごとに認可済みか否かの情報を提供する提供手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム及びプログラムに関する。
【背景技術】
【０００２】
ＭＦＰのようなドキュメントの入出力デバイスから、クラウド上のサービスに連携するサービス（以下、機器連携サービスという）が既に知られている。さらに、外部クラウドサービスとの連携においては、ＯＡｕｔｈ認証のような必要なスコープをユーザに認可させる仕組みが既に知られている。
【０００３】
例えば複数のサービスを連携させる従来の利用形態においては、一のサービスがユーザから委譲された権限に応じて他のサービスの提供を受ける際に、他のサービスそれぞれについて認可手続きを行っていた（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えばユーザは機器連携サービスが提供するアプリケーションを利用する場合、アプリケーションが必要とする外部クラウドサービスのスコープを認可する必要があった。したがって、機器連携サービスが提供する複数のアプリケーションを利用するユーザは、そのアプリケーションが異なるスコープを必要とする場合、アプリケーションごとに認可しなければならず、ユーザの負担となっていた。
【０００５】
本発明の一実施形態は、上記の点に鑑みてなされたものであり、ユーザの認可処理に伴う負担を軽減できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一実施形態は、ユーザ環境の電子機器と連携した１つ以上のサービスのアプリケーションが、前記電子機器を操作するユーザに前記サービスを提供する情報処理装置であって、前記アプリケーションと、前記アプリケーションが呼び出す処理フローとを対応付ける第１対応付け手段と、前記処理フローと、前記処理フローが必要とする外部サービスの利用範囲とを対応付ける第２対応付け手段と、前記ユーザが利用可能な前記アプリケーションと対応付けられた前記処理フローが必要とする前記外部サービスの利用範囲を取得する利用範囲取得手段と、前記ユーザが認可済みの前記外部サービスの利用範囲を表す認可済み情報を取得する認可済み情報取得手段と、取得した前記処理フローが必要とする前記外部サービスの利用範囲と前記ユーザが認可済みの前記外部サービスの利用範囲との比較結果に基づき、前記外部サービスごとに認可済みか否かの情報を提供する提供手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明の一実施形態によれば、ユーザの認可処理に伴う負担を軽減できる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る情報処理システムの一例の構成図である。
【図２】コンピュータの一例のハードウェア構成図である。
【図３】複合機の一例のハードウェア構成図である。
【図４】本実施形態に係る入出力サービス装置の一例の処理ブロック図である。
【図５】本実施形態に係るメタデータ生成サービス装置の一例の処理ブロック図である。
【図６】本実施形態に係る認証サービス装置の一例の処理ブロック図である。
【図７】本実施形態に係るコンテンツ提供サービス装置の一例の処理ブロック図である。
【図８】本実施形態に係る端末装置の一例の処理ブロック図である。
【図９】認可情報の取りまとめの一例のシーケンス図である。
【図１０】アプリ処理フロー対応付け情報の一例の構成図である。
【図１１】処理フロースコープ対応付け情報の一例の構成図である。
【図１２】サービス連携設定画面の一例のイメージ図である。
【図１３】アプリ選択画面から遷移する認可処理確認画面の一例のイメージ図である。
【図１４】マージしたスコープの一例の構成図である。
【図１５】認証サービス装置から返された認可済み情報の一例の構成図である。
【図１６】認証サービス装置から返された認可済み情報の他の例の構成図である。
【図１７】認可処理の一例のシーケンス図である。
【図１８】アプリごとのサービス連携設定画面と外部サービスごとのサービス連携設定画面の一例のイメージ図である。
【図１９】第２の実施形態に係る入出力サービス装置の一例の処理ブロック図である。
【図２０】第２の実施形態に係るメタデータ生成サービス装置の一例の処理ブロック図である。
【図２１】第２の実施形態に係る認証サービス装置の一例の処理ブロック図である。
【図２２】第２の実施形態に係るコンテンツ提供サービス装置の一例の処理ブロック図である。
【図２３】第２の実施形態に係る端末装置の一例の処理ブロック図である。
【図２４】代理認証情報の取りまとめの一例のシーケンス図である。
【図２５】代理認証設定情報の一例の構成図である。
【図２６】サービス連携設定画面の一例のイメージ図である。
【図２７】代理認証情報設定処理の一例のシーケンス図である。
【図２８】認可情報の取りまとめの一例のシーケンス図である。
【図２９】マージしたスコープの一例の構成図である。
【図３０】認証サービス装置から返された認可済み情報の一例の構成図である。
【図３１】コンテンツ提供サービス装置から返された認可情報の一例の構成図である。
【図３２】認可情報確認処理の一例のシーケンス図である。
【図３３】画像形成装置のブラウザ上のアプリに返された外部ストレージサービス指定時の認可情報の一例の構成図である。
【図３４】アプリが持つ情報と認可情報更新通知画面の一例のイメージ図である。
【図３５】認可情報更新処理の一例のシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１０】
［第１の実施形態］
＜システム構成＞
図１は、第１の実施形態に係る情報処理システムの一例の構成図である。図１に示される情報処理システム１はサービス提供環境Ｅ１、ユーザ環境Ｅ２及び外部ストレージシステム４０を含み、インターネット等の広域的なネットワークＮ１を介して通信可能に接続されている。
【００１１】
サービス提供環境Ｅ１は、ネットワークＮ１を介してクラウドサービス等のサービスを提供するシステム環境である。本実施形態では、サービスの一例としてクラウドサービスを採用して説明するが、ＡＳＰ（Application Service Provider）により提供されるサービスやＷｅｂサービス等のサービスであってもよい。
【００１２】
図１のサービス提供環境Ｅ１は、入出力サービス装置１０、メタデータ生成サービス装置１２、認証サービス装置１４及びコンテンツ提供サービス装置１６が例えばＬＡＮなどのネットワークＮ３を介して接続されている。
【００１３】
入出力サービス装置１０は、機器連携サービスにおいて、複数の外部ストレージシステム４０の固有機能（書誌情報を付加できるなど）の差分を吸収する機能、ＯＣＲ処理の機能及びファイル変換の機能など、を有するサービスを提供する。入出力サービス装置１０が提供するサービスは、入出力サービス装置１０におけるアプリケーションと、ユーザ環境Ｅ２の画像形成装置２０とを連携させることにより実現される。
【００１４】
例えば入出力サービス装置１０は、ユーザ環境Ｅ２の画像形成装置２０において原稿をスキャンして生成された電子ファイルを、外部ストレージシステム４０に保存するサービス（スキャン配信サービス）を提供する。
【００１５】
また、メタデータ生成サービス装置１２は入出力サービス装置１０へのリクエストとなるデータを生成するためのメタデータを定義できるサービスである。メタデータはアプリケーション開発者が定義する。メタデータ生成サービス装置１２は、アプリケーションが入出力サービス装置１０のどの処理フローを呼び出すか、という情報も定義する。
【００１６】
また、認証サービス装置１４は外部ストレージシステム４０と連携するための認証機能やユーザ情報の管理機能などのサービスを提供する。また、コンテンツ提供サービス装置１６はユーザにアプリケーションを提供するサービスプログラム、及び、そのサービスプログラムが動作するサーバコンピュータである。なお、アプリケーション（以下、単にアプリと呼ぶ）はユーザ環境Ｅ２で動作するＷｅｂアプリなどである。
【００１７】
サービス提供環境Ｅ１は一台以上の情報処理装置で実現される。サービス提供環境Ｅ１の入出力サービス装置１０、メタデータ生成サービス装置１２、認証サービス装置１４及びコンテンツ提供サービス装置１６の全部又は一部はユーザ環境Ｅ２に設置されていてもよい。すなわち、サービス提供環境Ｅ１を構成する情報処理装置の全部又は一部はユーザ環境Ｅ２に包含されていてもよい。
【００１８】
ユーザ環境Ｅ２は、例えば画像形成装置２０を使用するユーザである企業等のシステム環境である。ユーザ環境Ｅ２は、画像形成装置２０、端末装置３０が例えばＬＡＮなどのネットワークＮ２を介して接続されている。
【００１９】
画像形成装置２０は、ユーザが操作する電子機器の一例である。画像形成装置２０は複合機、コピー機、スキャナ、プリンタ、レーザプリンタ、プロジェクタ、電子黒板などの電子機器である。画像形成装置２０は、スキャン機能、プリント機能、コピー機能又はＦＡＸ通信機能などの機能を備える。また、端末装置３０は、一般的なＯＳなどが搭載されたスマートフォンや携帯電話、パーソナルコンピュータ（ＰＣ）など、ユーザが操作する操作端末である。
【００２０】
外部ストレージシステム４０は、ネットワークＮ１を介してストレージサービス（又はオンラインストレージ）と呼ばれるクラウドサービスを提供するコンピュータシステムである。ストレージサービスとは、外部ストレージシステム４０のストレージの記憶領域を貸し出すサービスである。なお、外部ストレージシステム４０は、複数台の情報処理装置によって実現されるシステムであってもよい。
【００２１】
図１の情報処理システム１の構成は一例であって、他の構成であってもよい。例えば画像形成装置２０は複数台あってもよい。また、端末装置３０はネットワークＮ１に接続されていてもよい。
【００２２】
＜ハードウェア構成＞
≪コンピュータ≫
図１の入出力サービス装置１０、メタデータ生成サービス装置１２、認証サービス装置１４及びコンテンツ提供サービス装置１６を実現する一台以上の情報処理装置は図２に示すようなハードウェア構成のコンピュータにより実現される。また、外部ストレージシステム４０を実現する一台以上の情報処理装置も図２に示すようなハードウェア構成のコンピュータにより実現される。また、図１の端末装置３０も図２に示すようなハードウェア構成のコンピュータにより実現される。
【００２３】
図２はコンピュータの一例のハードウェア構成図である。図２のコンピュータ５００は入力装置５０１、表示装置５０２、外部Ｉ／Ｆ５０３、ＲＡＭ５０４、ＲＯＭ５０５、ＣＰＵ５０６、通信Ｉ／Ｆ５０７及びＨＤＤ５０８などを備え、それぞれがバスＢで相互に接続されている。なお、入力装置５０１及び表示装置５０２は必要なときに接続して利用する形態であってもよい。
【００２４】
入力装置５０１はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置５０２はディスプレイ等を含み、コンピュータ５００による処理結果を表示する。
【００２５】
通信Ｉ／Ｆ５０７はコンピュータ５００を各種ネットワークに接続するインタフェースである。これにより、コンピュータ５００は通信Ｉ／Ｆ５０７を介してデータ通信を行うことができる。
【００２６】
また、ＨＤＤ５０８はプログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ５００全体を制御する基本ソフトウェアであるＯＳ、ＯＳ上において各種機能を提供するアプリなどがある。なお、コンピュータ５００はＨＤＤ５０８に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００２７】
外部Ｉ／Ｆ５０３は、外部装置とのインタフェースである。外部装置には、記録媒体５０３ａなどがある。これにより、コンピュータ５００は外部Ｉ／Ｆ５０３を介して記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａにはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリなどがある。
【００２８】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５０５にはコンピュータ５００の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。
【００２９】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、コンピュータ５００全体の制御や機能を実現する演算装置である。
【００３０】
入出力サービス装置１０、メタデータ生成サービス装置１２、認証サービス装置１４及びコンテンツ提供サービス装置１６は、例えば図２に示したコンピュータ５００のハードウェア構成により、後述するような各種処理を実現できる。外部ストレージシステム４０を実現する一台以上の情報処理装置、及び、端末装置３０も、例えば図２のコンピュータ５００のハードウェア構成により、後述するような各種処理を実現できる。
【００３１】
《複合機》
図１の画像形成装置２０の一例である複合機６００は、例えば図３に示すようなハードウェア構成のコンピュータにより実現される。図３は複合機の一例のハードウェア構成図である。図３の複合機６００はコントローラ６０１、操作パネル６０２、外部Ｉ／Ｆ６０３、通信Ｉ／Ｆ６０４、プリンタ６０５及びスキャナ６０６などを備える。
【００３２】
コントローラ６０１はＣＰＵ６１１、ＲＡＭ６１２、ＲＯＭ６１３、ＮＶＲＡＭ６１４及びＨＤＤ６１５などを備える。ＲＯＭ６１３は、各種プログラムやデータが格納されている。ＲＡＭ６１２はプログラムやデータを一時保持する。ＮＶＲＡＭ６１４は、例えば設定情報等が格納されている。また、ＨＤＤ６１５は各種プログラムやデータが格納されている。
【００３３】
ＣＰＵ６１１は、ＲＯＭ６１３やＮＶＲＡＭ６１４、ＨＤＤ６１５などからプログラムやデータ、設定情報等をＲＡＭ６１２上に読み出し、処理を実行することで、複合機６００全体の制御や機能を実現する。
【００３４】
操作パネル６０２はユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部Ｉ／Ｆ６０３は外部装置とのインタフェースである。外部装置には、記録媒体６０３ａなどがある。これにより、複合機６００は外部Ｉ／Ｆ６０３を介して記録媒体６０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体６０３ａにはＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３５】
また、通信Ｉ／Ｆ６０４は、複合機６００をネットワークＮ２に接続させるためのインタフェースである。これにより、複合機６００は通信Ｉ／Ｆ６０４を介してデータ通信を行うことができる。プリンタ６０５は印刷データを被搬送物に印刷するための印刷装置である。例えば被搬送物は、紙、コート紙、厚紙、ＯＨＰ、プラスチックフィルム、プリプレグ、銅箔など、紙に限定されない。また、スキャナ６０６は原稿から画像データ（電子データ）を読み取るための読取装置である。
【００３６】
複合機６００は、上記したハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３７】
＜ソフトウェア構成＞
例えば本実施形態に係る情報処理システム１の入出力サービス装置１０、メタデータ生成サービス装置１２、認証サービス装置１４、コンテンツ提供サービス装置１６及び端末装置３０は例えば後述のような処理ブロックにより実現することができる。なお、後述では本実施形態の説明に不要な処理ブロックを省略している。
【００３８】
《入出力サービス装置》
図４は本実施形態に係る入出力サービス装置の一例の処理ブロック図である。図４の入出力サービス装置１０は、処理フロー用スコープ要求受付部５１、スコープ取得部５２及び処理フロースコープ対応付け情報記憶部５３を有する。
【００３９】
処理フロー用スコープ要求受付部５１は、メタデータ生成サービス装置１２から入出力サービスフロー（処理フロー）を指定したスコープ要求を受け付け、その処理フローに対応付けられているスコープ（外部ストレージシステム４０の利用範囲）を返す。スコープ取得部５２は、処理フローに対応付けられているスコープを処理フロースコープ対応付け情報記憶部５３から取得する。処理フロースコープ対応付け情報記憶部５３は、処理フローとスコープとを対応付けて記憶している。
【００４０】
《メタデータ生成サービス装置》
また、図５は本実施形態に係るメタデータ生成サービス装置の一例の処理ブロック図である。図５のメタデータ生成サービス装置１２は、アプリ用スコープ要求受付部６１、処理フロー用スコープ要求部６２、アプリ処理フロー対応付け情報記憶部６３を有する。
【００４１】
アプリ用スコープ要求受付部６１は、コンテンツ提供サービス装置１６からアプリを指定したスコープ要求を受け付け、そのアプリの利用に必要となるスコープを返す。処理フロー用スコープ要求部６２は、コンテンツ提供サービス装置１６からのスコープ要求に指定されていたアプリに対応付けられている処理フローを、アプリ処理フロー対応付け情報記憶部６３から取得する。
【００４２】
そして、処理フロー用スコープ要求部６２は、コンテンツ提供サービス装置１６からのスコープ要求に指定されていたアプリに対応付けられている処理フローを指定して、入出力サービス装置１０にスコープを要求し、スコープを取得する。アプリ処理フロー対応付け情報記憶部６３は、アプリと処理フローとを対応付けて記憶している。
【００４３】
《認証サービス装置》
図６は本実施形態に係る認証サービス装置の一例の処理ブロック図である。図６の認証サービス装置１４は、認可済み情報要求受付部７１、認可済み情報記憶部７２を有する。
【００４４】
認可済み情報要求受付部７１は、コンテンツ提供サービス装置１６からユーザを指定した認可済み情報取得要求を受け付け、そのユーザに対応付けられている認可済み情報を返す。認可済み情報記憶部７２は、ユーザと認可済み情報とを対応付けて記憶している。
【００４５】
《コンテンツ提供サービス装置》
図７は本実施形態に係るコンテンツ提供サービス装置の一例の処理ブロック図である。図７のコンテンツ提供サービス装置１６は、認可情報要求受付部８１、アプリ用スコープ要求部８２、認可済み情報要求部８３、比較部８４を有する。
【００４６】
認可情報要求受付部８１は、端末装置３０から認可情報要求を受け付け、端末装置３０を操作するユーザの認可情報を返す。アプリ用スコープ要求部８２はインストールされている全てのアプリのスコープをメタデータ生成サービス装置１２に要求し、スコープを取得する。認可済み情報要求部８３は、端末装置３０を操作するユーザの認可済み情報を認証サービス装置１４に要求し、そのユーザの認可済み情報を取得する。比較部８４はインストールされている全てのアプリのスコープと、そのユーザの認可済み情報とを比較した結果を認可情報として取得する。
【００４７】
《端末装置》
図８は本実施形態に係る端末装置の一例の処理ブロック図である。端末装置３０はブラウザが搭載されている。図８の端末装置３０はブラウザ上でクライアントアプリを実行することで、認可情報要求部３１、表示制御部３２を実現する。認可情報要求部３１はコンテンツ提供サービス装置１６に認可情報を要求し、取得する。表示制御部３２は取得した認可情報に基づき、後述するようなサービス連携設定画面を表示する。
【００４８】
《画像形成装置》
画像形成装置２０はブラウザが搭載されている。画像形成装置２０のユーザはブラウザを介して、サービス提供環境Ｅ１により提供されるサービスを利用できる。また、画像形成装置２０に搭載されたブラウザはサービス提供環境Ｅ１にアクセスし、サービス提供環境Ｅ１から取得したＷｅｂコンテンツを表示できる。
【００４９】
＜処理の詳細＞
次に、第１の実施形態に係る情報処理システム１の処理の詳細について説明する。
【００５０】
《認可情報の取りまとめ》
図９は認可情報の取りまとめの一例のシーケンス図である。ステップＳ１１において端末装置３０はコンテンツ提供サービス装置１６に認可情報の取得を要求する。この要求は例えば端末装置３０のブラウザから後述のサービス連携設定画面にアクセスする際に行われる。
【００５１】
認可情報の取得を要求されたコンテンツ提供サービス装置１６はインストールされている全てのアプリのスコープを取得する。図９のシーケンス図ではインストールされているアプリの数だけステップＳ１２〜ステップＳ１４の処理を繰り返すことで、インストールされている全てのアプリのスコープを取得している。
【００５２】
ステップＳ１２において、コンテンツ提供サービス装置１６はメタデータ生成サービス装置１２に対し、アプリを指定してスコープを要求する。アプリを指定したスコープ要求を受け付けたメタデータ生成サービス装置１２は、例えば図１０に示すようなアプリと処理フローとを対応付ける情報（アプリ処理フロー対応付け情報）を参照する。
【００５３】
図１０はアプリ処理フロー対応付け情報の一例の構成図である。図１０のアプリ処理フロー対応付け情報は、ｉｄ、アプリ名、処理フローｉｄ、パラメータ設定を項目として有している。図１０のアプリ処理フロー対応付け情報は、アプリを一意に識別するｉｄと処理フローを一意に識別する処理フローｉｄとにより、アプリと処理フローとを対応付けている。
【００５４】
メタデータ生成サービス装置１２は、スコープ要求に指定されていたアプリのｉｄに対応付けられている処理フローｉｄを、図１０に示すアプリ処理フロー対応付け情報から取得する。そして、メタデータ生成サービス装置１２はステップＳ１３に進み、スコープ要求に指定されていたアプリのｉｄに対応付けられている処理フローｉｄを指定して、入出力サービス装置１０にスコープを要求する。
【００５５】
メタデータ生成サービス装置１２から処理フローｉｄを指定したスコープ要求を受け付けると、入出力サービス装置１０はステップＳ１４に進み、例えば図１１の処理フローとスコープとを対応付ける情報（処理フロースコープ対応付け情報）を参照する。
【００５６】
図１１は処理フロースコープ対応付け情報の一例の構成図である。図１１の処理フロースコープ対応付け情報は、ｉｄ、処理フロー名、スコープを項目として有している。図１１の処理フロースコープ対応付け情報は、処理フローを一意に識別するｉｄとスコープとにより、処理フローとスコープとを対応付けている。
【００５７】
例えば図１１（Ａ）の例では「ｉｏ＿２０」により一意に識別される処理フローに必要なスコープが外部ストレージサービス「ＸＸＸ」のスコープ「ｄｒｉｖｅ．ｆｉｌｅ」であることを示している。
【００５８】
入出力サービス装置１０は、スコープ要求に指定されていた処理フローのｉｄに対応付けられているスコープを、例えば図１１に示す処理フロースコープ対応付け情報から取得する。そして、入出力サービス装置１０が取得したスコープはメタデータ生成サービス装置１２を介してコンテンツ提供サービス装置１６に返される。
【００５９】
また、コンテンツ提供サービス装置１６はステップＳ１５に進み、端末装置３０を操作するユーザの認可済み情報を認証サービス装置１４に要求する。認証サービス装置１４はユーザを指定した認可済み情報取得要求を受け付けると、そのユーザに対応付けられている認可済み情報を返す。
【００６０】
ステップＳ１６に進み、コンテンツ提供サービス装置１６はインストールされている全てのアプリのスコープと、ユーザの認可済み情報とを比較し、アプリに必要なスコープが認可済みであるか（連携済みであるか）否かを表す認可情報を端末装置３０に返す。
【００６１】
認可情報を返された端末装置３０は、その認可情報に基づき、例えば図１２に示すようなサービス連携設定画面を表示する。図１２はサービス連携設定画面の一例のイメージ図である。
【００６２】
図１２（Ａ）のサービス連携設定画面は、アプリに必要なスコープが認可済みである例である。したがって、図１２（Ａ）のサービス連携設定画面には連携を解除するためのボタンが設けられている。また、図１２（Ｂ）のサービス連携設定画面は、アプリに必要なスコープが認可済みでない例である。したがって、図１２（Ｂ）のサービス連携設定画面には連携するためのボタンが設けられている。
【００６３】
図１２（Ｃ）のサービス連携設定画面は、既に連携済みの外部ストレージサービスに対して必要なスコープが追加された場合の画面例である。図１２（Ｃ）のサービス連携設定画面は図１２（Ｂ）のメッセージ「連携されていません」の代わりにメッセージ「再連携が必要です」が表示されている。図１２（Ｃ）のサービス連携設定画面には連携するためのボタンと連携を解除するためのボタンとが設けられている。
【００６４】
なお、上記ではサービス連携設定画面に、再連携が必要である旨のメッセージを表示する例を示したが、例えば図１３に示すように使用するアプリを選択した際に再連携が必要である旨のメッセージを表示してもよい。図１３はアプリ選択画面から遷移する認可処理確認画面の一例のイメージ図である。例えばアプリ選択画面でユーザにより選択されたアプリの利用に追加のスコープが必要である場合、端末装置３０は図１３の認可処理確認画面のように、外部ストレージサービスとの追加の連携が必要である旨のメッセージを表示してもよい。
【００６５】
《Ｓ１６：比較処理》
コンテンツ提供サービス装置１６は、インストールされている全てのアプリのスコープとユーザの認可済み情報との比較を、例えば以下のように行う。コンテンツ提供サービス装置１６は取得したスコープを例えば図１４のようにマージする。図１４はマージしたスコープの一例の構成図である。図１４の例は、アプリに必要なスコープが外部ストレージサービス「ＸＸＸ」のスコープ「ｄｒｉｖｅ．ｆｉｌｅ」及び「ｄｒｉｖｅ．ｒｅａｄｏｎｌｙ」であることを示している。
【００６６】
図１５は認証サービス装置から返された認可済み情報の一例の構成図である。図１５の認可済み情報には、ユーザＩＤなどの基本的な情報の他、認可済みのスコープが外部ストレージサービスごとに記載されている。
【００６７】
例えば図１５では、外部ストレージサービス「ＸＸＸ」のスコープ「ｄｒｉｖｅ．ｆｉｌｅ」及び「ｄｒｉｖｅ．ｒｅａｄｏｎｌｙ」が認可済みであることを示している。コンテンツ提供サービス装置１６は図１４のマージしたスコープと、図１５の認可済み情報に含まれる認可済みのスコープとを比較することで、アプリに必要なスコープが認可済みであるか否かを判断する。
【００６８】
例えば図１４のマージしたスコープと、図１５の認可済み情報との例では図４のアプリに必要なスコープと、図１５の認可済みのスコープとが一致しているため、アプリに必要なスコープが認可済みであると判断される。したがって、端末装置３０はアプリに必要なスコープが認可済みである図１２（Ａ）のようなサービス連携設定画面を表示する。
【００６９】
一方、図１６の認可済み情報の場合は、図４のアプリに必要なスコープに対し、図１６の認可済みのスコープが足りていないため、アプリに必要なスコープが認可済みでないと判断される。したがって、端末装置３０はアプリに必要なスコープが認可済みでない図１２（Ｂ）のようなサービス連携設定画面、又は、図１２（Ｃ）のようなサービス連携設定画面を表示する。図１６は認証サービス装置から返された認可済み情報の他の例の構成図である。
【００７０】
《認可処理》
図１２のサービス連携設定画面の「連携する」ボタンが押下されるか、又は、図１３の認可処理確認画面の「ＯＫ」ボタンが押下されると、図１７の認可処理が行われる。図１７は認可処理の一例のシーケンス図である。
【００７１】
ステップＳ５１に進み、ユーザは端末装置３０を操作して図１２のようなサービス連携設定画面にアクセスする。コンテンツ提供サービス装置１６は図９に示したシーケンス図の処理を行い、認可情報に基づき、図１２のようなサービス連携設定画面を端末装置３０に表示させる。
【００７２】
サービス連携設定画面の「連携する」ボタンが押下されると、ステップＳ５２において端末装置３０は「連携する」ボタンが押下された旨をコンテンツ提供サービス装置１６に通知する。
【００７３】
ステップＳ５３に進み、コンテンツ提供サービス装置１６は認可成功時にリダイレクトする成功ＵＲＬと認可失敗時にリダイレクトする失敗ＵＲＬとを付与して、認証サービス装置１４に認可要求を行う。
【００７４】
ステップＳ５４に進み、コンテンツ提供サービス装置１６は外部ストレージシステム４０の認可ページへのリダイレクトを端末装置３０に行わせることで、ステップＳ５５において認可ページ画面９００を端末装置３０に表示させる。
【００７５】
ステップＳ５６に進み、ユーザは端末装置３０を操作して認可ページ画面９００の「認可する」ボタンを押下する。認可ページ画面９００の「認可する」ボタンが押下されると端末装置３０は「認可する」ボタンの押下を外部ストレージシステム４０に通知する。
【００７６】
外部ストレージシステム４０はステップＳ５７に進み、認証サービス装置１４へのリダイレクトを端末装置３０に行わせる。認証サービス装置１４はステップＳ５８において外部ストレージシステム４０からアクセストークンを取得し、ステップＳ５９において保存する。
【００７７】
そして、ステップＳ６０に進み、認証サービス装置１４はコンテンツ提供サービス装置１６へのリダイレクトを端末装置３０に行わせることで、ステップＳ６１において連携成功を端末装置３０に表示させる。なお、図１２（Ｃ）のサービス連携設定画面の「連携する」ボタンが押下された場合は、既に連携済みの外部ストレージサービスに対して新たなスコープを追加するため、ステップＳ５３の認可要求の前に、既存のアクセストークンを破棄し、アクセストークンを取得し直す。
【００７８】
以上、本実施形態によれば、インストール済みのアプリが必要とする外部ストレージシステム４０の全てのスコープを、とりまとめて取得できる。このため、本実施形態に係る情報処理システム１は、図１８のサービス連携設定画面９９０のように、アプリごとではなく、図１８のサービス連携設定画面１０００のように、外部ストレージシステム４０ごとに「認可する」ボタンを用意できる。
【００７９】
このため、機器連携サービスを利用するユーザは、アプリごとに認可処理を行う必要がなく、外部サービスごとに認可処理を行えばよいため、外部ストレージシステム４０などの外部サービスの認可処理に伴う負担を軽減できる。
【００８０】
例えば機器連携サービスが提供する複数のアプリをまとめたパッケージという形で販売や導入を行う場合、従来は、同じ外部サービスであってもスコープの違いごとに認可処理をユーザに課していたため、ユーザの負担となっていた。本実施形態に係る情報処理システム１によれば、ユーザはインストール済みのアプリが必要とする外部サービスごとに認可処理を行えばよいため、外部サービスの認可処理に伴う負担を軽減できる。
【００８１】
［第２の実施形態］
第２の実施形態においては、ＯＡｕｔｈ認証に対応していない外部ストレージシステム４０との連携に代理認証を利用する。代理認証は、外部ストレージシステム４０のユーザのＩＤ及びパスワードを事前にサービス提供環境Ｅ１に設定しておき、そのユーザのＩＤ及びパスワードで、サービス提供環境Ｅ１が外部ストレージシステム４０を利用するものである。
【００８２】
なお、第２の実施形態は一部を除いて第１の実施形態と同様である。したがって、第１の実施形態と同様な部分については、適宜説明を省略する。第２の実施形態のシステム構成及びハードウェア構成については、第１の実施形態と同様である。
【００８３】
＜ソフトウェア構成＞
第２の実施形態に係る情報処理システム１の入出力サービス装置１０、メタデータ生成サービス装置１２、認証サービス装置１４、コンテンツ提供サービス装置１６及び端末装置３０は例えば後述のような処理ブロックにより実現することができる。なお、後述では本実施形態の説明に不要な処理ブロックを省略している。
【００８４】
《入出力サービス装置》
図１９は第２の実施形態に係る入出力サービス装置の一例の処理ブロック図である。図１９の入出力サービス装置１０は図４の入出力サービス装置１０に、代理認証設定情報要求受付部５４、代理認証設定情報取得部５５、代理認証設定情報記憶部５６、代理認証情報検証要求転送部５７及び代理認証情報保存要求転送部５８が追加された構成である。
【００８５】
代理認証設定情報要求受付部５４は、メタデータ生成サービス装置１２からアプリを指定した代理認証設定情報要求を受け付け、そのアプリに対応付けられている外部ストレージシステム４０の代理認証設定情報を返す。代理認証設定情報取得部５５は、アプリに対応付けられている外部ストレージシステム４０の代理認証設定情報を代理認証設定情報記憶部５６から取得する。代理認証設定情報記憶部５６は、アプリと外部ストレージシステム４０の代理認証設定情報とを対応付けて記憶している。代理認証情報検証要求転送部５７は端末装置３０から受け付けた代理認証情報の検証要求を外部ストレージシステム４０に転送し、その検証結果を端末装置３０に返す。代理認証情報保存要求転送部５８は端末装置３０から受け付けた代理認証情報の保存要求を認証サービス装置１４に転送し、その保存結果を端末装置３０に返す。
【００８６】
《メタデータ生成サービス装置》
図２０は第２の実施形態に係るメタデータ生成サービス装置の一例の処理ブロック図である。図２０のメタデータ生成サービス装置１２は図５のメタデータ生成サービス装置１２に、代理認証設定情報要求転送部６４が追加された構成である。代理認証設定情報要求転送部６４はコンテンツ提供サービス装置１６からアプリを指定した代理認証設定情報要求を受け付け、その代理認証設定情報要求を入出力サービス装置１０に転送する。
【００８７】
代理認証設定情報要求転送部６４は、アプリに対応付けられている外部ストレージシステム４０の代理認証設定情報を入出力サービス装置１０から取得し、その代理認証設定情報をコンテンツ提供サービス装置１６に返す。
【００８８】
《認証サービス装置》
図２１は第２の実施形態に係る認証サービス装置の一例の処理ブロック図である。図２１の認証サービス装置１４は図６の認証サービス装置１４に、設定済み代理認証情報要求受付部７３、設定済み代理認証情報記憶部７４及び設定済み代理認証情報保存要求受付部７５が追加された構成である。
【００８９】
設定済み代理認証情報要求受付部７３は、コンテンツ提供サービス装置１６からユーザを指定した設定済み代理認証情報取得要求を受け付け、そのユーザに対応付けられている外部ストレージシステム４０の設定済み代理認証情報を返す。設定済み代理認証情報記憶部７４は、ユーザと、外部ストレージシステム４０の設定済み代理認証情報とを対応付けて記憶している。設定済み代理認証情報保存要求受付部７５は入出力サービス装置１０からユーザの外部ストレージシステム４０の代理認証情報の保存要求を受け付け、設定済み代理認証情報記憶部７４への保存結果を、入出力サービス装置１０に返す。
【００９０】
《コンテンツ提供サービス装置》
図２２は第２の実施形態に係るコンテンツ提供サービス装置の一例の処理ブロック図である。図２２のコンテンツ提供サービス装置１６は図７のコンテンツ提供サービス装置１６に、代理認証設定情報要求受付部８５、代理認証設定情報要求部８６、設定済み代理認証情報要求部８７及び代理認証情報比較部８８が追加された構成である。
【００９１】
代理認証設定情報要求受付部８５は、ユーザが操作する端末装置３０から代理認証設定情報要求を受け付け、端末装置３０を操作するユーザの代理認証設定情報を返す。代理認証設定情報要求部８６はインストールされている全てのアプリのうち、代理認証の必要なアプリが利用する外部ストレージシステム４０の代理認証設定情報をメタデータ生成サービス装置１２に要求し、代理認証設定情報を取得する。
【００９２】
また、設定済み代理認証情報要求部８７は、端末装置３０を操作するユーザの外部ストレージシステム４０の設定済み代理認証情報を認証サービス装置１４に要求し、ユーザの設定済み代理認証情報を取得する。代理認証情報比較部８８は、代理認証が必要な外部ストレージシステム４０の代理認証設定情報と、そのユーザの外部ストレージシステム４０の設定済み代理認証情報とを比較した結果を代理認証設定情報として取得する。
【００９３】
《端末装置》
図２３は第２の実施形態に係る端末装置の一例の処理ブロック図である。端末装置３０はブラウザが搭載されている。図２３の端末装置３０は、ブラウザ上でクライアントアプリを実行することで、認可情報要求部３１、表示制御部３２、代理認証設定情報要求部３３、代理認証情報検証要求部３４及び代理認証情報保存要求部３５を実現する。図２３の端末装置３０は図８の端末装置３０に、代理認証設定情報要求部３３、代理認証情報検証要求部３４及び代理認証情報保存要求部３５が追加された構成である。
【００９４】
代理認証設定情報要求部３３は、コンテンツ提供サービス装置１６にインストールされている全てのアプリのうち、代理認証の必要なアプリが利用する外部ストレージシステム４０の代理認証設定情報を要求し、取得する。代理認証情報検証要求部３４はユーザの外部ストレージシステム４０の代理認証情報の検証を入出力サービス装置１０に要求し、検証結果を取得する。代理認証情報保存要求部３５は入出力サービス装置１０にユーザの外部ストレージシステム４０の代理認証情報の保存を要求し、保存結果を取得する。
【００９５】
＜処理の詳細＞
次に、第２の実施形態に係る情報処理システム１の処理の詳細について説明する。
【００９６】
《代理認証情報の取りまとめ》
図２４は代理認証情報の取りまとめの一例のシーケンス図である。ステップＳ１０１において端末装置３０はコンテンツ提供サービス装置１６に、インストールされている全てのアプリのうち、代理認証の必要なアプリが利用する外部ストレージシステム４０の代理認証設定情報の取得を要求する。この要求は、例えば端末装置３０のブラウザから後述のサービス連携設定画面にアクセスする際に行われる。
【００９７】
ステップＳ１０１で代理認証設定情報の取得を要求されたコンテンツ提供サービス装置１６はインストールされている全てのアプリのうち、代理認証の必要なアプリが利用する外部ストレージシステム４０の代理認証設定情報を取得する。図２４のシーケンス図ではインストールされているアプリの数だけステップＳ１０２〜ステップＳ１０３の処理を繰り返すことで、代理認証が必要な外部ストレージシステム４０の代理認証設定情報を取得している。
【００９８】
ステップＳ１０２において、コンテンツ提供サービス装置１６はメタデータ生成サービス装置１２に対し、アプリを指定して外部ストレージシステム４０の代理認証設定情報を要求する。アプリを指定した外部ストレージシステム４０の代理認証設定情報要求を受け付けたメタデータ生成サービス装置１２は、ステップＳ１０３に進み、そのアプリを指定した外部ストレージシステム４０の代理認証設定情報要求を入出力サービス装置１０に転送する。
【００９９】
メタデータ生成サービス装置１２からアプリを指定した外部ストレージシステム４０の代理認証設定情報要求を受け付けると、入出力サービス装置１０は指定されていたアプリに対応付けられている外部ストレージシステム４０の代理認証設定情報を代理認証設定情報記憶部５６から取得する。そして、入出力サービス装置１０が取得した外部ストレージシステム４０の代理認証設定情報はメタデータ生成サービス装置１２を介してコンテンツ提供サービス装置１６に返される。
【０１００】
また、コンテンツ提供サービス装置１６はステップＳ１０４に進み、端末装置３０を操作するユーザの外部ストレージシステム４０の設定済み代理認証情報を認証サービス装置１４に要求する。認証サービス装置１４はユーザを指定した外部ストレージシステム４０の設定済み代理認証情報取得要求を受け付けると、そのユーザに対応付けられている外部ストレージシステム４０の設定済み代理認証情報を返す。
【０１０１】
ステップＳ１０５に進み、コンテンツ提供サービス装置１６は代理認証が必要な外部ストレージシステム４０の代理認証設定情報と、ユーザの外部ストレージシステム４０の設定済み代理認証情報とを比較する。コンテンツ提供サービス装置１６は比較結果からアプリの利用に必要な外部ストレージシステム４０の代理認証情報が設定済みであるか（連携済みであるか）否か、及び、設定済みである場合のアカウント名、を表す代理認証設定情報を端末装置３０に返す。
【０１０２】
端末装置３０に返される代理認証設定情報は、例えば図２５に示すようなＪＳＯＮ形式で表される。図２５は代理認証設定情報の一例の構成図である。図２５の代理認証設定情報は、外部ストレージシステム４０のサービスの名称やパラメータ名、パラメータの表示名が格納されている。
【０１０３】
代理認証設定情報を返された端末装置３０は、その代理認証設定情報に基づき、例えば図２６に示すようなサービス連携設定画面を表示する。図２６はサービス連携設定画面の一例のイメージ図である。
【０１０４】
図２６（Ａ）のサービス連携設定画面はＯＡｕｔｈ認証に対応している外部ストレージシステム４０及びＯＡｕｔｈ認証に対応していない外部ストレージシステム４０の両方をまとめて表示する例である。したがって、図２６（Ａ）のサービス連携設定画面にはＯＡｕｔｈ認証に対応している外部ストレージシステム４０及びＯＡｕｔｈ認証に対応していない外部ストレージシステム４０と連携するためのボタンと連携を解除するためのボタンが設けられている。
【０１０５】
例えば図２６（Ａ）のサービス連携設定画面でＯＡｕｔｈ認証に対応している外部ストレージシステム４０と連携するためのボタンが押下されれば、第１の実施形態で説明した仕組みでＯＡｕｔｈ認証の認可処理を行う。また、図２６（Ａ）のサービス連携設定画面でＯＡｕｔｈ認証に対応していない外部ストレージシステム４０と連携するためのボタンが押下されれば、第２の実施形態に係る情報処理システム１では図２６（Ｂ）の代理認証設定画面を表示する。図２６（Ｂ）の代理認証設定画面は、代理認証で連携するための画面例である。
【０１０６】
ユーザが例えば図２６（Ｂ）の代理認証設定画面に「Ｕｓｅｒ  ＩＤ」及び「Ｐａｓｓｗｏｒｄ」を入力して「連携する」ボタンを押下すると、第２の実施形態に係る情報処理システム１では図２７のシーケンス図に示すような処理を行う。代理認証設定画面に入力される「Ｕｓｅｒ  ＩＤ」及び「Ｐａｓｓｗｏｒｄ」は代理認証情報の一例である。
【０１０７】
ステップＳ１５１に進み、端末装置３０は図２６（Ｂ）の代理認証設定画面に設定された代理認証情報の検証を入出力サービス装置１０に要求する。入出力サービス装置１０はステップＳ１５２に進み、外部ストレージシステム４０に代理認証情報の検証を要求して検証結果を取得する。代理認証情報が正しければ、ステップＳ１５３に進み、端末装置３０は図２６（Ｂ）の代理認証設定画面に設定された外部ストレージシステム４０の代理認証情報の保存を入出力サービス装置１０に要求する。入出力サービス装置１０はステップＳ１５４に進み、認証サービス装置１４に外部ストレージシステム４０の代理認証情報の保存を要求して保存結果を取得する。
【０１０８】
以上、第２の実施形態によれば、図２６（Ａ）のサービス連携設定画面のように、ＯＡｕｔｈ認証に対応していない外部ストレージシステム４０であっても、外部ストレージシステム４０ごとに「認可する」ボタンを用意できる。
【０１０９】
このため、機器連携サービスを利用するユーザは、アプリごとに代理認証を行う必要がなく、外部サービスごとに代理認証処理を行えばよいため、外部ストレージシステム４０などの外部サービスの代理認証処理に伴う負担を軽減できる。ＯＡｕｔｈ認証に対応しているか否かに関わらず、同一のサービス連携設定画面から外部ストレージシステム４０との連携を行えるため、ユーザにとって分かり易い。
【０１１０】
［第３の実施形態］
第３の実施形態においては、画像形成装置２０において使用するアプリを選択した際にサービス連携設定が必要であれば、サービス連携設定を促すメッセージを表示するものである。なお、第３の実施形態は一部を除いて第１の実施形態と同様である。そこで、第１の実施形態と同様な部分については適宜説明を省略する。第３の実施形態のシステム構成及びハードウェア構成、ソフトウェア構成については、第１の実施形態と同様である。
【０１１１】
＜処理の詳細＞
次に、第３の実施形態に係る情報処理システム１の処理の詳細について説明する。
【０１１２】
《認可情報の取りまとめ》
図２８は認可情報の取りまとめの一例のシーケンス図である。ステップＳ２１１において端末装置３０はコンテンツ提供サービス装置１６に認可情報の取得を要求する。この要求は例えば端末装置３０のブラウザから後述のサービス連携設定画面にアクセスする際やアプリを追加した際に行われる。
【０１１３】
認可情報の取得を要求されたコンテンツ提供サービス装置１６はインストールされているアプリの数だけステップＳ２１２〜ステップＳ２１４の処理を繰り返す。ステップＳ２１２において、コンテンツ提供サービス装置１６はメタデータ生成サービス装置１２に対し、アプリを指定してスコープを要求する。
【０１１４】
アプリを指定したスコープ要求を受け付けたメタデータ生成サービス装置１２は、例えば図１０に示したようなアプリと処理フローとを対応付ける情報（アプリ処理フロー対応付け情報）を参照する。メタデータ生成サービス装置１２は、スコープ要求に指定されていたアプリのｉｄに対応付けられている処理フローｉｄを、図１０のアプリ処理フロー対応付け情報から取得する。そして、メタデータ生成サービス装置１２はステップＳ２１３に進み、スコープ要求に指定されていたアプリのｉｄに対応付けられている処理フローｉｄを指定して、入出力サービス装置１０にスコープを要求する。
【０１１５】
メタデータ生成サービス装置１２から処理フローｉｄを指定したスコープ要求を受け付けると、入出力サービス装置１０はステップＳ２１４に進み、例えば図１１の処理フローとスコープとを対応付ける情報（処理フロースコープ対応付け情報）を参照する。
【０１１６】
入出力サービス装置１０は、スコープ要求に指定されていた処理フローのｉｄに対応付けられているスコープを、例えば図１１に示す処理フロースコープ対応付け情報から取得する。そして、入出力サービス装置１０が取得したスコープはメタデータ生成サービス装置１２を介してコンテンツ提供サービス装置１６に返される。
【０１１７】
また、コンテンツ提供サービス装置１６はステップＳ２１５に進み、端末装置３０を操作するユーザの認可済み情報を認証サービス装置１４に要求する。認証サービス装置１４はユーザを指定した認可済み情報取得要求を受け付けると、そのユーザに対応付けられている認可済み情報を返す。
【０１１８】
ステップＳ２１６に進み、コンテンツ提供サービス装置１６はインストールされている全てのアプリのスコープと、ユーザの認可済み情報とを比較し、アプリに必要なスコープが認可済みであるか（連携済みであるか）否かを表す認可情報を作成する。ステップＳ２１７において、コンテンツ提供サービス装置１６は作成した認可情報を、端末装置３０に返す。
【０１１９】
《Ｓ２１６：認可情報作成処理》
コンテンツ提供サービス装置１６は、インストールされている全てのアプリのスコープとユーザの認可済み情報とに基づき、例えば以下のように認可情報の作成を行う。コンテンツ提供サービス装置１６は取得したスコープを例えば図２９のようにマージする。
【０１２０】
図２９は、マージしたスコープの一例の構成図である。図２９の例では、アプリが外部ストレージサービス「ＸＸＸ」のスコープ「ｄｒｉｖｅ．ｆｉｌｅ」及び外部ストレージサービス「ＹＹＹ」のスコープ「ＡｌｌＳｉｔｅｓ．Ｗｒｉｔｅ」を必要としていることを示している。
【０１２１】
図３０は認証サービス装置から返された認可済み情報の一例の構成図である。図３０の認可済み情報には、ユーザＩＤなどの基本的な情報の他、認可済みのスコープが外部ストレージサービスごとに記載されている。
【０１２２】
例えば図３０では外部ストレージサービス「ＸＸＸ」のスコープ「ｄｒｉｖｅ」と「ｄｒｉｖｅ．ａｐｐｆｏｌｄｅｒ」と「ｄｒｉｖｅ．ｆｉｌｅ」とが認可済みであることを示している。また、図３０では外部ストレージサービス「ＹＹＹ」のスコープ「ＡｌｌＳｉｔｅｓ．Ｗｒｉｔｅ」が認可済みであることを示している。
【０１２３】
図３０の「ｔｅｎａｎｔ＿ｉｄ」及び「ｕｓｅｒ＿ｉｄ」は、テナント及びユーザにそれぞれ割り当てられる値である。図３０の「ｎａｍｅ」及び「ｍａｉｌ」は、ユーザ登録する際に指定したユーザの名前とメールアドレスである。図３０の「ｏａｕｔｈ」は外部ストレージサービスごとの認可情報である。
【０１２４】
図３０の「ｏａｕｔｈ＿ｉｄ」は、自動で割り当てられるテナント内でユニークな値である。図３０の「ｓｅｒｖｉｃｅ」は、外部ストレージサービスの識別子である。図３０の「ｓｃｏｐｅ」はサービスごとに定義されたサービスを利用するための権限である。図３０の「ｄｅｌｅｇａｔｏｒ」は認可情報使用を指定するためのパラメータである。図３０の「ｄｅｌｅｇａｔｏｒ」にサービスの識別子を入れておくことで、そのサービスでしか認可情報を使用できなくなる。
【０１２５】
コンテンツ提供サービス装置１６は図２９のマージしたスコープと、図３０の認可済み情報に含まれる認可済みのスコープとに基づき、図３１のような認可情報を作成し、端末装置３０に返す。図３１はコンテンツ提供サービス装置から返された認可情報の一例の構成図である。
【０１２６】
図３１の認可情報は、外部ストレージサービスごとに必要なスコープやユーザ情報に紐付いているスコープ、再認可が必要か否かの情報を含んでいる。図３１の「ｒｅｑｕｉｒｅｄＳｃｏｐｅ」が必要なスコープを示す。図３１の「ａｕｔｈｏｒｉｚｅｄ」が認可済みであるか（連携済みであるか）否かを表す。図３１の「ｓｃｏｐｅｓ」がユーザ情報に紐付いている（連携済みの）スコープを表す。図３１の「ｒｅｑｕｉｒｅｄＡｕｔｈｏｒｉｚｅ」が、再認可が必要であるか（連携更新が必要であるか）を表す。
【０１２７】
《認可情報確認処理》
画像形成装置２０のブラウザ上で動作するアプリから認可情報の確認がされると、図３２に示す認可情報確認処理が行われる。図３２は認可情報確認処理の一例のシーケンス図である。ステップＳ２５１において、画像形成装置２０のブラウザはアプリの起動をコンテンツ提供サービス装置１６に通知する。
【０１２８】
ステップＳ２５２に進み、画像形成装置２０のブラウザ上で起動されたアプリは使用する外部ストレージサービスの識別子を付与し、コンテンツ提供サービス装置１６に認可情報の取得を要求する。認可情報の取得を要求されたコンテンツ提供サービス装置１６は図２８のステップＳ２１２〜ステップＳ２１５と同様な手順により、スコープと認可済み情報とを取得する。
【０１２９】
ステップＳ２５７に進み、コンテンツ提供サービス装置１６はステップＳ２５２で付与されていた識別子の外部ストレージサービスに関連する部分を抜き出し、認可情報を作成して画像形成装置２０のブラウザ上のアプリに返す。ステップＳ２５８において、認可情報を受け取ったアプリは、認可情報を更新する必要があるか否かを確認し、更新の必要があれば、後述の認可情報更新通知画面を表示する。
【０１３０】
図３３は画像形成装置のブラウザ上のアプリに返された外部ストレージサービス指定時の認可情報の一例の構成図である。画像形成装置２０のブラウザ上のアプリは認可情報を更新する必要があるか否かを例えば図３３の認可情報の「ｒｅｑｕｉｒｅｄＡｕｔｈｏｒｉｚｅ」の値で判定できる。図３３の認可情報は、必要なスコープが増え、認可情報を更新する必要がある例である。なお、認可情報は、必要なスコープが減った場合でも更新するようにしてもよい。
【０１３１】
図３４は、アプリが持つ情報と認可情報更新通知画面の一例のイメージ図である。図３４（Ａ）はアプリが持つ情報を示す。図３４（Ｂ）及び図３４（Ｃ）は認可情報の更新が必要と判定したときに表示される認可情報更新通知画面を示している。
【０１３２】
図３４（Ａ）は、アプリを作成したときに割り当てる名前及びＩＤを示す「ａｐｐＩｎｓｔａｎｃｅＮａｍｅ」及び「ａｐｐＩｎｓｔａｎｃｅＩｄ」と、アプリの種別を示している「ａｕｔｈＭｏｄｅ」と、を含む。アプリの種別を示す「ａｕｔｈＭｏｄｅ」が「ｔｅｎａｎｔ」の場合は共有として動作する。また、アプリの種別を示す「ａｕｔｈＭｏｄｅ」が「ｕｓｅｒ」の場合は個人として動作する。
【０１３３】
認可情報の更新が必要と判定した場合、アプリは「ａｕｔｈＭｏｄｅ」の値から判定したアプリの種別によって図３４（Ｂ）または図３４（Ｃ）に示すような認可情報更新通知画面を出し分ける。管理者がアプリの設定を行う「共有」のアプリであれば、アプリは図３４（Ｂ）のような認可情報更新通知画面を表示し、管理者にスコープの更新作業を行わせる。個人がアプリの設定を行う「個人」のアプリであれば、アプリは図３４（Ｃ）のような認可情報更新通知画面を表示し、ユーザ個人にスコープの更新作業を行わせる。
【０１３４】
《認可情報更新処理》
図３５は認可情報更新処理の一例のシーケンス図である。図３５の認可情報更新処理は図３２の処理に続いて行われる。したがって、コンテンツ提供サービス装置１６は図２９のスコープや図３０の認可済み情報を取得済みである。
【０１３５】
ステップＳ３０１において、端末装置３０は更新したい認可情報と必要なスコープを付与してコンテンツ提供サービス装置１６に認可情報更新を要求する。ステップＳ３０２に進み、コンテンツ提供サービス装置１６は指定された外部ストレージサービスのスコープ更新を認証サービス装置１４に要求する。
【０１３６】
指定された外部ストレージサービスのスコープ更新が完了すると、ステップＳ３０３においてコンテンツ提供サービス装置１６は更新したスコープで認可するための認可画面ＵＲＬ取得要求（認可情報更新要求）を認証サービス装置１４に送信する。ステップＳ３０４においてコンテンツ提供サービス装置１６は認可画面ＵＲＬを受信し、認可画面を端末装置３０のブラウザに表示させる。ステップＳ３０６において端末装置３０を操作する管理者またはユーザ個人は、ステップＳ３０５でブラウザに表示された認可画面で外部ストレージサービスの認可を行う。
【０１３７】
第３の実施形態によれば、インストール済みのアプリが必要とする外部ストレージシステム４０のスコープが足りなければ、画像形成装置２０に認可情報更新通知画面を表示して認可情報の更新を促すことができる。
【０１３８】
［他の実施形態］
第１及び第２の実施形態では、機器連携サービスを利用するユーザが端末装置３０からサービス連携設定を行う例について説明したが、これに限らない。例えば機器連携サービスを利用するユーザが画像形成装置２０からサービス連携設定を行うようにしてもよい。例えば画像形成装置２０はユーザから機器連携サービスが提供するアプリケーションの利用を要求されたあと、図９に示したような認可情報の取りまとめの処理又は図２４に示したような代理認証情報の取りまとめの処理を行い、必要に応じて認可処理又は代理認証処理を行わせるようにしてもよい。
【０１３９】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。画像形成装置２０はユーザ環境の電子機器の一例である。アプリ処理フロー対応付け情報記憶部６３は第１対応付け手段の一例である。処理フロースコープ対応付け情報記憶部５３は第２対応付け手段の一例である。スコープは外部サービスの利用範囲の一例である。スコープ取得部５２は利用範囲取得手段の一例である。認可済み情報要求部８３は、認可済み情報取得手段の一例である。認可情報要求受付部８１は提供手段の一例である。サービス提供環境Ｅ１の入出力サービス装置１０、メタデータ生成サービス装置１２、認証サービス装置１４及びコンテンツ提供サービス装置１６は、特許請求の範囲に記載した情報処理装置及び情報処理システムの一例である。
【符号の説明】
【０１４０】
１    情報処理システム
１０    入出力サービス装置
１２    メタデータ生成サービス装置
１４    認証サービス装置
１６    コンテンツ提供サービス装置
２０    画像形成装置
３０    端末装置
３１    認可情報要求部
３２    表示制御部
３３    代理認証設定情報要求部
３４    代理認証情報検証要求部
３５    代理認証情報保存要求部
４０    外部ストレージシステム
５１    処理フロー用スコープ要求受付部
５２    スコープ取得部
５３    処理フロースコープ対応付け情報記憶部
５４    代理認証設定情報要求受付部
５５    代理認証設定情報取得部
５６    代理認証設定情報記憶部
５７    代理認証情報検証要求転送部
５８    代理認証情報保存要求転送部
６１    アプリ用スコープ要求受付部
６２    処理フロー用スコープ要求部
６３    アプリ処理フロー対応付け情報記憶部
６４    代理認証設定情報要求転送部
７１    認可済み情報要求受付部
７２    認可済み情報記憶部
７３    設定済み代理認証情報要求受付部
７４    設定済み代理認証情報記憶部
７５    設定済み代理認証情報保存要求受付部
８１    認可情報要求受付部
８２    アプリ用スコープ要求部
８３    認可済み情報要求部
８４    比較部
８５    代理認証設定情報要求受付部
８６    代理認証設定情報要求部
８７    設定済み代理認証情報要求部
８８    代理認証情報比較部
５００    コンピュータ
５０１    入力装置
５０２    表示装置
５０３    外部Ｉ／Ｆ
５０３ａ    記録媒体
５０４    ＲＡＭ
５０５    ＲＯＭ
５０６    ＣＰＵ
５０７    通信Ｉ／Ｆ
５０８    ＨＤＤ
６００    複合機
６０１    コントローラ
６０２    操作パネル
６０３    外部Ｉ／Ｆ
６０３ａ    記録媒体
６０４    通信Ｉ／Ｆ
６０５    プリンタ
６０６    スキャナ
６１１    ＣＰＵ
６１２    ＲＡＭ
６１３    ＲＯＭ
６１４    ＮＶＲＡＭ
６１５    ＨＤＤ
Ｂ    バス
Ｅ１    サービス提供環境
Ｅ２    ユーザ環境
Ｎ１−Ｎ３    ネットワーク
【先行技術文献】
【特許文献】
【０１４１】
【特許文献１】特開２０１４−９２８２３号公報
【図１】
2018136909.tif 000003
【図２】
2018136909.tif 000004
【図３】
2018136909.tif 000005
【図４】
2018136909.tif 000006
【図５】
2018136909.tif 000007
【図６】
2018136909.tif 000008
【図７】
2018136909.tif 000009
【図８】
2018136909.tif 000010
【図９】
2018136909.tif 000011
【図１０】
2018136909.tif 000012
【図１１】
2018136909.tif 000013
【図１２】
2018136909.tif 000014
【図１３】
2018136909.tif 000015
【図１４】
2018136909.tif 000016
【図１５】
2018136909.tif 000017
【図１６】
2018136909.tif 000018
【図１７】
2018136909.tif 000019
【図１８】
2018136909.tif 000020
【図１９】
2018136909.tif 000021
【図２０】
2018136909.tif 000022
【図２１】
2018136909.tif 000023
【図２２】
2018136909.tif 000024
【図２３】
2018136909.tif 000025
【図２４】
2018136909.tif 000026
【図２５】
2018136909.tif 000027
【図２６】
2018136909.tif 000028
【図２７】
2018136909.tif 000029
【図２８】
2018136909.tif 000030
【図２９】
2018136909.tif 000031
【図３０】
2018136909.tif 000032
【図３１】
2018136909.tif 000033
【図３２】
2018136909.tif 000034
【図３３】
2018136909.tif 000035
【図３４】
2018136909.tif 000036
【図３５】
2018136909.tif 000037