(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024172983
(43)【公開日】2024-12-12
(54)【発明の名称】情報処理装置、画像形成装置及び処理方法
(51)【国際特許分類】
G06F 21/33 20130101AFI20241205BHJP
G06F 21/62 20130101ALI20241205BHJP
【FI】
G06F21/33
G06F21/62 318
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023091079
(22)【出願日】2023-06-01
(71)【出願人】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100112335
【弁理士】
【氏名又は名称】藤本 英介
(74)【代理人】
【識別番号】100101144
【弁理士】
【氏名又は名称】神田 正義
(74)【代理人】
【識別番号】100101694
【弁理士】
【氏名又は名称】宮尾 明茂
(74)【代理人】
【識別番号】100124774
【弁理士】
【氏名又は名称】馬場 信幸
(72)【発明者】
【氏名】高橋 祐斗
(57)【要約】
【課題】アプリケーションを利用することで、アクセストークンを取得することが可能な情報処理装置等を提供すること。
【解決手段】外部サービスと、前記外部サービスにアクセスするときに利用するアクセストークンを発行するサーバと通信可能な通信部と、制御部と、アプリケーションを記憶する記憶部と、を備え、前記制御部は、
前記アプリケーションを実行することにより、前記サーバの情報を取得し、前記サーバの情報から特定される当該サーバから認可コードを取得し、前記認可コードを利用してアプリケーションを実行することにより、前記サーバからアクセストークンを取得する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
外部サービスと、前記外部サービスにアクセスするときに利用するアクセストークンを発行するサーバと通信可能な通信部と、
制御部と、
アプリケーションを記憶する記憶部と、
を備え、
前記制御部は、
前記アプリケーションを実行することにより、前記サーバの情報を取得し、
前記サーバの情報から特定される当該サーバから認可コードを取得し、
前記認可コードを利用してアプリケーションを実行することにより、前記サーバからアクセストークンを取得する
情報処理装置。
【請求項2】
前記制御部は、
前記取得したサーバの情報に基づいて、認証処理を実行し、
前記認証処理が成功したときは、前記サーバに対して使用を許可する機能を定義する認可情報を送信し、
前記認可情報に対応して、前記認可コードを取得する
請求項1に記載の情報処理装置。
【請求項3】
前記サーバは複数のサーバを含み、
前記アプリケーションは、前記サーバ毎に前記記憶部に記憶されている
請求項1に記載の情報処理装置。
【請求項4】
前記制御部は、
前記複数のサーバのうち、一のサーバをユーザに選択させる
請求項3に記載の情報処理装置。
【請求項5】
前記制御部は、
前記複数のサーバをリスト形式で表示し、
前記ユーザにより、前記リスト形式で表示されたなかから、一のサーバを選択させる
請求項4に記載の情報処理装置。
【請求項6】
前記制御部は、
前記アプリケーションを実行することにより、前記サーバの情報を取得するとき、設定項目を記憶し、
前記サーバから前記認可コードとともに、リダイレクト先を示す情報を取得し、
前記リダイレクト先の情報に基づいて、前記アプリケーションから前記設定項目を読み出し、当該設定項目へリダイレクトする
請求項1に記載の情報処理装置。
【請求項7】
前記制御部は、
前記サーバからリフレッシュトークンを取得し、
前記リフレッシュトークンを利用して前記アプリケーションを実行することで、前記サーバからアクセストークンを取得する
請求項1に記載の情報処理装置。
【請求項8】
外部サービスと、前記外部サービスにアクセスするときに利用するアクセストークンを発行するサーバと通信可能な通信部と、
予め記憶された第1のアプリケーションを実行可能な第1実行部と、
追加でインストール可能な第2のアプリケーションを実行可能な第2実行部と、
を備え、
前記第1実行部は、認可コードを前記サーバから取得し、
前記第2実行部は、前記認可コードを利用して、前記サーバからアクセストークンを取得する
画像形成装置。
【請求項9】
外部サービスと、前記外部サービスにアクセスするときに利用するアクセストークンを発行するサーバと通信可能な情報処理装置における処理方法であって、
アプリケーションを実行することにより、前記サーバの情報を取得するステップと、
前記サーバの情報から特定される当該サーバから認可コードを取得するステップと、
前記認可コードを利用してアプリケーションを実行することにより、前記サーバからアクセストークンを取得するステップと、
を含む処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置等に関する。
【背景技術】
【0002】
例えば、特許文献1に示すように、権限情報の取得要求を要求元であるアプリケーションから受け付けた場合に、ユーザから移譲された権限をアプリケーションに対して更に移譲する要求を、第1の権限情報とともに認可サーバーシステムへ送信し、第1の権限情報に基づき発行された第2の権限情報を認可サーバーシステムから取得する発明が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、例えば、アプリケーションを利用することで、アクセストークンを取得することが可能な情報処理装置等を提供することを目的の一つとする。
【課題を解決するための手段】
【0005】
本開示の情報処理装置は、外部サービスと、前記外部サービスにアクセスするときに利用するアクセストークンを発行するサーバと通信可能な通信部と、制御部と、アプリケーションを記憶する記憶部と、を備え、前記制御部は、
前記アプリケーションを実行することにより、前記サーバの情報を取得し、前記サーバの情報から特定される当該サーバから認可コードを取得し、前記認可コードを利用してアプリケーションを実行することにより、前記サーバからアクセストークンを取得する。
【0006】
本開示の画像形成装置は、外部サービスと、前記外部サービスにアクセスするときに利用するアクセストークンを発行するサーバと通信可能な通信部と、予め記憶された第1のアプリケーションを実行可能な第1実行部と、追加でインストール可能な第2のアプリケーションを実行可能な第2実行部と、を備え、前記第1実行部は、認可コードを前記サーバから取得し、前記第2実行部は、前記認可コードを利用して、前記サーバからアクセストークンを取得する。
【0007】
本開示の処理方法は、外部サービスと、前記外部サービスにアクセスするときに利用するアクセストークンを発行するサーバと通信可能な情報処理装置における処理方法であって、アプリケーションを実行することにより、前記サーバの情報を取得するステップと、前記サーバの情報から特定される当該サーバから認可コードを取得するステップと、前記認可コードを利用してアプリケーションを実行することにより、前記サーバからアクセストークンを取得するステップと、を含む。
【発明の効果】
【0008】
本開示によれば、例えば、アプリケーションを利用することで、アクセストークンを取得することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】第1実施形態におけるシステムの概要を説明するための図である。
【
図2】第1実施形態における画像形成装置のハードウェアの構成を説明する図である。
【
図3】第1実施形態における認可サーバのハードウェアの構成を説明する図である。
【
図4】第1実施形態におけるソフトウェアの構成を説明する図である。
【
図5】第1実施形態における設定情報の一例を示す図である。
【
図6】第1実施形態の処理を説明するためのシーケンス図である。
【
図7】第1実施形態の処理を説明するためのシーケンス図である。
【
図8】第1実施形態の処理を説明するためのシーケンス図である。
【
図9】第1実施形態の動作例(画面例)を説明するための図である。
【
図10】第1実施形態の動作例(画面例)を説明するための図である。
【
図11】第2実施形態の処理を説明するためのシーケンス図である。
【
図12】第2実施形態の動作例(画面例)を説明するための図である。
【
図13】第3実施形態の処理を説明するためのシーケンス図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明を実施するための形態について説明する。なお、以下に示す実施形態は、本発明を提供した一つの実施形態であり、以下の記載に基づいて本願発明の内容が限定して解釈されるものではない。
【0011】
情報処理装置の一つである画像形成装置には、クラウド上のサーバ(例えば、リソースサーバ)と接続してデータの送受信を行う機能を有するものがある。また、セキュリティの向上のため、画像形成装置が利用するメールサービス等において、IDやパスワードを用いた認証ではなく、OAuth2.0による認可によって取得したアクセストークンを用いた認証が必須となってきている。このようなセキュリティに対応するため、画像形成装置においてもOAuth2.0のアクセストークン取得フローを実装する必要があった。
【0012】
画像形成装置において、OAuth2.0のアクセストークン取得フローを実装する場合、一般的には、画像形成装置の本体機能(例えば、ファームウェアで実行されるシステム設定)で、サービスプロバイダ毎にアクセストークン取得フローを実装する必要があった。
【0013】
しかし、OAuth2.0による認可フローでは、サービスプロバイダの用意した認証ページにアクセスする必要があることなどの要因から、サービスプロバイダ側の変更が実装に大きく影響を与えてしまう。サービスプロバイダ側の変更への対応を、上述したような画像形成装置の本体機能(例えば、ファームウェア)で行うと、影響範囲が大きくなりコストが増大してしまう。
【0014】
また、画像形成装置において、予め対応しているサービスプロバイダ以外の対応や、それ以外の認可フローへの対応などを行う場合にも、サービスプロバイダが提供するインタフェースには、それぞれ軽微な差があり、その都度画像形成装置の本体機能で対応を行うとコストが増大してしまった。
【0015】
このような課題を解決するために、以下実施形態では、認証や認可を行うことが可能なサーバと通信可能な情報処理装置の一つとして画像形成装置について、説明する。
【0016】
[1.第1実施形態]
[1.1 システム全体]
図1は、システム1の概要を説明する図である。システム1は、外部サービスと通信可能な情報処理装置の一例として画像形成装置10を含むシステム1の概略を示す図である。
【0017】
システム1は、画像形成装置10と、認証及び認可を行うことが可能な認可サーバ20と、外部サービスによりリソースを提供可能なリソースサーバ30とが、ネットワークNWを介して通信可能となっている。
【0018】
画像形成装置10は、例えば、複合機や、MFP(Multifunction Peripheral/Printer/Product)と呼ばれる装置である。例えば、画像形成装置10は、ジョブ(印刷ジョブ)を実行すると、記録媒体である紙に画像を形成することができる。画像形成装置10は、コピー機能、FAX機能、スキャン機能、プリンタ機能といった複数の機能を実行することができる。例えば、画像形成装置10は、リソースサーバ30が提供するメールサービスを利用して、メールを送受信することが可能である。また、画像形成装置10は、リソースサーバ30がコンテンツを管理するサービスを提供しているときには、にスキャンした画像を送信したり、リソースサーバ30に記憶されているコンテンツを取得したりすることが可能である。
【0019】
ここで、ネットワークNWは、一般的なネットワークであり、例えば、インターネット等により構成されている。なお、ネットワークNWは、単一のネットワークである必要はなく、例えば、LAN(Local Area Network)等を組み合わせて構成してもよい。
【0020】
[1.2 ハードウェア構成]
各装置のハードウェア構成について、以下、図を参照して説明する。
図2は画像形成装置10、
図3は認可サーバ20のハードウェア構成の一例を示した図である。
【0021】
[1.2.1 画像形成装置]
図2に示すように、画像形成装置10は制御部100と、記憶装置(記憶部)としてストレージ110、ROM120及びRAM130と、表示部140と、操作部150と、画像形成部160と、画像読取部165と、通信部170とを有している。
【0022】
制御部100は、画像形成装置10の全体を制御する。制御部100は、記憶装置(例えば、ストレージ110や、ROM120)に記憶されている各種プログラムを読み出して実行することにより各種機能を実現する。制御部100は、1又は複数の制御装置/演算装置(CPU(Central Processing Unit)、SoC(System on a Chip))により実現されてもよい。また、制御部100は、制御回路で構成されてもよい。
【0023】
ストレージ110は、プログラムや、データを記憶可能な不揮発性の記憶装置である。例えば、HDD(Hard Disk Drive)や、SSD(Solid State Drive)といった記憶装置で構成されてもよい。また、ストレージ110は、外部に接続可能なUSBメモリといった構成でもよい。また、ストレージ110は、例えばクラウド上にある記憶領域であってもよい。
【0024】
ROM120は、電源を切ってもプログラムやデータを保持することが可能な不揮発性のメモリである。
【0025】
RAM130は、主に制御部100が処理を実行時に利用するメインメモリである。RAM130は、ストレージ110や、ROM120から読み出したプログラムや、実行時の結果を含むデータを一時的に保持する書換え可能なメモリである。
【0026】
表示部140は、各種情報や、実行画面を表示可能な表示装置である。表示部140は、例えば、液晶ディスプレイ(LCD;Liquid Crystal Display)や、有機EL(Organic Electro Luminescence)ディスプレイ、電気泳動型ディスプレイ等の表示装置であってもよい。また、表示部140は、表示装置が接続可能なインタフェースを含む。例えば、HDMI(登録商標)(High-Definition Multimedia Interface)や、DVI(Digital Visual Interface)、Display Portを介して接続される外部の表示装置で構成されてもよい。
【0027】
操作部150は、ユーザからの操作入力が可能な操作装置である。例えば、表示部140と一体となったタッチパネルや、操作ボタン等の操作装置であってもよい。また、操作部150は、例えばキーボードや、マウスと行った操作装置であってもよい。また、操作部150は、操作装置が接続可能なインタフェース(例えば、USB(Universal Serial Bus))を含んでもよい。例えば、画像形成装置10は、異なる操作装置(タッチパネルを有した操作装置)を接続してもよい。
【0028】
画像形成部160は、画像を例えば記録紙に形成する。画像形成部160は、例えば、像担持体を含み、当該像担持体上にトナー画像を形成し、当該像担持体上の画像を記録紙上に転写することによって画像を形成する。画像形成部160は、プリンタ等の画像形成装置として構成されてもよい。また、画像形成部160は、電子的に画像ファイルとして画像を形成してもよい。
【0029】
画像読取部165は、原稿(画像)を読取り、画像データとして出力する。画像読取部165は、例えばスキャナであり、CCD(Charge Coupled Device)やCIS(Contact Image Sensor)を利用した読取装置であってもよい。
【0030】
通信部170は、他の装置と通信をする通信インタフェースである。例えば、有線接続や無線接続が提供可能なネットワークインタフェースであってもよい。本実施形態においては、ネットワークNWを介して他の装置と通信可能となっている。
【0031】
[1.2.2 認可サーバ]
図3に示すように、認可サーバ20は、制御部200と、記憶装置としてストレージ210、ROM220及びRAM230と、通信部270とを有している。
【0032】
なお、認可サーバ20は、説明の都合上1つ示しているが、認可を実行可能なサービス毎に複数の認可サーバ20が準備されている。例えば、認可を行うサービスとしては、Google(登録商標)、FaceBook(登録商標)、Twitter(登録商標)といったサービスを提供する者が、認可サーバ20をそれぞれ準備する。また、認可サーバ20は、単体のサーバ装置として説明しているが、必要に応じて、機能やデータをそれぞれ必要なサーバ装置に配置してもよい。
【0033】
制御部200は、認可サーバ20の全体を制御するための機能部である。制御部200は、ストレージ210や、ROM220に記憶されている各種プログラムを読み出して実行することにより各種機能を実現しており、1又は複数の制御装置/演算装置(CPU(Central Processing Unit)、SoC(System on a Chip))により実現されてもよい。
【0034】
ストレージ210は、プログラムや、データを記憶可能な不揮発性の記憶装置である。例えば、HDD(Hard Disk Drive)や、SSD(Solid State Drive)といった記憶装置で構成されてもよい。また、ストレージ210は、外部に接続可能なUSBメモリや、CD-ROMドライブ、BD-ドライブといった構成でもよい。また、ストレージ210は、例えばクラウド上にある記憶領域であってもよい。
【0035】
ROM220は、電源を切ってもプログラムやデータを保持することが可能な不揮発性のメモリである。
【0036】
RAM230は、主に制御部200が処理を実行時に利用するメインメモリである。RAM230は、ストレージ210や、ROM220から読み出したプログラムや、実行時の結果を含むデータを一時的に保持する書換え可能なメモリである。
【0037】
通信部270は、他の装置と通信をする通信インタフェースである。例えば、有線接続や無線接続が提供可能なネットワークインタフェースであってもよい。本実施形態においては、画像形成装置10からの要求に応じて、認証や認可を実行する。
【0038】
また、
図3の構成以外にも、例えば、認可サーバ20は、表示部や、操作部といった構成を更に有していてもよい。また、認可サーバ20は、表示装置や、操作装置が接続されることで、表示部や、操作部といった構成と同じ機能を実現してもよい。また、認可サーバ20は、後述するように、他の装置に対して操作や管理のためのユーザインタフェースを提供してもよい。
【0039】
[1.2.3 リソースサーバ]
リソースサーバ30も、ハードウェアの構成は、認可サーバ20と同様である。すなわち、リソースサーバ30は、少なくとも制御部、記憶部(ストレージ、ROM、RAM)、通信部を有している。また、リソースサーバ30は、外部サービスを提供可能なサーバである。したがって、リソースサーバ30は、単体の装置である必要はなく、複数のサーバ装置を組み合わせたものであってもよい。
【0040】
例えば、リソースサーバ30は、メールサービスとして、SMTP(Simple Mail Transfer Protocol)、POP(Post Office Protocol)、IMAP(Internet Message Access Protocol)といったプロトコルを提供している。画像形成装置10は、これらのプロトコルを利用した通信を行うことで、リソースサーバ30を経由してメールの送受信を行うことが可能である。
【0041】
[1.3 ソフトウェア構成]
ソフトウェアの構成について、
図4を参照して説明する。
図4は、画像形成装置10と、認可サーバ20との主なソフトウェアの構成について説明する図である。
【0042】
[1.3.1 画像形成装置]
画像形成装置10の制御部100は、ストレージ110又はROM120に記憶されたプログラム(アプリケーション)を実行することで、以下の各構成として機能する。
【0043】
システム設定部102は、画像形成装置10に予め実装されている処理であり、システムの設定を行う。例えば、システム設定部102は、画像形成装置10が利用するネットワークサービスの設定を行うことが可能である。本実施形態では、システム設定部102は、メールアドレスの設定、メールの送受信に利用するプロバイダの設定、メールの送受信における認証方式の設定等を行うことが可能である。
【0044】
システム設定部102は、例えば、ファームウェアとして記憶部(ストレージ110又はROM120)に記憶されている1又は複数のプログラムが実行されることにより実現してもよい。また、システム設定部102に対応する専用の回路(制御装置)を有していてもよい。
【0045】
また、システム設定部102は、ストレージ110に記憶されているアプリケーション112から、情報を取得することが可能である。例えば、システム設定部102は、後述するアプリケーション112を起動、実行しなくとも、アプリケーション112が記憶している情報(パラメータ、設定値等)を取得することが可能である。
【0046】
動作管理部104は、アプリケーション112が実行することにより実現する機能である。動作管理部104は、認可サーバ20に対してアクセストークンを取得したり、通信のセッションを管理したりする。
【0047】
以下、本明細書において、アプリケーション112を実行することと、動作管理部104が動作することは同様の意味である。また、画像形成装置10は、アプリケーション112は、1又は複数記憶可能である。アプリケーション112が実行されるごとに、動作管理部104が実行することになる。
【0048】
表示制御部106は、表示部140に応じて情報を表示する。ここで、本実施形態においては、表示制御部106は、例えば、ブラウザアプリを実行した場合に実現する機能である。例えば、表示制御部106は、ブラウザアプリ上で、サーバから取得した情報を表示したり、アプリケーションを実行したりする。また、表示制御部106を介して、システム設定部102を実現してもよい。例えば、システム設定部102は、システムを設定するためのインタフェースとなる画面を、表示制御部106で表示する。すなわちブラウザ上で表示されたシステム設定の画面を利用することで、ユーザはシステムに対して設定項目の値の設定等を行うことが可能である。
【0049】
また、表示制御部106が表示する表示画面に関する情報は、例えば、HTMLやXMLで表された情報であってもよい。また、表示制御部106は、表示画面が操作画面であるときは、操作入力を受け付けたりしてもよい。
【0050】
ストレージ110は、アプリケーション112が1又は複数記憶されている。例えば、アプリケーションとして、N個のアプリケーション(例えば、N-アプリケーション112N)が記憶されている。なお、本実施形態では、説明の都合上、第1の認可サービスを提供する認可サーバ20に対応するアプリケーション112を例に説明する。
【0051】
アプリケーション112は、セッション管理部1122と、データ送信処理部1124とを実現するプログラム(モジュール)が含まれている。セッション管理部1122は、例えば、画像形成装置10と、認可サーバ20とのセッションを管理する。セッション管理部1122により、例えば、画像形成装置10のどの操作画面から認可が行われているかを管理することができる。すなわち、セッション管理部1122によって、表示制御部106がある操作画面でOAuth認証を呼び出し、認証後に、再び同じ操作画面に戻ることができる。
【0052】
データ送信処理部1124は、必要に応じて、認可サーバ20にデータを送信する。例えば、画像形成装置10において取得した認証情報や、認可情報を、認可サーバ20に送信する。例えば、データ送信処理部1124は、本実施形態でトークン取得時などのとき、クラウドサービスと通信が必要となったときは、当該クラウドサービスに対応したデータの送信(又は受信)を行うことが可能となる。
【0053】
また、アプリケーション112は、認可サーバ20に対応する設定情報1126を記憶する。設定情報1126は、例えば、プロバイダに関する情報や、それぞれの機能を実行可能な位置(例えば、アドレス、URL、ページの位置等の呼び出し先の情報)等を記憶してもよい。また、設定情報1126は、必要に応じて情報を記憶してもよい。
【0054】
例えば、設定情報1126の一例を、
図5に示す。設定情報1126は、例えば認可サーバ20を提供するプロバイダ名(例えば、「ExampleProvider」)と、トークン取得フローの開始機能の呼び出し先情報(例えば、「http://127.0.0.1:10080/Example/auth」)と、トークン取得機能呼び出し先(例えば、「http://127.0.0.1:10080/Example/token」)と、認可コードフローへの対応(例えば、「true」)と、デバイスフローへの対応(例えば、「true」)とを記憶する。設定情報1126は、アプリケーション112が記憶することから、プロバイダ毎に情報を記憶することになる。これにより、例えば、プロバイダが、認可コードフローを許可しているか、デバイスフローを許可しているかについても、記憶する。
【0055】
トークン保存部114は、認可サーバ20から取得したトークンを保存する。トークン保存部114は、リソースサーバ30に対応付けて、アクセストークンや、リフレッシュトークン等を保存してもよい。
【0056】
トークン利用アプリケーション116は、トークン(アクセストークン)を利用して、サービス等を利用可能なアプリケーションである。トークン利用アプリケーション116は、例えば、リソースサーバ30に対してコンテンツを送受信したりすることが可能である。
【0057】
[1.3.2 認可サーバ]
認可サーバ20の制御部200は、ストレージ210又はROM220に記憶されたプログラム(アプリケーション)を実行することで、以下の各構成として機能する。
【0058】
認証部202は、画像形成装置10から受信した認証情報(例えば、ユーザID、パスワード等)を利用して、認証を行う。例えば、認証部202は、ストレージ210に記憶されているユーザ情報212に記憶されているユーザ情報と、受信した認証情報とを照合することで、正当なユーザであるかの認証を行う。
【0059】
認可部204は、画像形成装置10から受信した認可情報(例えば、ユーザに対して認可する権限に関する情報)に基づいて認可を行う。
【0060】
トークン管理部206は、トークン(例えば、アクセストークン、リフレッシュトークン)を発行したり、記憶したり、削除したりする等、トークンの管理を行う。発行したトークン(アクセストークン)は、ストレージ210のトークン情報214に記憶されるとしてもよい。
【0061】
[1.3.3 リソースサーバ]
リソースサーバ30の制御部300は、ストレージ310又はROM320に記憶されたプログラム(アプリケーション)を実行することで、以下の各構成として機能する。
【0062】
サービス提供部302は、リソースサーバが画像形成装置10等の他の装置に対してサービスを提供する。例えば、サービス提供部302は、メールサービスを提供する。
【0063】
また、ストレージ310は、ユーザ情報312と、トークン情報314を記憶する。ユーザ情報312は、リソースサーバが提供するサービスを利用可能なユーザに関する情報を記憶する。
【0064】
また、トークン情報314は、認可サーバ20から受信したアクセストークンを記憶する。ここで、サービス提供部302は、画像形成装置10からアクセストークンを受信したときに、トークン情報314に記憶されているアクセストークンと一致したときは、アクセストークンに対応するユーザは正当なユーザであると認証し、サービスを提供する。
【0065】
[1.4 処理の流れ]
本実施形態におけるアクセストークンの取得の流れについて、図のシーケンスを参照して説明する。なお、以下の説明は、画像形成装置10においては、システム設定部102、動作管理部104、表示制御部106等が適宜行う処理であるが、制御部100が各処理を実行するものとして説明をする。同様に、認可サーバ20も制御部200が各処理を実行するものとして説明する。
【0066】
図6に示すように、まず、ユーザはOAuth2.0の設定ページにアクセスする(S102)。具体的には、ユーザは、表示制御部106が表示しているシステム設定のページにおいて、OAuth2.0の設定が必要なページを要求する。
【0067】
表示制御部106は、システム設定部102に対して、OAuth2.0の設定ページを要求する(S104)。
【0068】
ここで、システム設定部102は、インストール済みのアプリケーション112から、OAuthが利用可能なプロバイダ情報を要求する(S106)。すなわち、システム設定部102は、ストレージ110に記憶されているアプリケーション112(画像形成装置10にインストールされているアプリケーション112)から、プロバイダに関する情報を取得する(S108)。ここで、システム設定部102は、プロバイダ名(サービス名)を読み出す。
【0069】
そして、システム設定部102は、利用可能なプロバイダの一覧(プロバイダ名の一覧)を取得し、OAuth2.0の設定ページに、取得したプロバイダの一覧が選択できる選択肢を含めた設定ページを表示する(S110、S112)。
【0070】
続いて、ユーザは、OAuth2.0の設定ページにおいて、認可処理を開始する(S114)。ここで、ユーザは、認可(認証)に利用するユーザのアカウント情報を入力して、認可処理を開始する。例えば、OAuth2.0の設定ページに、ユーザのメールアドレスを入力し、認可処理を開始する。
【0071】
つづいて、表示制御部106は、アプリケーションの認可機能の呼び出し先をシステム設定部102に対して要求する(S116)。例えば、システム設定部102は、現在選択されているプロバイダに対応するアプリケーション112から、プロバイダに対応する認可フロー開始機能の呼び出し先(例えば、URL)を呼び出す(S118)。
【0072】
ここで、認可フロー開始機能の呼び出し先は、アプリケーション112が有している。したがって、例えば、認可フロー開始機能の呼び出し先が変更されたとしても、アプリケーション112に記憶されている呼び出し先を変更すればよい。
【0073】
システム設定部102は、アプリケーション112から認可フロー開始機能の呼び出し先を取得する(S120)。そして、表示制御部106は、システム設定部102から、認可フロー開始機能の呼び出し先を取得する(S122)。
【0074】
表示制御部106は、認証/認可を行うために、アプリケーション112に対して認可フロー開始機能を呼び出す(S124)。ここで、表示制御部106は、アプリケーション112に対して、S114で入力されたアカウント情報を併せて送信する。
【0075】
アプリケーション112が実行されると、動作管理部104が、まず、OAuth2.0を設定中の項目を保持する(S126)。そして、動作管理部104は、ユーザを認証するための認証ページのURLを構成し、表示制御部106に送信し、リダイレクトの要求を行う(S130)。
【0076】
すなわち、表示制御部106は、動作管理部104から認証ページのURLにリダイレクトするように動作する。表示制御部は、認可サーバ20に対して認証ページを要求し(S140)、認可サーバ20から認証ページを取得して表示する(S142、S144)。
【0077】
ユーザは、認可サーバ20に対して認証情報を入力し、認証処理を実行する(S146)。ここで、認証情報は、認可サーバ20においてユーザの認証を行うための情報である。例えば、ユーザのアカウント情報、パスワード等の組み合わせであってもよい。また、S114で入力されたアカウント情報と併せて、パスワードや、生体認証で使用される情報等を送信してもよい。
【0078】
表示制御部106は、認証情報を認可サーバ20に送信する(S148)。認可サーバ20は、受信した認証情報に基づいて正しくユーザ認証が行えたときは、続いて認可ページを表示制御部106に送信する(S152)。
【0079】
表示制御部106は、認可ページを取得すると、ユーザに対して認可ページを表示する(S154)。ここで、表示制御部106は、認可ページを利用することで、ユーザに対して、機能毎に許可する権限を選択させたり、確認させたりする。
【0080】
ユーザは、認可実行(例えば、機能に対して許可する権限を与える)すると(S156)、表示制御部106は、認可情報を認可サーバ20に送信する(S158)。
【0081】
認可サーバ20は、認可処理を実行し(S160)、正しく認可処理が実行されると、アプリケーション112へのリダイレクト受付ポイントに対してリダイレクトする応答を表示制御部106に送信する(S162)。ここで、リダイレクト先は、予め事前に設定してもよい。また、認可サーバ20は、併せて認可コードを送信する。
【0082】
表示制御部106は、認可サーバ20から、リダイレクトの応答があったことから、認可サーバ20から取得したアプリケーション112へのリダイレクト受付ポイントにリダイレクトする(S164)。
【0083】
アプリケーション112が実行されると、動作管理部104は、S126で保持していた設定項目を読み出す(S166)。そして、動作管理部104は、表示制御部106に対して、システム設定の中の設定項目に対してリダイレクトをする応答をする(S168)。また、動作管理部104は、リダイレクト時に、認可コードを利用するため、併せて認可コードを表示制御部106に送信してもよい。
【0084】
表示制御部106は、S168に対応して、システム設定部102にアクセスするためのリダイレクトを行う(S172)。ここで、表示制御部172は、設定中であった設定項目に対してリダイレクトする。
【0085】
システム設定部102は、アプリケーション112から、トークン処理機能の呼び出し先を読み出す(S174、S176)。
【0086】
システム設定部102は、アプリケーション112に対して、認可コードを送信し、トークンを要求する(S178)。
【0087】
アプリケーション112が実行されると、動作管理部104は、受信した認可コードを認可サーバ20に送信し、アクセストークンの要求を行う(S180)。認可サーバ20は、認可コードが正しければ、アクセストークンを動作管理部104に送信する(S182)。
【0088】
動作管理部104は、認可サーバ20からアクセストークンを取得すると、システム設定部102にトークンを送信する(S184)。システム設定部102は、アクセストークンを保存すると(S186)、表示制御部106に対してトークン取得完了後の設定ページを表示するように要求する(S188)。
【0089】
表示制御部106は、アクセストークンを取得完了後の設定ページをユーザに対して表示する(S190)。
【0090】
[1.5 動作例]
動作例について、表示画面の一例を用いて説明する。
図9(a)は、OAuth2.0の設定ページを表示する表示画面W100の一例である。表示画面W100は、システム設定部102によりOAuth2.0の設定ページが生成され、表示制御部106により表示部140に表示されている。
【0091】
例えば、設定ページは、HTMLやXMLでシステム設定部102が生成し、表示制御部106のブラウザ機能により表示されている。
【0092】
ここで、表示画面W100は、システム設定のうち、SMTPの設定を行うことが可能な表示画面である。表示制御部106は、SMTP設定を領域R100に表示し、OAuth2.0の設定を領域R102に表示している。なお、OAuth2.0の設定を行う表示画面は、別画面としてもよいし、ポップアップ表示をしてもよい。
【0093】
項目C102は、SMTP設定における認証方式が選択可能となっている。項目C102は、OAuth2.0を利用することが選択されている。また、項目C104は、OAuth認証を行うプロバイダが選択可能となっている。例えば、項目C104は、画像形成装置10にインストールされているアプリケーション112から読み出したプロバイダ名を、リストボックス(リスト形式)を利用して選択可能に表示している。
【0094】
ユーザが、リストボックスで選択可能なプロバイダが選択されると、OAuth認証で利用するプロバイダ(認可サーバ20)が決定される。また、項目C106は、アカウント情報(例えば、アカウント名)が入力可能となっている。
【0095】
領域R104は、現在のトークン(アクセストークン)の取得状況が表示されている。表示画面W100では、トークンの取得状況として「未取得」と表示されており、まだアクセストークンが取得できてないことを示している。ここで、ユーザによって取得ボタンB100が選択されることで、上記選択されているプロバイダに対して認証処理、認可処理が実行される。
【0096】
ここで、ユーザにより取得ボタンB100が選択されると、認可処理が開始されるが、アプリケーション112が実行された動作管理部104により設定中の項目が保存される。例えば、表示画面W100の場合、動作管理部104は、サービス設定のSMTP設定においてOAuth認証が設定されていることを保存する(
図6のS126)。
【0097】
これにより、認可サーバ20により、認証処理(
図7のS150)、認可処理(
図7のS160)が実行された後、表示画面W100で設定していた設定項目であるサービス設定のSMTP設定に戻ることができる(
図7のS166、S168)。
【0098】
図10(a)の表示画面W110は、認可サーバ20が認証処理を実行するときに必要な認証情報を入力可能な画面の一例である。例えば、表示制御部106は、現在表示している画面に重畳して表示画面W110を表示してもよいし、異なる表示画面として表示を切り替えて表示してもよい。
【0099】
表示画面W110は、認可サーバ20における認証処理において利用されるアカウント名(項目C110)、パスワード(項目C112)が入力可能となっている。なお、表示画面W110は、パスワード認証を利用する場合を一例と表示しているが、他の方法であってもよい。例えば、表示画面W110は、ワンタイムパスワードを入力させる表示画面であってもよいし、生体認証を実行するための表示画面であってもよい。
【0100】
図10(b)の表示画面W110は、認可サーバ20が認可処理を実行するときに必要な認可情報を確認するための画面の一例である。例えば、表示制御部106は、現在表示している画面に重畳して表示画面W120を表示してもよいし、異なる表示画面として表示を切り替えて表示してもよい。
【0101】
表示画面W120は、領域にR120に許可してよい権限が表示されている。例えば、表示画面W120は、メールの送信、読み出しを許可する権限を表示することができる。ユーザが、「許可」を選択されると、認可情報として認可サーバ20に送信される。
【0102】
図10(c)は、
図9で示した領域R102で表示される項目を表示した表示画面W130である。領域R130は、アクセストークンを「取得済」と表示している。すなわち、ユーザは、領域R130に「取得済」と表示されていることで、認可サーバ20が、認証処理、認可処理を実行し、アプリケーション112(動作管理部104)がアクセストークンを取得していることを確認することができる。
【0103】
なお、処理については、後述するが、ユーザが削除ボタンB130を選択することで、画像形成装置10は、取得したアクセストークンを削除することができる。
【0104】
[2.第2実施形態]
第2実施形態は、アクセストークンを利用してサービスを実行する場合の実施形態について説明する。
【0105】
第2実施形態は、第1実施形態と、ハードウェア、ソフトウェアの構成は同一である。第2実施形態は、
図11の処理が実行される。
【0106】
ユーザは、トークンを利用する機能を起動する指示を表示制御部106に対して行う(S202)。例えば、ユーザは、表示制御部106により表示部140に表示している機能の中から、アクセストークンを利用する機能を選択する。ここで、ユーザは、アクセストークンを利用する機能の一例として、メール送信を行う機能を実行するトークン利用アプリケーション116を選択する。
【0107】
制御部100は、トークン利用アプリケーション116を呼び出して実行する。これにより、表示制御部106は、トークンを利用する機能の画面をトークン利用アプリケーション116に要求する(S204)。そして、制御部100は、トークン利用アプリケーション116を実行する。表示制御部106は、トークン利用アプリケーションの表示画面を表示する(S206、S208)。例えば、
図12の表示画面W200は、スキャンした画像を、指定した宛先にメール送信するジョブを実行する画面の一例である。この表示画面W200に対応したアプリケーションは、メール送信時に、SMTP認証を行う為にアクセストークンを利用する。
【0108】
ユーザは、表示制御部106が表示した表示画面において、ジョブの実行を指示する(S210)。例えば、
図12の表示画面W200において、スタートボタンが選択されることで、宛先として設定されたメールアドレスに、スキャンした画像の画像データが添付されたメールを送信するジョブを実行する。
【0109】
表示制御部106は、ジョブ実行要求をトークン利用アプリケーション116に行う(S212)。トークン利用アプリケーション116は、保存されているアクセストークンを用いてジョブを実行する。
【0110】
例えば、トークン利用アプリケーション116は、保存済みのリフレッシュトークンを取得する(S214)。ここで、トークン利用アプリケーション116は、アプリケーション112に対して、トークン処理機能の呼び出し先を要求し、取得する(S216、S218)。
【0111】
トークン利用アプリケーション116は、アプリケーション112に対して、トークンリフレッシュ要求を行う(S220)。トークン利用アプリケーション116は、このとき、アプリケーション112に、リフレッシュトークンを送信してもよい。
【0112】
アプリケーション112が実行されることで、動作管理部104は、トークン処理機能の呼び出し先に基づいて、トークンリフレッシュを実行する(S222)。認可サーバ20は、トークンリフレッシュの処理を実行し、動作管理部104に対してアクセストークンを送信する(S224)。動作管理部104は、受信したアクセストークンをトークン保存部114に記憶する。そして、動作管理部104は、トークンリフレッシュの処理が実行されたこと又はアクセストークンを取得したことをアプリケーション112に通知する(S226)。
【0113】
トークン利用アプリケーション116は、動作管理部104(アプリケーション112)からトークンリフレッシュが行われた結果を受信すると、アクセストークンを用いてジョブを実行する(S228)。例えば、トークン利用アプリケーション116は、アクセストークンを利用してリソースサーバ30において認証し、リソースサーバ30のSMTPによってメールを送信する。
【0114】
トークン利用アプリケーション116は、リソースサーバ30から実行結果の応答を受信すると(S230)、実行結果画面を表示制御部106に送信する(S232)。表示制御部106は、実行結果の画面をユーザに対して表示することで、ジョブの実行を完了する(S234)。
【0115】
なお、アクセストークンの有効期限内であれば、トークン利用アプリケーション116は、アクセストークンを用いてジョブを実行してもよい。すなわち、
図11において、S212のあと、S228に処理を遷移してもよい。
【0116】
また、トークン利用アプリケーション116は、一度アクセストークンを用いてリソースサーバへデータ取得の要求を試み、有効期限が切れているときにリフレッシュトークンを用いてトークンリフレッシュの要求をしてもよい。
【0117】
[3.第3実施形態]
第3実施形態は、トークンを削除する実施形態について説明する。第3実施形態は、第1実施形態と、ハードウェア、ソフトウェアの構成は同一である。第3実施形態は、
図13の処理が実行される。
【0118】
まず、ユーザはOAuth2.0の設定ページにアクセスする(S302)。具体的には、ユーザは、表示制御部106が表示しているシステム設定のページにおいて、OAuth2.0の設定が必要なページを要求する。表示制御部106は、システム設定部102に対して、OAuth2.0の設定ページを要求する(S304)。
【0119】
システム設定部102は、OAuth2.0の設定ページを表示制御部106に送信し、表示制御部106はOAuth2.0の設定ページをユーザに対して表示する(S306,S308)。
【0120】
ユーザは、OAuth2.0の設定ページからトークン削除要求を選択する(S310)。例えば、
図10(c)の削除ボタンB130がユーザにより選択される。
【0121】
表示制御部106から、トークン削除要求がシステム設定部102に送信されると(S312)、システム設定部102は保存されているリフレッシュトークンを取得する(S314)。そして、システム設定部102は、トークン処理機能の呼び出し先をアプリケーション112に要求して(S316)、取得する(S318)。
【0122】
システム設定部102は、トークンリボークの要求をアプリケーション112に行う(S320)。このとき、システム設定部102は、取得しているリフレッシュトークンを併せてアプリケーション112に送信する。
【0123】
アプリケーション112が実行されると、動作管理部104は、認可サーバ20に対してトークンリボークを要求する(S322)。このとき、動作管理部104は、リフレッシュトークンを認可サーバ20に送信する。
【0124】
認可サーバ20は、受信したリフレッシュトークンに対応するトークン(アクセストークン、リフレッシュトークン)を削除する。そして、動作管理部104に対して、トークンリボークの結果を送信する(S324)。
【0125】
動作管理部104は、受信したトークンリボークの結果をシステム設定部102に送信する。システム設定部102は、受信したトークンリボークの結果に基づいて、保存済であるトークン(リフレッシュトークン、アクセストークン)を削除する(S328)。また、システム設定部102は、トークン削除完了後の設定ページを表示制御部106に送信する。表示制御部106は、受信したトークン削除完了後の設定ページをユーザに対して表示する(S332)。
【0126】
[4.変形例]
本開示は上述した各実施の形態に限定されるものではなく、種々の変更が可能である。
すなわち、本開示の要旨を逸脱しない範囲内において適宜変更した技術的手段を組み合わせて得られる実施の形態についても技術的範囲に含まれる。
【0127】
上述した実施形態は、情報処理装置の一例として画像形成装置について説明した。しかし、情報処理装置としては、他の装置に対して適用可能である。例えば、情報処理装置の一例として、スマートフォン、タブレットといった情報処理装置であってもよい。また、IoT機能を搭載した家電(例えば、エアコン、冷蔵庫、テレビ等)であってもよい。また、据置き型装置だけに限らず、例えば、可搬型装置、車載用装置であってもよい。例えば、車載用装置として、カーナビゲーション等の装置であってもよい。
【0128】
また、上述した実施形態は、説明の都合上、各実施形態を分けて説明しているが、可能な範囲で組み合わせて実行することが可能である。また、明細書に記載したいずれの技術についても、補正又は分割出願等において権利取得する意思を有する。
【0129】
また、各実施形態において各装置で動作するプログラムは、上述した実施形態の機能を実現するように、CPU等を制御するプログラム(コンピュータを機能させるプログラム)である。そして、これら装置で取り扱われる情報は、その処理時に一時的に一時記憶装置(例えば、RAM)に蓄積され、その後、各種ROMやHDDの記憶装置に格納され、必要に応じてCPUによって読み出し、修正・書き込みが行われる。
【0130】
ここで、プログラムを格納する記録媒体としては、半導体媒体(例えば、ROMや、不揮発性のメモリカード等)、光記録媒体・光磁気記録媒体(例えば、DVD(Digital Versatile Disc)、CD(Compact Disc)、BD(Blu-ray(登録商標) Disc)等)、磁気記録媒体(例えば、磁気テープ、フレキシブルディスク等)等の何れであってもよい。
【0131】
また、市場に流通させる場合には、可搬型の記録媒体にプログラムを格納して流通させたり、インターネット等のネットワークを介して接続されたサーバコンピュータに転送したりすることができる。この場合、サーバ装置の記憶装置も本発明に含まれるのは勿論である。
【0132】
また、上述したデータは、装置内に記憶されるものではなく、外部の装置に記憶されて、適宜呼び出されてもよい。例えば、データをNAS(Network Attached Storage)に記憶したり、クラウド上に記憶したりしてもよい。
【0133】
なお、本開示の範囲は、明細書に明示的に説明された構成や限定されるものではなく、本明細書に開示される技術の組み合わせも、その範囲に含むものである。本開示のうち、特許を受けようとする構成を、添付の特許請求の範囲に記載しているが、特許請求の範囲に記載されていないことを理由として技術的範囲から排除する意思ではない。
【0134】
また、上述した明細書において、「~の場合」「~のとき」という記載については、一つの例として説明しているものであり、記載した内容に限られる構成としているものではない。これらの場合やときでない構成についても、当業者であれば自明である範囲についても開示しているものであり、権利取得する意思を有する。
【0135】
また、明細書に記載した処理や、データの流れについて順番を伴った記載について、記載している順番に限られない。例えば、処理の一部の箇所を削除したり、順番を入れ替えたりした構成についても開示しているものであり、権利取得する意思を有している。
【0136】
また、実施形態において説明した機能は、それぞれの装置で実行することを説明しているが、1つの装置で実現したり、更に外部サーバを利用したりしてもよい。
【0137】
また、上述した実施形態に用いた装置の各機能ブロック、または諸特徴は、電気回路、例えば、集積回路あるいは複数の集積回路で実装または実行され得る。本明細書で述べられた機能を実行するように設計された電気回路は、汎用用途プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはその他のプログラマブル論理デバイス、ディスクリートゲート又はトランジスタロジック、ディスクリートハードウェア部品、またはこれらを組み合わせたものを含んでよい。汎用用途プロセッサは、マイクロプロセッサでもよいし、従来型のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。前述した電気回路は、デジタル回路で構成されていてもよいし、アナログ回路で構成されていてもよい。また、半導体技術の進歩により現在の集積回路に代替する集積回路化の技術が出現した場合、本開示の一以上の態様は当該技術による新たな集積回路を用いることも可能である。
【符号の説明】
【0138】
1 システム
10 端末装置
100 制御部
110 ストレージ
120 ROM
130 RAM
140 表示部
150 操作部
160 画像形成部
165 カード読取部
170 通信部
172 第1通信部
174 第2通信部
20 画像形成装置
200 制御部
210 ストレージ
220 ROM
230 RAM
240 表示部
250 操作部
260 画像形成部
265 画像読取部
267 カード読取部
270 通信部
30 サーバ装置
300 制御部
310 ストレージ
320 ROM
330 RAM
370 通信部