IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特開2023-175082認可システム、認可サーバー、制御方法、およびプログラム
<>
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図1
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図2
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図3
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図4
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図5
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図6
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図7
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図8
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図9
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図10
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図11
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図12
  • 特開-認可システム、認可サーバー、制御方法、およびプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023175082
(43)【公開日】2023-12-12
(54)【発明の名称】認可システム、認可サーバー、制御方法、およびプログラム
(51)【国際特許分類】
   G06F 21/33 20130101AFI20231205BHJP
   G06F 21/62 20130101ALI20231205BHJP
【FI】
G06F21/33
G06F21/62 318
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022087348
(22)【出願日】2022-05-30
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100124442
【弁理士】
【氏名又は名称】黒岩 創吾
(72)【発明者】
【氏名】鈴木 良介
(57)【要約】      (修正有)
【課題】認可サーバーがリソース所有者と直接的に権限委譲処理を行う場合においても、リソース所有者が間違えなくクライアントデバイスに対して権限委譲を行う認可システム、認可サーバー、制御方法及びプログラムを提供する。
【解決手段】要求されたリソースへの操作を許可するアクセストークンを発行する認可システムにおいて、認可サーバー151は、要求されたリソースにアクセスしようとするクライアント111から認可要求を受信する受信手段と、認可操作を行う端末171を特定する特定手段と、認可操作を行う端末171に認可処理を要求する要求手段と、認可処理の結果を受信する受信手段と、結果に応じてアクセストークンを発行しクライアント111に送信する送信手段と、を備える。認可要求には第1の確認コードを含み、認可処理の結果には第2の確認コードを含み、第1の確認コードと第2の確認コードを比較してアクセストークンの発行を制御する。
【選択図】図4
【特許請求の範囲】
【請求項1】
要求されたリソースへの操作を許可するアクセストークンを発行する認可サーバーから構成される認可システムであり、
前記リソースにアクセスしようとするクライアントから認可要求を受信する受信手段と、
認可操作を行う端末を特定する特定手段と、
認可操作を行う前記端末に認可処理を要求する要求手段と、
認可処理の結果を受信する受信手段と、
結果に応じて前記アクセストークンを発行し前記クライアントに送信する送信手段と、を備え、
前記認可要求には第1の確認コードを含み、
前記認可処理の結果には第2の確認コードを含み、
前記第1の確認コードと第2の確認コードを比較してアクセストークンの発行を制御する認可システム。
【請求項2】
前記第1の確認コードには、前記クライアントによって表示される形式情報を含むことを特徴とする請求項1に記載の認可システム。
【請求項3】
前記受信手段は認可要求の情報を受信し、
受信された前記認可要求の情報を複数格納する認可情報テーブルを保持する保存手段を具備し、
前記認可処理の結果を受信する際、前記認可情報テーブルのうち、前記第2の確認コードと同じ確認コードを持つレコードを更新する更新手段を備えることを特徴とする請求項2に記載の認可システム。
【請求項4】
要求されたリソースへの操作を許可するアクセストークンを発行する認可サーバーであって、
前記リソースにアクセスしようとするクライアントから認可要求を受信する受信手段と、
認可操作を行う端末を特定する特定手段と、
認可操作を行う前記端末に認可処理を要求する要求手段と、
認可処理の結果を受信する受信手段と、
結果に応じて前記アクセストークンを発行し前記クライアントに送信する送信手段と、を備え、
前記認可要求には第1の確認コードを含み、
前記認可処理の結果には第2の確認コードを含み、
前記第1の確認コードと第2の確認コードを比較してアクセストークンの発行を制御する認可サーバー。
【請求項5】
前記第1の確認コードには、前記クライアントによって表示される形式情報を含むことを特徴とする請求項4に記載の認可サーバー。
【請求項6】
前記受信手段は認可要求情報を受信し、
受信された前記認可要求情報を複数格納する認可情報テーブルを保持する保存手段を具備し、
前記認可処理の結果を受信する際、前記認可情報テーブルのうち、前記第2の確認コードと同じ確認コードを持つレコードを更新する更新手段を備えることを特徴とする請求項5に記載の認可サーバー。
【請求項7】
要求されたリソースへの操作を許可するアクセストークンを発行する認可サーバーから構成される認可システムの制御方法であり、
前記リソースにアクセスしようとするクライアントから認可要求を受信するステップと、
認可操作を行う端末を特定するステップと、
認可操作を行う前記端末に認可処理を要求するステップと、
認可処理の結果を受信するステップと、
結果に応じて前記アクセストークンを発行し前記クライアントに送信するステップを備え、
前記認可要求には第1の確認コードを含み、
前記認可処理の結果には第2の確認コードを含み、
前記第1の確認コードと第2の確認コードを比較してクセストークンの発行を制御する制御方法。
【請求項8】
前記第1の確認コードには、前記クライアントによって表示される形式情報を含むことを特徴とする請求項7に記載の制御方法。
【請求項9】
認可要求情報を受信するステップを含み、
受信された前記認可要求情報を複数格納する認可情報テーブルを保持する保存ステップを含み、
前記認可処理の結果を受信する際、前記認可情報テーブルのうち、前記第2の確認コードと同じ確認コードを持つレコードを更新する更新ステップを含むことを特徴とする請求項8に記載の制御方法。
【請求項10】
請求項7乃至9のいずれか1項に記載の制御方法を認可システムに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザーのリソースの権限委譲を可能とする認可システム、認可サーバー、制御方法、およびプログラムに関する。
【背景技術】
【0002】
クラウドのwebサービスでOAuth2.0による権限委譲を実現している。特許文献1ではシステム連携を設定する際にユーザーは、クライアントと認可サーバーの両方をウェブブラウザで操作し、認可操作を行うことで、ユーザーの権限をクライアントに委譲できることについて開示している。クライアントは、委譲されたユーザーの権限を用いて、ユーザーのリソースにアクセスでき、システム連携が実現する。一方、Grant Negotiation and Authorization Protocol、通称gnapと呼ばれるプロトコルがある。gnapでは、クライアントから認可処理が要求されると、認可サーバーとリソース所有者がインタラクションを行い、その結果に基づきクライアントにアクセストークンを発行することで権限委譲する方法が提案されている。この方法を利用すれば、ウェブブラウザを持たないようなデバイスでも、安全に権限移譲を行うことができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許5623234
【発明の概要】
【発明が解決しようとする課題】
【0004】
gnapには、認可サーバーにアクセス要求をしたときに受信するURL情報をクライアントデバイスに表示し、ウェブブラウザを持つデバイス(例えばスマートフォン等)でアクセスして権限委譲を行う方法が開示されている。しかしこの方法は、クライアントデバイスがURL情報(文字列、あるいはQRコード等)を表示する必要があるため、クライアントデバイスが備える表示装置によっては採用できない場合がある。そのような場合には、認可サーバーがリソース所有者と直接的に通信を行う方法によってクライアントデバイスにアクセストークンを発行する方法がある。
【0005】
しかしながら、認可サーバーがリソース所有者と直接的に通信を行ってしまうと、どのクライアントデバイスに対する認可処理をおこなっているのか、リソース所有者がわかりにくいという課題があった。
【0006】
本発明は、前述の課題を鑑みてなされたものであり、認可サーバーがリソース所有者と直接的に権限委譲処理を行う場合においても、リソース所有者が間違えなくクライアントデバイスに対して権限委譲を行えることを目的とする。
【課題を解決するための手段】
【0007】
本発明の一実施形に係る認可システムは、要求されたリソースへの操作を許可するアクセストークンを発行する認可サーバーから構成される認可システムであり、前記リソースにアクセスしようとするクライアントから認可要求を受信する受信手段と、認可操作を行う端末を特定する特定手段と、認可操作を行う前記端末に認可処理を要求する要求手段と、認可処理の結果を受信する受信手段と、結果に応じて前記アクセストークンを発行し前記クライアントに送信する送信手段と、を備え、前記認可要求には第1の確認コードを含み、前記認可処理の結果には第2の確認コードを含み、前記第1の確認コードと第2の確認コードを比較してアクセストークンの発行を制御することを特徴とする。
【発明の効果】
【0008】
本発明によれば、認可サーバーはクライアントデバイスが送信したアクセスリクエスト時に受け付けた確認コードと、認可確認時に受け付けた確認コードを比較できる。このためリソース所有者が誤ったクライアントデバイスに対してアクセストークンを発行することを防止できる。
【図面の簡単な説明】
【0009】
図1】ネットワーク構成を示す図である。
図2】本実施の形態に係る、プリンタ111と、認可サーバー151の構成を示す図。
図3】本実施の形態に係る、機能構成を示す図。
図4】本実施の形態に係る、権限移譲処理全体のフローを説明する図。
図5】本実施の形態に係る、アクセストークン取得処理のフローチャート。
図6】本実施の形態に係る、認可サーバーの各種処理のフローチャート。
図7】本実施の形態に係る、権限移譲処理に利用するJSONデータの例。
図8】本実施の形態に係る、権限移譲処理開始時の画面の例。
図9】本実施の形態に係る、認可処理画面の例。
図10】本実施の第2の形態に係る、アクセストークン取得処理のフローチャート。
図11】本実施の第3の形態に係る、権限移譲処理に表示する画面の例。
図12】本実施の第3の形態に係る、認可サーバーの各種処理のフローチャート。
図13】本実施の第3の形態に係る、認可処理失敗時のJSONデータの例。
【発明を実施するための形態】
【0010】
<実施例1>
以下、本発明を実施するための形態について図面を用いて説明する。本実施の形態に係る権限委譲システムは、図1に示すような構成のネットワーク上に実現される。
【0011】
100は、Wide Area Network(WAN100)であり、本発明ではWorld Wide Web(WWW)システムが構築されている。110、150、170は各構成要素を接続するLocal Area Network(LAN110、LAN150、LAN170)である。
【0012】
152はユーザーのリソースを管理するリソースサーバーであり、111はリソースサーバー152上のリソースにアクセスするプリンタ(クライアント)である。ここでクライアントがリソースサーバー152上のリソースにアクセスするためには、リソース所有者であるユーザーがクライアントに権限を委譲する必要がある。151はクライアントの要求に応じてリソースへのアクセス許可の証拠となるアクセストークンを発行する認可サーバーである。171はクライアントが権限委譲を要求した際に認可確認画面を表示するユーザー端末である。
【0013】
認可サーバー151、リソースサーバー152はそれぞれLAN150を介してWAN100と接続されている。また同様にクライアントはLAN110を介して、ユーザー端末171はLAN170を介して、それぞれWAN100と接続されている。なお認可サーバー151、リソースサーバー152はそれぞれ個別のLAN上に構成されていてもよいし同一のLAN上に構成されていてもよい。同様に、同一のPCまたはサーバーコンピューター上に構成されていてもよい。また、認可サーバー151、リソースサーバー152は図1ではそれぞれが1台として描かれているが複数のサーバーから構成されたサーバーシステムでも良い。例えば、複数台のサーバーをクラスタ化して認可サーバー151を構成しても良い。なお、本願発明においてサーバーシステムと称した場合は、少なくとも1台のサーバーから構成された特定のサービスを提供する装置を指すものとする。
【0014】
図2(A)は本実施の形態に係る認可サーバー151、リソースサーバー152,ユーザー端末171のハードウェア構成を示す図である。尚、図2(A)に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施形態のサーバーコンピューターには一般的な情報処理装置のハードウェア構成を適用できる。また、図2(B)は本実施の形態に係るプリンタ111の構成を示す図である。
【0015】
図2(A)(B)において、CPU201は、ROM203のプログラム用ROMに記憶された、或いは記憶装置211からRAM202にロードされたOSやアプリケーション等のコンピュータプログラムを実行する。ここでOSとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各フローチャートの処理はこのプログラムの実行により実現できる。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。入力装置205はキーボード等の入力装置であり、利用者からの入力を受け付ける。ディスプレイ206は各種情報を表示する。
【0016】
記憶装置211は各種データを記憶するハードディスク(HD)211やフロッピー(登録商標)ディスク(FD)等である。NIC207はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。尚、後述の全ての説明においては、特に断りのない限り実行のハード上の主体はCPU201であり、ソフトウェア上の主体は記憶装置211にインストールされたアプリケーションプログラムである。またアプリケーションプログラムはNIC207を制御してネットワーク間のデータ通信を行う。プリンタエンジン212は、アプリケーションプログラムによって生成されたビットマップデータを用紙面上に永久固着画像として加熱定着処理する。
【0017】
図3は本実施の形態に係る、プリンタ111、認可サーバー151、リソースサーバー152、ユーザー端末171の機能構成を示す図である。図3(A)はプリンタ111、図3(B)は認可サーバー151、図3(C)はリソースサーバー152、図3(D)はユーザー端末171の機能構成をそれぞれ示す。プリンタ111は印刷処理部301と、アクセストークン取得部302を持つ。認可サーバー151は認可リクエスト管理部321、認可確認部322、アクセストークン発行部323を持つ。リソースサーバー152はデータ管理部331を持つ。ユーザー端末171はブラウザ341とメーラー342を持つ。
【0018】
プリンタ111のアクセストークン取得部302は、印刷処理部301で行う印刷処理に先立ち、認可サーバー151からアクセストークンを取得する。認可サーバー151の認可リクエスト管理部321は、プリンタ111(クライアント)のアクセストークン取得部302から送信されるアクセス要求に従い、アクセス要求処理を制御する。認可確認部322は、クライアントから送信される情報に基づいて特定されたユーザー端末171に対する認可確認処理を制御する。なお本実施例において認可確認リクエストとはユーザー端末171が受信可能なメールアドレスに対して、認可確認部が生成する認可確認画面のURLを送信するものとする。ユーザー端末171のメーラー342は上記のように送信されたメールを不図示のメールサーバーから受信して表示する。
【0019】
ユーザー端末171は利用者の操作に基づき、上記メールで送信されたURLをブラウザ341でアクセスすることによって、認可確認画面を表示する。利用者の操作に基づきブラウザ341は認可応答を認可サーバー151の認可確認部322に送信する。アクセストークン発行部323は認可確認部322の処理結果に基づき、アクセストークンを発行する。
【0020】
アクセストークン発行部323がアクセストークンを発行すると、プリンタ111のアクセストークン取得部302は認可リクエスト管理部321からアクセストークンを取得できる。このアクセストークンを用いて、プリンタ111の印刷処理部301は、リソースサーバー152のデータ管理部331から印刷データのリストや印刷データそのものを受信し、プリンタエンジン212を制御して印刷処理を実行する。
【0021】
図4には上述したクライアントがアクセストークンを要求してからリソースサーバーからリソース(印刷データのリストや印刷データそのもの)を取得するまでの全体のフローが図示されている。
【0022】
本実施例において、認可サーバー151にアクセス要求するクライアントは、アクセス要求する前に認可サーバー151に登録されている必要がある。クライアントを認可サーバー151に登録する方法は公知の方法を用いるものとし、具体的な方法は省略する。
【0023】
図5のフローチャートを用いて、上述したプリンタ111のアクセストークン取得部302の動作についての詳細を説明する。まずアクセストークン取得部302は、利用者IDの入力を受け付けるための画面をプリンタ111のディスプレイ206に表示し利用者IDの入力を受け付ける(S501)。利用者IDの入力を受け付けると、アクセストークン取得部302は確認コードを発行する(S502)。確認コードとは、プリンタ111のディスプレイ206に表示可能であり、ユーザー端末171にて入力可能なアクセストークン取得部302がランダムに生成する文字列であり、形式情報である。
【0024】
続いてアクセストークン取得部302は、プリンタ111のディスプレイ206にS502で生成した確認コードが含まれる画面を表示する(S503)。続いてアクセストークン取得部302は、S501で受け付けた利用者IDとS502で生成した確認コードを含むアクセス要求を認可サーバー151に送信する(S504)。
【0025】
続いてアクセストークン取得部302は、S504で送信したアクセス要求に対する応答を受信する(S505)。S505で受信した応答内容が認可処理を継続する内容だった場合、アクセストークン取得部302は、受信した内容に基づき、認可継続要求を認可サーバー151に送信する(S509)。S505で受信した応答内容がアクセストークンを含む場合、アクセストークン取得部302は、受信したアクセストークンをRAM202に格納して、印刷処理部301を起動してアクセストークン取得の処理を完了する(S508)。もしS507でアクセストークンが含まれない場合、アクセストークン取得部302はエラー情報をプリンタ111のディスプレイ206に表示して、S501からの処理を繰り返す(S510)。
【0026】
なお、S505で認可サーバーからレスポンスを受信する際に、同時にIDトークンを受信してもよい。IDトークンは認可処理を行った利用者をリソースサーバー152で識別するために利用する。
【0027】
印刷処理部301は上述のように取得したアクセストークン及びIDトークンを用いて、リソースサーバー152のデータ管理部331から情報を取得する。アクセストークン及びIDトークンを用いたリソースサーバーからの情報取得の方法は当該業者に知られている一般的な方法で実現することができるため、説明を省略する。
【0028】
続いて認可サーバー151の動作について図6のフローチャートを用いて説明する。図6(A)はクライアント(プリンタ111)からアクセス要求を受け付けた際の認可リクエスト管理部321のフローチャートである。
【0029】
まず認可リクエスト管理部321は、認可サーバー151のクライアントからアクセス要求を受信する(S601)。ここで受信するアクセス要求には、上述した利用者IDと確認コードが含まれる。続いて認可リクエスト管理部321は、認可サーバー151の記憶装置211に保存されている利用者テーブルに、S601で受信した利用者IDが含まれているか確認する(S602)。利用者テーブルとは、利用者IDと利用者に対してメッセージ通知するための宛先情報(本実施例においてはメールアドレス)が関連付けられているテーブルであり、例えば次のようなテーブルである。
【0030】
【表1】
【0031】
ここで利用者IDはクライアントから通知されるIDであり、ユーザーIDは後述する認可画面で入力されるIDである。ユーザーIDは認可確認部322で認証処理を行うときに利用される。利用者IDとユーザーIDは重複しない限り同じIDを登録してもかまわない。利用者テーブルへの登録は、本システムの利用に先立ち、利用者の申請に基づき登録される。
【0032】
上記利用者テーブルにS601で受信した利用者IDが登録されていない場合、認可リクエスト管理部321はクライアントにエラーを送信してアクセス要求処理を終了する(S606)。
【0033】
上記利用者テーブルにS601で受信した利用者IDが登録されている場合、認可リクエスト管理部321は利用者IDに対応するメールアドレスに送信する、専用の認可画面を表示するための認可URLを新規に発行する。この認可URLにユーザー端末171のブラウザ341がアクセスすると、ユーザーIDとパスワード、及び確認コードを受け付ける認可画面が表示される。その後認可リクエスト管理部321は上記対応するメールアドレスに発行したURLを含むメールを送信する(S603)。
【0034】
続いて認可リクエスト管理部321は、クライアントに送信するクライアントが認可継続要求を行う際に必要となる認可継続要求用アクセストークンを発行して、認可URL、確認コード、ユーザーIDとともに認可情報テーブルに保存する。認可情報テーブルとは、クライアントからアクセス要求を受け取ってからアクセストークンを渡すまでに間の情報を保持するテーブルであり、例えば次のようなテーブルである。
【0035】
【表2】
【0036】
認可情報テーブルの認可状況は認可状況を表し、後述で説明する認可応答処理で認可確認部322によって”許可”、もしくは”拒否”に設定される。初期値は”null”である。なお、認可情報テーブルに登録されたレコードは、登録後一定時間経過すると自動的に削除されるようにしてもよい。表2にはこれらの情報が複数格納されている。
【0037】
認可情報テーブルのIDトークンは、クライアントに対して発行するIDトークンであり、これも認可確認部322によって設定される。最後に認可リクエスト管理部321は認可継続要求用アクセストークンを含む応答をクライアントに送信する(S605)。
【0038】
図6(B)はユーザー端末171のブラウザ341から認可URLに対してアクセス要求を受け付けた際の認可確認部322のフローチャートである。まず認可確認部322は認可URLに対するアクセスを受け付ける(S611)。続いて認可確認部322は認可画面を表示するためのHTMLをブラウザ341に送信し、認可画面の操作結果である認可情報を受信する(S612)。この認可情報には、認可を許可するか拒否するかの情報と、ユーザーIDとパスワード、確認コード、認可URLが含まれる。S612で受信したデータが認可を拒否するものであれば、認可確認部322は認可情報テーブルからS613で受信した認可URLと同一のレコードの認可状況を”拒否”に更新する(S620)。
【0039】
S612で受信した認可情報が認可を許可するものである場合、認可確認部322はS613で受信したユーザーIDと認可URLが認可情報テーブルに登録されている情報と等しいか確認する(S614)。等しくない場合、認可確認部322はユーザー端末171のブラウザ341にユーザーIDが正しくない旨を表示するデータを返信して、S612に戻る(S615)。登録情報が正しかった場合、認可確認部322はS613で受信したユーザーIDとパスワードで認証処理を行う(S616)。正しく認証できない場合、認可確認部322はユーザー端末171のブラウザ341にパスワードが正しくない旨を表示するデータを返信して、S612に戻る(S617)。
【0040】
正しく認証できた場合、認可確認部322はS613で受信した確認コードが認可情報テーブルに登録されている情報と等しいか確認する(S618)。確認コードが正しくない場合、認可確認部322はユーザー端末171のブラウザ341に確認コードが正しくない旨を表示するデータを返信して、S612に戻る(S619)。確認コードが正しい場合、認可確認部322はアクセストークン発行部323で、S616で認証したユーザーのIDトークンを発行して対応する認可情報テーブルのレコードを更新するとともに、認可状況を”許可”に更新する(S620)。最後に認可確認部322はS613で受信した認可URLにアクセスできないようにして処理を終了する(S621)。
【0041】
図6(C)はクライアント(プリンタ111)から認可継続要求を受け付けた際の認可リクエスト管理部321のフローチャートである。まず認可リクエスト管理部321は、認可サーバー151のクライアントから認可継続要求を受信する(S621)。ここで受信する認可継続要求は、図6(A)のS605で認可リクエスト管理部321が送信した認可継続要求用アクセストークンを含む応答に対応してクライアントが送信するものであり、認可継続要求用アクセストークンが含まれる。続いて認可リクエスト管理部321はS621で受信した認可継続要求用アクセストークンに対応するレコードを認可情報テーブルから検索し、認可状況を確認する(S622)。
【0042】
S622で認可情報テーブルから見つからなかった場合(S623)、認可リクエスト管理部321はエラー応答をクライアントに送信する(S627)。S622で認可情報テーブルの対応するレコードの認可状況が”拒否”である場合(S624)、認可リクエスト管理部321は認可拒否応答をクライアントに送信する(S628)。S622で認可情報テーブルの対応するレコードの認可状況が”許可”である場合(S625)、認可リクエスト管理部321はアクセストークン発行部323でアクセストークンを発行する。更に認可情報テーブルに登録されているIDトークンとともにクライアントに送信する(S626)。S625で認可情報テーブルの対応するレコードの認可状況が”許可”でない場合、図6(A)のS605と同様、認可リクエスト管理部321は認可継続要求用アクセストークンを含む応答をクライアントに送信する(S629)。
【0043】
図7は、クライアント(プリンタ111)と認可サーバー151間で通信するデータの一例である。701は上述したアクセス要求の一例であり、アクセスを行うリソースと行う操作を示す”access_token”属性を含む。またアクセス要求を行ったクライアントの情報を示す”client”属性を含む。またIDトークンを要求するための”subject”属性を含む。また、利用者IDを含む”user”属性が含む。更に”client”属性には確認コードを示す”check_code”属性が含まれている。認可要求情報である。
【0044】
702は上述した認可継続応答の一例であり、認可継続要求用アクセストークンを示す”access_token”属性が含まれている。703は上述したアクセストークンを含む応答の一例であり、アクセストークンを示す”access_token”属性と、IDトークンを含む”subject”属性が含まれている。
【0045】
図8はプリンタ111のアクセストークン取得部302と印刷処理部301がプリンタ111のディスプレイ206に表示する画面の一例である。図8(A)はアクセストークン取得部302が図5のS501で表示する利用者IDを受け付けるための画面の一例であり、利用者IDを入力する801と入力終了時に押下する決定ボタン802を持つ。
【0046】
図8(B)はアクセストークン取得部302が図5のS503で表示する確認コードを表示する画面の一例であり、確認コード811を持つ。図8(C)は印刷処理部301が表示する画面の一例であり、印刷対象のデータを選択するための印刷データリスト821と、印刷データリストに表示されている印刷データを切り換えるためのボタン822と、印刷を開始するためのボタン823を持つ。
【0047】
印刷処理部301は認可サーバー151から取得したアクセストークンとIDトークンを用いて、リソースサーバー152のデータ管理部331から、利用者が印刷可能なデータのリストを受取り印刷データリストに追加する。また、印刷処理部301はボタン823が押下されると、認可サーバー151から取得したアクセストークンとIDトークンを用いてリソースサーバー152のデータ管理部331から選択された印刷データリストを受信して印刷処理を実行する。
【0048】
図9は認可リクエスト管理部321がユーザー端末171のディスプレイに表示する認可画面の一例である。901はユーザーIDを入力するためのテキストボックス、902はパスワードを入力するためのテキストボックスである。903は確認コードを入力するためのテキストボックスである。
【0049】
ボタン904は要求された認可を許可する際に押下するボタンであり、901及至903の項目が入力されていない状態では押下不可の状態にするのが望ましい。
【0050】
ボタン905は要求された認可を拒否する際に押下するボタンである。
【0051】
本実施の形態によれば、クライアントデバイスは利用開始時に生成した確認コードを認可サーバーに送信して認可処理を要求する。認可サーバーはユーザー端末から認可情報と確認コードを受信して、認可処理を要求したときの確認コードと比較してアクセストークンをクライアントに発行するか制御する。このため、誤ったクライアントデバイスからの認可要求に対して認可処理を行うことを防止することが可能になる。
【0052】
<実施例2>
上述した実施例では、クライアント(プリンタ111)は利用開始時に確認コードを生成していた。本実施例ではクライアントに予め登録されている確認コードを利用して認可処理を行う。
【0053】
本実施例のプリンタ111には、予め確認コードがランダムに割り振られており、確認コードをQRコード形式で符号化したものと、符号化前のQRコードがデバイスに付与される。本実施例におけるプリンタ111のアクセストークン取得部302の処理を図10のフローチャートを用いて説明する。なお図10のフローチャートの各ステップのうち、図5と同じステップについては同じ番号を付与して説明は省略する。
【0054】
利用者IDの入力を受け付けると、アクセストークン取得部302はプリンタ111のデータROM203或いは記憶装置211に予め設定された確認コードを読み取る(S1001)。続いてアクセストークン取得部302は、S501で受け付けた利用者IDとS1001で取得した確認コードを含むアクセス要求を認可サーバー151に送信する(S1002)。移行の処理は図5と同じであるため説明を省略する。
【0055】
図11の1110は本実施例のプリンタ111のアクセストークン取得部302が送信するアクセス要求に含まれる確認コードの一例である。本実施例の認可確認部322は、アクセス要求に含まれる確認コードの”format”属性が”QR”である場合、QR画像を読み取り可能なプログラムを含む認可確認画面を生成し、ユーザー端末171に送信する。
【0056】
図11の1110は上述の確認コードをQRコード形式で符号化したQRコード1101が印刷されたシールであり、プリンタ111の出荷時にプリンタ111の本体に張り付けられている。なお、図11の1110のQRコードは、本体に張り付けたシールが破れたり汚れたりした場合に備え、印刷処理部301で紙面に印刷できるようにしてもかまわない。
【0057】
図11の1120は本実施例の認可確認部322が生成するQR画像を読み取り可能なプログラムを含む認可確認画面の一例であり、QRコードの撮影を開始するためのボタンと、読み取った確認コードを表示するテキストボックス1121が含まれている。
【0058】
本実施の形態によれば、クライアントデバイスは予め登録された確認コードを認可サーバーに送信して認可処理を要求する。予め登録された認可コードは、QRコード形式でクライアントデバイス読み取り可能なように設置されている。このためQRコードの表示能力を有さないディスプレイをもつクライアントにおいても、認可コードをユーザー端末に備え付けられた撮像装置を用いて読み取ることが可能になる。
【0059】
<実施例3>
上述した実施例では、認可確認部322は認可確認画面の操作結果に基づき、認可情報テーブルのその元となるレコードの認可状況を更新していた。本実施例の認可確認部322は同じ確認コードを持つレコードの認可状況も更新する。
【0060】
本実施例におけるプリンタ111のアクセストークン取得部302の処理を図12(A)のフローチャートを用いて説明する。なお図12(A)のフローチャートの各ステップのうち、図6(B)と同じステップについては同じ番号を付与して説明は省略する。
【0061】
本実施例における認可確認部322のユーザー端末171のブラウザ341から認可URLに対してアクセス要求を受け付けた際の処理を図12(A)のフローチャートを用いて説明する。なお、図12のフローチャートの各ステップのうち、図6(B)と同じステップについては同じ番号を付与して説明は省略する。
【0062】
確認コードが正しくない場合、認可確認部322はS612で受信した確認コードが設定されている認可情報テーブルのレコードを検索し、存在する場合には、そのレコードの認可状況を”不正”に更新する(S1201)。その後の処理は図6(B)のS619と同じである。
【0063】
続いて本実施例におけるクライアント(プリンタ111)から認可継続要求を受け付けた際の認可リクエスト管理部321の処理を図12(B)のフローチャートを用いて説明する。なお図12(B)のフローチャートの各ステップのうち、図6(C)と同じステップについては同じ番号を付与して説明は省略する。
【0064】
認可情報テーブルの認可状況に”不正”が設定されている場合、認可リクエスト管理部321は認可中断応答をクライアントに送信する(S1211)。認可中断応答を受けたクライアント(プリンタ111)は実行中の認可処理を中断する。
【0065】
図13は上述した認可状況に”不正”が設定されている場合の認可継続応答の一例である。
【0066】
本実施の形態によれば、認可確認部322はユーザー端末から送信される認可情報に含まれる確認コードと同値になる認可情報テーブルのレコードの認可状況を更新し、該レコードを要求したクライアントに対する認可処理を失敗させる。このため、認可コードを発行或いは登録されたクライアントでエラー表示を行うことができるので、利用者は別のクライアントからの認可要求に対して認可処理したことを認識しやすくなる。
【0067】
<その他の実施例>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0068】
111 クライアント
151 認可サーバー
152 リソースサーバー
171 ユーザー端末
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13