[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2017091221A - Authority delegation system, control method thereof, authorization server, and program - Google Patents

Authority delegation system, control method thereof, authorization server, and program Download PDF

Info

Publication number
JP2017091221A
JP2017091221A JP2015220663A JP2015220663A JP2017091221A JP 2017091221 A JP2017091221 A JP 2017091221A JP 2015220663 A JP2015220663 A JP 2015220663A JP 2015220663 A JP2015220663 A JP 2015220663A JP 2017091221 A JP2017091221 A JP 2017091221A
Authority
JP
Japan
Prior art keywords
client
authorization
authority
user
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015220663A
Other languages
Japanese (ja)
Inventor
奨 ▲浜▼渦
奨 ▲浜▼渦
Susumu Hamauzu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015220663A priority Critical patent/JP2017091221A/en
Publication of JP2017091221A publication Critical patent/JP2017091221A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a system for delegating authority of a user from a client to whom the authority of the user has been delegated to another client.SOLUTION: An authority delegation system includes: first and second clients; a service provision device; and an authorization server. The first client uses a service of the second client on the basis of first authorization information indicating that specific authority has been delegated from a user to the first client. The authorization server specifies the first client from the first authorization information transmitted according as the service is used, and confirms whether or not the specified first client is associated with the second client, and issues second authorization information indicating that specific authority has been delegated to the second client according as it is confirmed that the first client is associated with the second client. The second client uses a service of the service provision device on the basis of the provided second authorization information.SELECTED DRAWING: Figure 7

Description

本発明は、権限委譲システム、その制御方法、認可サーバ及びプログラムに関する。   The present invention relates to an authority delegation system, a control method thereof, an authorization server, and a program.

近年、クラウドサービスと呼ばれるインターネットを介してソフトウェアの機能を提供するサービスの利用が拡大している。例えば、インターネット上でPDF形式の電子文書を作成するサービスや電子文書を蓄積するサービスがある。このようなサービスを利用することでユーザは、自身が所有する端末自体にPDF作成機能がない場合でもPDFを作成できるようになる他、端末の記憶容量以上に電子文書を保管できるようにもなる。さらに、クラウドサービスを連携させて付加価値を高めることができる。例えば、前述のクラウドサービスでPDF形式の電子文書を作成し、さらに作成した電子文書をユーザの所有する端末を経由することなく、直接インターネット上の電子文書を蓄積するサービスに保管できる、といったことが、サービス連携により実現できる。
従来、このようなサービス連携を実現するために、OAuthと呼ばれる、権限委譲の標準プロトコルが広く利用されている。OAuthについては以降で説明する。
In recent years, the use of services that provide software functions via the Internet called cloud services is expanding. For example, there are services for creating PDF-format electronic documents on the Internet and services for storing electronic documents. By using such a service, a user can create a PDF even if the terminal owned by the user does not have a PDF creation function, and can also store an electronic document more than the storage capacity of the terminal. . In addition, cloud services can be linked to increase added value. For example, it is possible to create an electronic document in PDF format using the cloud service described above, and store the created electronic document directly in a service that stores electronic documents on the Internet without going through a terminal owned by the user. It can be realized by service cooperation.
Conventionally, in order to realize such service cooperation, a standard protocol for delegation of authority called OAuth has been widely used. OAuth will be described later.

クラウドサービスの利用が増加する中で、3つ以上のクラウドサービスを連携させたサービスを提供したいという要求がある。そのために、ユーザの権限を委譲されたクライアントが第1のリソースサービスを利用し、さらに第1のリソースサービスがクライアントとなって第2のリソースサービスを利用したい。そこで特許文献1は、アプリケーションを追加・削除可能なデバイスにおいて、ユーザがデバイスに権限委譲し、さらにデバイスがデバイス内アプリケーションに権限委譲するという、デバイス内で2段階の権限委譲をする技術を開示している。このOAuthを拡張した技術では、ユーザが認可確認をしてデバイスに権限委譲すると、その後は認可操作なしでデバイスからデバイス内のアプリケーションに権限委譲できる。   As the use of cloud services increases, there is a demand for providing a service that links three or more cloud services. For this purpose, the client to which the authority of the user has been delegated uses the first resource service, and further, the first resource service becomes the client and wants to use the second resource service. Therefore, Patent Document 1 discloses a technology for performing authority delegation in two stages in a device in which a user can delegate authority to a device and a device can delegate authority to an application in the device. ing. With the technology that expands this OAuth, if the user confirms authorization and delegates authority to the device, then authority can be delegated from the device to the application in the device without authorization operation.

特開2014−099030号公報JP 2014-099030 A

しかしながら、特許文献1では、最初の権限委譲はデバイスに対して行うことしかできず、また2段階目の権限委譲もデバイス内のアプリケーションにしか行うことができない。   However, in Patent Document 1, the first authority delegation can only be performed on the device, and the second-stage authority delegation can be performed only on the application in the device.

本発明は、ユーザの権限を委譲されたクライアントから、さらに別のクライアントに権限を委譲するシステムを提供することを目的とする。   It is an object of the present invention to provide a system for delegating authority from a client whose authority has been delegated to another client.

上記課題を解決するために、本発明は、ネットワークを介してサービスを提供する第1のクライアントおよび第2のクライアントおよびサービス提供装置と、認可サーバとを含む権限委譲システムを提供する。第1のクライアントは、ユーザから前記第1のクライアントに対し特定の権限が委譲されたことを示す第1の認可情報を基に、前記第2のクライアントのサービスを利用する第1の利用手段を有する。認可サーバは、前記第1の利用手段による利用に伴い送信される前記第1の認可情報から前記第1のクライアントを特定し、特定された前記第1のクライアントと前記第2のクライアントが関連付いているか否かを確認する確認手段と、前記確認手段により関連付いていると確認されたことに応じ、前記第2のクライアントに対し特定の権限が委譲されたことを示す第2の認可情報を発行する発行手段とを有する。第2のクライアントは、前記発行手段から提供された前記第2の認可情報を基に、前記サービス提供装置のサービスを利用する第2の利用手段を有する。   In order to solve the above-described problems, the present invention provides an authority delegation system including a first client and a second client that provide a service via a network, a service providing device, and an authorization server. The first client has a first use means for using the service of the second client based on the first authorization information indicating that a specific authority is delegated from the user to the first client. Have. The authorization server identifies the first client from the first authorization information transmitted along with use by the first utilization means, and the identified first client and second client are associated with each other. Confirmation means for confirming whether or not there is a second authorization information indicating that a specific authority has been delegated to the second client in response to confirmation by the confirmation means Issuing means for issuing. The second client has second use means for using the service of the service providing apparatus based on the second authorization information provided from the issuing means.

本発明によれば、ユーザの権限を委譲されたクライアントから、さらに別のクライアントに権限委譲できる。   According to the present invention, it is possible to delegate authority from a client whose authority has been delegated to another client.

システム構成図である。It is a system configuration diagram. 各装置のハードウェア構成図である。It is a hardware block diagram of each apparatus. 各装置のソフトウェアモジュール構成図である。It is a software module block diagram of each apparatus. 3つのサービスを連携したサービスの処理シーケンス図である。It is a processing sequence diagram of a service in which three services are linked. 3つのサービスを連携したサービスの処理シーケンス図である。It is a processing sequence diagram of a service in which three services are linked. 認可処理に関連する画面の例である。It is an example of the screen related to authorization processing. 第2の認可トークン発行時の信頼関係確認処理のフローチャートである。It is a flowchart of the trust relationship confirmation process at the time of the 2nd authorization token issue. 3つのサービスを連携したサービスの処理シーケンス図である。It is a processing sequence diagram of a service in which three services are linked. クライアントの信頼関係確認処理のフローチャートである。It is a flowchart of a client trust relationship confirmation process. ユーザ管理テーブル及びクライアント管理テーブルを示す図である。It is a figure which shows a user management table and a client management table. 認可トークン管理テーブルを示す図である。It is a figure which shows an authorization token management table. クライアント信頼関係管理テーブルを示す図である。It is a figure which shows a client trust relationship management table.

(第1実施形態)
まず、権限委譲システムの標準プロトコルであるOAuthについて説明する。OAuthによれば、例えば、ユーザから権限委譲されたサービスAが、サービスBの管理するユーザのデータにアクセスできる。サービスAのように、ユーザの権限を委譲されてユーザの代わりにサービスBにアクセスするものをクライアントと呼ぶ。サービスBのように、ユーザのデータを管理するものをリソースサーバ(サービス提供装置)と呼ぶ。クライアントがリソースサーバにアクセスする際、クライアントはアクセスするリソースの範囲を明らかにした上で、ユーザからアクセスに対する明示的な認可を得ることになっている。ユーザが明示的に認可を行うことを認可操作と称する。
ユーザが認可操作を行うと、クライアントはリソースサーバへのアクセスを認められたことを証明するトークン(以下、認可トークンと称する)を受け取る。以降、クライアントはその認可トークンを用いてリソースサーバにアクセスできるようになる。
認可トークンを用いるとクライアントは、ユーザの認証情報なしに、認可を行ったユーザの権限でリソースサーバにアクセスできる。そのため、OAuthでは、セキュリティの観点から、クライアント・リソースサーバが認可トークンを外部に漏洩させてはいけないことを規定している。各クラウドサービスは、認可トークンを外部に漏洩しないように厳重かつ適正に管理する責務を負う。
(First embodiment)
First, OAuth, which is a standard protocol for the authority delegation system, will be described. According to OAuth, for example, service A delegated by a user can access user data managed by service B. As in service A, a user whose authority is delegated to access service B on behalf of the user is called a client. The service B that manages user data is called a resource server (service providing apparatus). When a client accesses a resource server, the client is to obtain an explicit authorization for access from the user after clarifying the range of resources to be accessed. The explicit authorization by the user is called authorization operation.
When the user performs an authorization operation, the client receives a token certifying that access to the resource server has been granted (hereinafter referred to as an authorization token). Thereafter, the client can access the resource server using the authorization token.
When the authorization token is used, the client can access the resource server with the authority of the authorized user without the user authentication information. Therefore, OAuth stipulates that the client / resource server should not leak the authorization token to the outside from the viewpoint of security. Each cloud service is responsible for strictly and properly managing authorization tokens so as not to leak outside.

OAuthの認可トークンを利用して3つ以上のサービスを連携する方法として考えられる方法は、複数のサービスを利用するための認可トークンを取得して、この認可トークンをサービス間で受け渡していく方法である。しかしながら、OAuthでは、セキュリティの観点から、認可トークンの受け渡しをクライアントとサービスの間のみに制限し、外部に認可トークンを漏らすことを禁止している。リソースサービスが別の外部リソースサービスに認可トークンを受け渡しすると、認可トークンの漏洩リスクが生じる。認可トークンを詐取した第三者は、ユーザの認証情報なしに、認可を行ったユーザの権限で複数のリソースサービスを利用できるようになってしまう。
そこで、本実施形態においては、サービス間で権限委譲する際に、ある認可トークンから権限を引き継ぐ新たな認可トークンを発行して、その認可トークンを受け渡すことで、ユーザの権限をサービス間で委譲させていく手段をとる。こうすることで、OAuthの規定を遵守しながら、サービス間での権限委譲が実現できる。
A method that can be considered as a method of linking three or more services using an OAuth authorization token is a method of acquiring an authorization token for using a plurality of services, and passing this authorization token between services. is there. However, from the viewpoint of security, OAuth restricts the delivery of the authorization token only between the client and the service and prohibits the leakage of the authorization token to the outside. When a resource service passes an authorization token to another external resource service, there is a risk of leakage of the authorization token. A third party who has stolen an authorization token can use a plurality of resource services with the authority of the authorized user without user authentication information.
Therefore, in this embodiment, when delegating authority between services, a new authorization token that takes over the authority from a certain authorization token is issued, and the authorization token is transferred, so that the authority of the user is delegated between services. Take measures to let you. In this way, authority delegation between services can be realized while complying with the OAuth rules.

また、3つ以上のサービス間での権限委譲では、ユーザの知らないところで、サービスから別のサービスに権限委譲がなされてしまう可能性がある。そこで、本実施形態においては、認可トークンの漏洩リスクを低減し、かつ、サービスが別のサービスに権限委譲することについてユーザの同意を得た上で、3つ以上のサービスの連携を実現するようにする。   Further, in the authority delegation between three or more services, there is a possibility that authority delegation is performed from one service to another without the user's knowledge. Therefore, in this embodiment, the risk of leakage of the authorization token is reduced, and the cooperation of three or more services is realized after obtaining the user's consent that the service delegates authority to another service. To.

本実施形態においては、オフィスフロアのプリンタを管理するフロア機管理サービス、帳票データを生成する帳票サービス、データを取得して印刷する印刷サービスが、インターネット上のサーバに設置されていることを想定している。以降、フロア機管理サービス、帳票サービス、印刷サービスのように、インターネット上で機能を提供しているサービスを、リソースサービスと呼ぶ。本実施形態においては、前述のフロア機管理サービス、帳票サービス、印刷サービスを連携することで、フロア機の利用状況のデータを帳票データに加工し、さらに、その帳票データを印刷するサービスを説明する。
また本実施の形態においては、PC、携帯端末のようなユーザ端末上のWebブラウザーやネィティブアプリケーションから上記サービスを利用することを想定している。ユーザ端末上のWebブラウザーやアプリケーションをサービス連携アプリケーションと呼ぶ。なお、本願発明を適用できるリソースサービスは、フロア機管理サービス、帳票サービス、印刷サービスには限られるものではない。
In this embodiment, it is assumed that a floor machine management service that manages printers on the office floor, a form service that generates form data, and a print service that acquires and prints data are installed on a server on the Internet. ing. Hereinafter, services that provide functions on the Internet, such as floor machine management services, form services, and printing services, are referred to as resource services. In the present embodiment, a service for processing floor machine usage data into form data by linking the above-described floor machine management service, form service, and print service, and further printing the form data will be described. .
In this embodiment, it is assumed that the service is used from a Web browser or a native application on a user terminal such as a PC or a portable terminal. A Web browser or application on the user terminal is called a service cooperation application. The resource service to which the present invention can be applied is not limited to the floor machine management service, the form service, and the printing service.

本実施形態に係る権限委譲システムは、図1に示すような構成のネットワーク上に実現される。
WAN100は、Wide Area Network(WAN)であり、本実施形態ではWorld Wide Web(WWW)システムが構築されている。LAN101は各構成要素を接続するLocal Area Network(LAN)である。
認可サーバ200はOAuthを実現するための認可サーバである。フロア機管理サーバ220、帳票サーバ240、印刷サーバ260はリソースサーバとして、認可サーバ200と連携してユーザに各々のサービスを提供する。フロア機管理サーバ220は第1のクライアントであり、帳票サーバ240は第2のクライアントであり、印刷サーバ260はサービス提供装置に該当する。なお1台のリソースサーバに設置されるリソースサービスは1つでもよく、複数でもよい。また、認可サーバ、および、リソースサーバは1台ではなく複数台で構成されるサーバ群であってもよい。
ユーザ端末300はパソコン、スマートフォンなどの情報機器であり、Webブラウザーやアプリケーションがインストールされている。ユーザはWebブラウザーやアプリケーションを用いてリソースサーバのサービスを利用する。また認可サーバ200、フロア機管理サーバ220、帳票サーバ240、印刷サーバ260、ユーザ端末300はそれぞれWAN100およびLAN101を介して接続されている。なお認可サーバ200、リソースサーバであるフロア機管理サーバ220、帳票サーバ240、印刷サーバ260、ユーザ端末300はそれぞれ個別のLAN上に構成されていてもよいし同一のLAN上に構成されていてもよい。また認可サーバ200、リソースサーバであるフロア機管理サーバ220、帳票サーバ240、印刷サーバ260は同一のサーバ上に構成されていてもよい。
The authority delegation system according to the present embodiment is realized on a network configured as shown in FIG.
The WAN 100 is a wide area network (WAN), and a world wide web (WWW) system is constructed in the present embodiment. A LAN 101 is a local area network (LAN) that connects each component.
The authorization server 200 is an authorization server for realizing OAuth. The floor machine management server 220, the form server 240, and the print server 260 provide respective services to the user in cooperation with the authorization server 200 as resource servers. The floor machine management server 220 is a first client, the form server 240 is a second client, and the print server 260 corresponds to a service providing apparatus. Note that one or more resource services may be installed on one resource server. Further, the authorization server and the resource server may be a server group including a plurality of servers instead of one.
The user terminal 300 is an information device such as a personal computer or a smartphone, and a web browser and an application are installed. The user uses the service of the resource server using a web browser or an application. The authorization server 200, floor machine management server 220, form server 240, print server 260, and user terminal 300 are connected via the WAN 100 and the LAN 101, respectively. The authorization server 200, the floor machine management server 220, which is a resource server, the form server 240, the print server 260, and the user terminal 300 may be configured on individual LANs or on the same LAN. Good. The authorization server 200, the floor machine management server 220, which is a resource server, the form server 240, and the print server 260 may be configured on the same server.

本実施形態に係る権限委譲システムは、図2に示すような構成の情報処理装置から成るシステム上に実現される。図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものである。本実施形態の認可サーバ200、フロア機管理サーバ220、帳票サーバ240、印刷サーバ260、ユーザ端末300のハードウェア構成を適用できる。   The authority delegation system according to the present embodiment is realized on a system including information processing apparatuses configured as shown in FIG. The hardware block diagram shown in FIG. 2 corresponds to a hardware block diagram of a general information processing apparatus. The hardware configurations of the authorization server 200, the floor machine management server 220, the form server 240, the print server 260, and the user terminal 300 according to this embodiment can be applied.

図2において、CPU201は、OSやアプリケーション等のプログラムを実行しシステムバス204に接続される各ブロックを制御する。ここでOSとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各シーケンスの処理はこのプログラムの実行により実現できる。OSやアプリケーションは、ROM203のプログラム用ROMやハードディスク(HD)等の外部メモリ211に記憶され、RAM202にロードされる。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。DSPコントローラ(DSPC)206は、ディスプレイ(DSP)210の表示を制御する。ディスクコントローラ(DKC)207は、各種データを記憶するハードディスク(HD)等の外部メモリ211におけるデータアクセスを制御する。ネットワークコントローラ(NC)208は、WAN100もしくはLAN101を介して接続されたユーザ端末300や他の機器との通信制御処理を実行する。
なお、後述の全ての説明においては、特に断りのない限りサーバにおける実行のハード上の主体はCPU201であり、ソフトウェア上の主体は外部メモリ211にインストールされたアプリケーションプログラムである。
In FIG. 2, a CPU 201 executes programs such as an OS and applications and controls each block connected to the system bus 204. Here, the OS is an abbreviation for an operating system running on a computer, and the operating system is hereinafter referred to as an OS. Processing of each sequence described later can be realized by executing this program. The OS and applications are stored in an external memory 211 such as a program ROM in the ROM 203 or a hard disk (HD), and loaded into the RAM 202. The RAM 202 functions as a main memory, work area, and the like for the CPU 201. A keyboard controller (KBC) 205 controls key input from a keyboard 209 or a pointing device (not shown). The DSP controller (DSPC) 206 controls display on the display (DSP) 210. A disk controller (DKC) 207 controls data access in an external memory 211 such as a hard disk (HD) that stores various data. A network controller (NC) 208 executes communication control processing with the user terminal 300 and other devices connected via the WAN 100 or the LAN 101.
In all the descriptions below, unless otherwise specified, the hardware main body of execution in the server is the CPU 201, and the software main body is an application program installed in the external memory 211.

図3は本実施の形態に係る、認可サーバ200、フロア機管理サーバ220、帳票サーバ240、印刷サーバ260、ユーザ端末300のそれぞれのモジュール構成を示す図である。図3に示す何れのモジュールも、図2で示した各装置のCPUが外部メモリにインストールされたアプリケーションプログラムをRAM上で実行することで実現されるモジュールである。
認可サーバ200は認可サービスモジュール212を備える。認可サービスモジュール212は、ユーザ認証機能、クライアント認証機能、認可トークン発行機能、認可トークン検証機能を有する。フロア機管理サーバ220はフロア機管理サービスモジュール221を備える。フロア機管理サービスモジュール221はフロア機の利用状況をデータ出力する機能を有する。帳票サーバ240は帳票サービスモジュール241を備える。帳票サービスモジュール241は受領データから帳票データを生成する機能を有する。印刷サーバ260は印刷サービスモジュール261を備える。印刷サービスモジュール261は取得したデータを印刷する機能を有する。
FIG. 3 is a diagram showing module configurations of the authorization server 200, the floor machine management server 220, the form server 240, the print server 260, and the user terminal 300 according to the present embodiment. Each of the modules shown in FIG. 3 is a module realized by the CPU of each device shown in FIG. 2 executing an application program installed in the external memory on the RAM.
The authorization server 200 includes an authorization service module 212. The authorization service module 212 has a user authentication function, a client authentication function, an authorization token issue function, and an authorization token verification function. The floor machine management server 220 includes a floor machine management service module 221. The floor machine management service module 221 has a function of outputting the usage status of the floor machine as data. The form server 240 includes a form service module 241. The form service module 241 has a function of generating form data from the received data. The print server 260 includes a print service module 261. The print service module 261 has a function of printing the acquired data.

ユーザ端末300は、CPUがOS302あるいは外部メモリに記憶されたOSを実行する事で各アプリケーションを制御する。OS302は、一般的にはWindows(登録商標)、Linux(登録商標)等の汎用OSやAndroid(登録商標)、iOS(登録商標)などのモバイル端末用OSが使用される。
ユーザ端末300は、サービス連携アプリケーション301を持つ。サービス連携アプリケーション301はWWWを利用するためのユーザエージェントである。このサービス連携アプリケーション301はWWWを利用できる一般的なWebブラウザーでもよいし、組込ブラウザーを内包するネィティブアプリケーションでもよい。なお、サービス連携アプリケーション301におけるサービス利用のシーケンスについては後述する。
The user terminal 300 controls each application by the CPU executing the OS 302 or the OS stored in the external memory. The OS 302 is generally a general-purpose OS such as Windows (registered trademark) or Linux (registered trademark), or a mobile terminal OS such as Android (registered trademark) or iOS (registered trademark).
The user terminal 300 has a service cooperation application 301. The service cooperation application 301 is a user agent for using the WWW. The service cooperation application 301 may be a general Web browser that can use the WWW or a native application that includes an embedded browser. The service use sequence in the service cooperation application 301 will be described later.

図10(A)、図10(B)、図11、図12(A)は認可サーバ200が外部メモリに記憶するデータテーブルである。データテーブルは、認可サーバ200の外部メモリではなく、LAN101を介して通信可能に構成された別のサーバに記憶するよう構成する事も出来る。
図10(A)はユーザ管理テーブル1200である。ユーザ管理テーブル1200は、ユーザID1201、パスワード1202、ユーザ種別1203から成る。認可サービスモジュール212は、ユーザID1201、パスワード1202の情報の組を検証し、正しければ認証情報を生成することで、各ユーザもしくはクライアントを認証する機能を備える。
10A, 10B, 11, and 12A are data tables stored in the external memory by the authorization server 200. FIG. The data table may be stored not in the external memory of the authorization server 200 but in another server configured to be communicable via the LAN 101.
FIG. 10A shows a user management table 1200. The user management table 1200 includes a user ID 1201, a password 1202, and a user type 1203. The authorization service module 212 has a function of authenticating each user or client by verifying the information set of the user ID 1201 and the password 1202 and generating authentication information if they are correct.

図10(B)はクライアント管理テーブル1300である。クライアント管理テーブル1300はクライアントID1301、クライアント名1302、リダイレクトURL1303、アプリケーションID1304から成る。クライアントID1301は、ユーザ管理テーブル1200のユーザID1201と関連付いており、互いに参照可能となっている。クライアント名1302、リダイレクトURL1303は後述のOAuthのシーケンスで利用される値である。そして、アプリケーションID1304はクライアントがどのサービスで利用されるものかを特定するため値である。   FIG. 10B shows a client management table 1300. The client management table 1300 includes a client ID 1301, a client name 1302, a redirect URL 1303, and an application ID 1304. The client ID 1301 is associated with the user ID 1201 of the user management table 1200 and can be referred to each other. The client name 1302 and the redirect URL 1303 are values used in an OAuth sequence described later. The application ID 1304 is a value for specifying which service the client uses.

図11は認可トークン管理テーブル1400である。認可トークン管理テーブル1400は、認可トークンID1401、トークン種別1402、有効期限1403、スコープ1404、クライアントID1407、ユーザID1408、アプリケーションID1409から成る。さらに、認可トークン管理テーブル1400は、リフレッシュトークンID1405、リフレッシュ期限1406も含む。これら認可トークン管理テーブル1400の処理詳細については後述する。   FIG. 11 shows an authorization token management table 1400. The authorization token management table 1400 includes an authorization token ID 1401, a token type 1402, an expiration date 1403, a scope 1404, a client ID 1407, a user ID 1408, and an application ID 1409. Further, the authorization token management table 1400 also includes a refresh token ID 1405 and a refresh time limit 1406. Details of the processing of the authorization token management table 1400 will be described later.

図12(A)はクライアント信頼関係管理テーブル1500である。クライアント信頼関係管理テーブル1500は、トークン発行クライアント1501、権限委譲可能クライアント1502から成る。トークン発行クライアント1501、権限委譲可能クライアント1502は、クライアント管理テーブル1300のアプリケーションID1304と関連付いており、互いに参照可能となっている。
クライアント信頼関係管理テーブル1500は、サービス間で権限委譲する際にクライアント間での権限引き継ぎの可否判定に利用される。クライアント間の権限引継の可否判定の処理詳細は後述する。
FIG. 12A shows a client trust relationship management table 1500. The client trust relationship management table 1500 includes a token issuing client 1501 and an authority transferable client 1502. The token issuing client 1501 and the authority transferable client 1502 are associated with the application ID 1304 of the client management table 1300 and can be referred to each other.
The client trust relationship management table 1500 is used to determine whether authority can be taken over between clients when authority is delegated between services. Details of processing for determining whether or not authority can be taken over between clients will be described later.

図4及び図5を用いて、フロア機管理サービス、帳票サービス、印刷サービスの3つのサービスを連携したサービスを提供する処理を説明する。
図4及び図5は、3つのサービスを連携したサービスの処理のシーケンス図である。まず、ユーザがサービス連携アプリケーション301において、フロア機利用状況を帳票データ化して印刷するサービスの利用操作をする(S401)。すると、サービス連携アプリケーション301がフロア機管理サービスモジュール221にリソースサービス利用のリクエストを送信する(S402)。フロア機管理サービスモジュール221は、リソースサービス利用のリクエストを受け付けると、認可サービスモジュール212の認可エンドポイントに認可リクエストを送信する(S403)。これにより、フロア機管理サービスモジュール221をクライアントとする、OAuthのフローが開始する。
このときフロア機管理サービスモジュール221は、送信する認可リクエストに、クライアントID、リクエストスコープ、リダイレクトURIをリクエストに含める。ここで、クライアントIDは、cli_000000001を指定する。クライアントID「cli_000000001」は、認可サーバのクライアント管理テーブル1300に事前登録済みのフロア機管理サービスモジュール221のクライアントのクライアントIDである。リクエストスコープは、OAuthで認可を受けたい権限範囲を示す値である。本実施形態では、3つのサービスを連携するために、リクエストスコープとして、フロア機利用状況出力、帳票、印刷の3つのスコープ値を指定したとして説明する。
A process for providing a service in which three services of a floor machine management service, a form service, and a printing service are linked will be described with reference to FIGS. 4 and 5.
4 and 5 are sequence diagrams of service processing in which three services are linked. First, in the service cooperation application 301, the user performs an operation of using a service for printing the floor machine usage status as form data (S401). Then, the service cooperation application 301 transmits a resource service use request to the floor machine management service module 221 (S402). When the floor machine management service module 221 receives a resource service use request, the floor machine management service module 221 transmits an authorization request to the authorization endpoint of the authorization service module 212 (S403). Thereby, the OAuth flow with the floor machine management service module 221 as a client starts.
At this time, the floor machine management service module 221 includes the client ID, the request scope, and the redirect URI in the authorization request to be transmitted. Here, the client ID designates cli_000000001. The client ID “cli — 000000001” is the client ID of the client of the floor machine management service module 221 registered in advance in the client management table 1300 of the authorization server. The request scope is a value indicating an authority range to be authorized by OAuth. In the present embodiment, it is assumed that three scope values of floor machine usage status output, form, and printing are designated as request scopes in order to link the three services.

認可サービスモジュール212は認可リクエストを受けると、フロア機管理サービスモジュール221を介してサービス連携アプリケーション301にログイン要求をする(S404)。この際、認可サービスモジュール212は、ユーザを認証するために、図6(A)に示す認証画面であるログイン画面601をサービス連携アプリケーション301に表示する。
ユーザは、サービス連携アプリケーション301に示されたログイン画面601に対して、ユーザID、パスワードを入力して、ログインする(S405)。ここで、ユーザは図10(A)のユーザID「user001」のユーザID1201、パスワード1202の組を使ってログイン操作をする。すると、サービス連携アプリケーション301はフロア機管理サービスモジュール221を介して、認可サービスモジュール212にユーザが入力したユーザID、パスワードを含むログインリクエストを送信する(S406)。認可サービスモジュール212は、受信したユーザID、パスワードの情報の組を、ユーザ管理テーブル1200に登録されている情報と合っているか検証する。登録されている情報と合っていれば、ログインしたユーザが正規のユーザであるとして、すなわち、認証成功として認証情報を生成する。もし、ユーザID、パスワードの情報の組が一致しなければ、認証エラーとして、認可サービスモジュール212がフロア機管理サービスモジュール221に再度S404のログイン要求を送信する。なお、S401の操作をする前にログイン済みの場合は、S404からS406の処理をスキップする。
Upon receiving the authorization request, the authorization service module 212 makes a login request to the service cooperation application 301 via the floor machine management service module 221 (S404). At this time, the authorization service module 212 displays a login screen 601 that is an authentication screen shown in FIG. 6A on the service cooperation application 301 in order to authenticate the user.
The user logs in by entering a user ID and password on the login screen 601 shown in the service cooperation application 301 (S405). Here, the user performs a login operation using a pair of the user ID 1201 and the password 1202 of the user ID “user001” in FIG. Then, the service cooperation application 301 transmits a login request including the user ID and password input by the user to the authorization service module 212 via the floor machine management service module 221 (S406). The authorization service module 212 verifies whether the received user ID and password information matches the information registered in the user management table 1200. If it matches with the registered information, it is determined that the logged-in user is a legitimate user, that is, authentication information is generated as successful authentication. If the set of user ID and password information does not match, the authorization service module 212 transmits the login request of S404 again to the floor machine management service module 221 as an authentication error. Note that if the user has logged in before performing the operation in S401, the processing from S404 to S406 is skipped.

認証が成功すれば、次に、認可リクエストに含まれているリダイレクトURLがフロア機管理サービスモジュール221のクライアントのリダイレクトURLかを検証する。その際、認可サービスモジュール212は、認可リクエストに含まれているクライアントIDとリダイレクトURLの組みが、クライアント管理テーブル1300に登録されている情報と合っているか検証する(S407)。もし認可リクエストのリダイレクトURLとクライアントに登録されているリダイレクトURLが一致しない場合は、フロア機管理サービスモジュール221にリダイレクトURLのエラーレスポンスを返却する。なお、フロア機管理サービスモジュール221はリダイレクトのエラーをリダイレクトしてはいけない。   If the authentication is successful, it is next verified whether the redirect URL included in the authorization request is the redirect URL of the client of the floor machine management service module 221. At that time, the authorization service module 212 verifies whether the combination of the client ID and the redirect URL included in the authorization request matches the information registered in the client management table 1300 (S407). If the redirect URL of the authorization request and the redirect URL registered in the client do not match, an error response of the redirect URL is returned to the floor machine management service module 221. Note that the floor machine management service module 221 must not redirect a redirect error.

認可リクエストのリダイレクトURLとクライアントに登録されているリダイレクトURLが一致し、リダイレクトURL検証が成功した場合、認可サービスモジュール212はクライアントが権限委譲可能なクライアントのリストを取得する(S408)。この処理では、まず、クライアント管理テーブル1300から、フロア機管理サービスのクライアントのアプリケーションID1304を取得する。次に、クライアント信頼関係管理テーブル1500で、前処理で取得したクライアントのアプリケーションID1304とトークン発行クライアント1501が一致するレコードの権限委譲可能クライアント1502を取得する。そして、クライアント管理テーブル1300から、前処理で取得した権限委譲可能クライアント1502の値とアプリケーションID1304の値が一致するレコードを取得する。取得したレコードのリストが、フロア機管理サービスの権限委譲可能なクライアントのリストとなる。   If the redirect URL of the authorization request matches the redirect URL registered in the client and the redirect URL verification is successful, the authorization service module 212 acquires a list of clients to which the client can delegate authority (S408). In this process, first, an application ID 1304 of the client of the floor machine management service is acquired from the client management table 1300. Next, in the client trust relationship management table 1500, the authority transferable client 1502 of the record in which the client application ID 1304 and the token issuing client 1501 acquired in the preprocessing match is acquired. Then, a record in which the value of the authority delegable client 1502 acquired in the preprocessing and the value of the application ID 1304 match is acquired from the client management table 1300. The acquired list of records becomes a list of clients to which authority of the floor machine management service can be transferred.

そして、図6(B)に示す認可画面602を生成しサービス連携アプリケーション301に応答する(S409)。その際、S408で取得したフロア機管理サービスの権限委譲可能なクライアントのリストが認可確認画面に表示される。なお、認可確認画面には、本実施形態で説明した情報以外に、ここにクライアントの詳細な説明を追加して表示する事や、ログインしているユーザの情報を表示するよう構成する事もできる。また、認可リクエストにスコープを含む場合は、当該スコープの範囲を説明するアクセスするリソースに関する情報を認可画面602に表示するよう構成する事も出来る。また、認証情報をサービス連携アプリケーション301に対してCookie情報として格納して応答する。   Then, the authorization screen 602 shown in FIG. 6B is generated and responded to the service cooperation application 301 (S409). At this time, the list of clients that can transfer the authority of the floor machine management service acquired in S408 is displayed on the authorization confirmation screen. In addition to the information described in this embodiment, the authorization confirmation screen can be configured to display a detailed description of the client added here or to display information of the logged-in user. . When the authorization request includes a scope, the authorization screen 602 can be configured to display information on the resource to be accessed that explains the scope of the scope. In addition, the authentication information is stored as cookie information to the service cooperation application 301 and responds.

次に、ユーザはサービス連携アプリケーション301に表示された認可画面602で権限委譲を許可する指示を行う(S410)。ユーザの指示を受けたサービス連携アプリケーション301は、認可サービスモジュール212に認可操作の結果である指示を返却する(S411)。
許可する指示を受けた認可サービスモジュール212は、次の処理を実行する。認可トークン管理テーブル1400に認可コードを発行し、登録する。その際、認可トークンID1401に発行したトークンのID、トークン種別1402に認可コード、有効期限1403、および、認可リクエスト時に受け付けたクライアントIDをクライアントID1407に登録する。さらに、サービス連携アプリケーション301からCookieとして送信された認証情報に紐づくユーザIDをユーザID1408に登録する(S412)。そして、認可コード応答として、サービス連携アプリケーション301のリダイレクトURLに対して認可コードの認可トークンIDを返却する(S413)。
Next, the user gives an instruction to permit authority transfer on the authorization screen 602 displayed on the service cooperation application 301 (S410). Upon receiving the user instruction, the service cooperation application 301 returns an instruction as a result of the authorization operation to the authorization service module 212 (S411).
Upon receiving the permission instruction, the authorization service module 212 executes the following process. An authorization code is issued and registered in the authorization token management table 1400. At this time, the ID of the token issued to the authorization token ID 1401, the authorization code in the token type 1402, the expiration date 1403, and the client ID received at the time of the authorization request are registered in the client ID 1407. Furthermore, the user ID associated with the authentication information transmitted as a cookie from the service cooperation application 301 is registered in the user ID 1408 (S412). Then, as the authorization code response, the authorization token ID of the authorization code is returned to the redirect URL of the service cooperation application 301 (S413).

認可コード応答を受けたフロア機管理サービスモジュール221は、認可サービスモジュール212に対して認可トークン要求を行う(S414)。この認可トークン要求には、認可コード応答で取得した認可コードの認可トークンID、フロア機管理サービスモジュールのクライアントID1301、クライアント名1302、リダイレクトURL1303を含む。
認可トークン要求を受けた認可サービスモジュール212は以下の検証を行い、正しい場合は、第1の認可トークン(第1の認可情報)を生成する(S415)。認可サービスモジュール212は、トークン要求で受けつけたクライアントID、クライアント名の組が、ユーザ管理テーブル1200に登録されているユーザID1201、パスワード1202の組と合っているか検証する。次に、トークン要求で受けつけた認可コードの認可トークンIDが、認可トークン管理テーブル1400に登録されているか、有効期限内かを検証する。そして、トークン要求で受けつけたクライアントIDが、認可トークン管理テーブル1400の認可トークンIDで特定されるクライアントID1407と合っているか検証する。さらに、トークン要求で受けつけたリダイレクトURLが、クライアント管理テーブル1300のリダイレクトURL1303と合っているかを検証する。ここで、リダイレクトURL1303は、クライアント管理テーブル1300ではなく、認可トークン管理テーブル1400にカラムを追加し、認可コード発行時に登録して、該追加カラムと検証するよう構成する事もできる。
Upon receiving the authorization code response, the floor machine management service module 221 makes an authorization token request to the authorization service module 212 (S414). This authorization token request includes the authorization token ID of the authorization code acquired by the authorization code response, the client ID 1301 of the floor machine management service module, the client name 1302, and the redirect URL 1303.
Upon receiving the authorization token request, the authorization service module 212 performs the following verification. If it is correct, the authorization service module 212 generates a first authorization token (first authorization information) (S415). The authorization service module 212 verifies whether the combination of the client ID and the client name received in the token request matches the combination of the user ID 1201 and the password 1202 registered in the user management table 1200. Next, it is verified whether the authorization token ID of the authorization code received in the token request is registered in the authorization token management table 1400 or within the expiration date. Then, it is verified whether the client ID received in the token request matches the client ID 1407 specified by the authorization token ID in the authorization token management table 1400. Furthermore, it is verified whether the redirect URL received in the token request matches the redirect URL 1303 of the client management table 1300. Here, the redirect URL 1303 can be configured to add a column to the authorization token management table 1400 instead of the client management table 1300, register it when issuing the authorization code, and verify the added column.

これらすべての検証が正しい場合に、認可サービスモジュール212は、認可トークンを生成する。その際、認可サービスモジュール212は認可トークン管理テーブル1400に第1の認可トークンの情報を保存する。第1の認可トークンには、認可トークンID1401に発行したトークンのID、トークン種別1402に認可トークン、有効期限1403を登録する。第1の認可トークンにはさらに、認可コードから引き継ぐ情報として、クライアントID1407、ユーザID1408、アプリケーションID1409を登録する。この際登録されるアプリケーションIDは、クライアント管理テーブル1300のクライアントID1301がクライアントID1407と一致するクライアントのアプリケーションID1304の値である。また、認可トークンをリフレッシュするためのリフレッシュトークンを発行し、リフレッシュトークンID1405、リフレッシュ期限1406を登録する。その後、生成した第1の認可トークンの認可トークンID1401をフロア機管理サービスモジュール221に応答する。この際、応答内容として同時に発行したリフレッシュトークンIDも含む(S416)。   If all these verifications are correct, the authorization service module 212 generates an authorization token. At this time, the authorization service module 212 stores the information of the first authorization token in the authorization token management table 1400. In the first authorization token, the ID of the token issued as the authorization token ID 1401, the authorization token and the expiration date 1403 as the token type 1402 are registered. Further, a client ID 1407, a user ID 1408, and an application ID 1409 are registered in the first authorization token as information inherited from the authorization code. The application ID registered at this time is the value of the client application ID 1304 in which the client ID 1301 of the client management table 1300 matches the client ID 1407. Also, a refresh token for refreshing the authorization token is issued, and a refresh token ID 1405 and a refresh time limit 1406 are registered. Then, the authorization token ID 1401 of the generated first authorization token is returned to the floor machine management service module 221. At this time, the refresh token ID issued simultaneously as the response content is also included (S416).

フロア機管理サービスモジュール221はフロア機の利用状況のデータを出力する(S417)。そして、フロア機管理サービスモジュール221はS416で取得した第1の認可トークンとS417で出力したフロア機利用状況のデータを帳票サービスモジュール241に渡し、リソース要求として帳票出力を依頼する(S418)。リソース要求を受けた帳票サービスモジュール241は、要求に含まれる第1の認可トークンの認可トークンIDのトークン検証を認可サービスモジュール212に対して要求する(S419)。この認可トークン検証要求には、スコープを含める事ができる。   The floor machine management service module 221 outputs data on the usage status of the floor machine (S417). Then, the floor machine management service module 221 passes the first authorization token acquired in S416 and the floor machine usage status data output in S417 to the form service module 241, and requests the form output as a resource request (S418). Upon receiving the resource request, the form service module 241 requests the authorization service module 212 to verify the token of the authorization token ID of the first authorization token included in the request (S419). This authorization token verification request can include a scope.

第1の認可トークン検証要求を受けた認可サービスモジュール212は、受け付けた認可トークンIDが、認可トークン管理テーブル1400に登録されているか、有効期限内か、および、受け付けたスコープがスコープ1404の範囲内かを検証する。そして、検証結果を帳票サービスモジュール241に応答する(S420)。
検証の結果、アクセス許可と判断された場合は、帳票サービスモジュール241がフロア機の利用状況のデータを帳票出力する(S421)。
Upon receiving the first authorization token verification request, the authorization service module 212 determines whether the accepted authorization token ID is registered in the authorization token management table 1400, is within the valid period, and the accepted scope is within the scope 1404. Verify that. Then, the verification result is returned to the form service module 241 (S420).
As a result of the verification, if it is determined that access is permitted, the form service module 241 outputs a form of usage data of the floor machine (S421).

続いて、帳票サービスモジュール241が、認可サーバ200に第2の認可トークン取得要求を行う(S422)。第2の認可トークン取得要求には、S418で受け取った認可トークンの認可トークンIDと、クライアント管理テーブル1300に登録されている帳票サービスのクライアントのクライアントID、クライアント名、アプリケーションが含まれる。
第2の認可トークン取得要求を受けた認可サービスモジュール212は以下の処理を実行する。まず、第2の認可トークン取得要求に含まれるクライアントID、クライアント名の組がユーザ管理テーブル1200のユーザID1201とパスワード1202の組と合っているかを検証する。正しい場合は、第2の認可トークン取得要求に含まれる認可トークンIDが認可トークン管理テーブル1400に登録されており、有効期限内か確認する(S423)。
Subsequently, the form service module 241 makes a second authorization token acquisition request to the authorization server 200 (S422). The second authorization token acquisition request includes the authorization token ID of the authorization token received in S418, the client ID of the form service client registered in the client management table 1300, the client name, and the application.
The authorization service module 212 that has received the second authorization token acquisition request executes the following processing. First, it is verified whether the combination of the client ID and the client name included in the second authorization token acquisition request matches the combination of the user ID 1201 and the password 1202 in the user management table 1200. If it is correct, the authorization token ID included in the second authorization token acquisition request is registered in the authorization token management table 1400, and it is confirmed whether it is within the valid period (S423).

さらに、第2の認可トークン発行要求をしたクライアントが、第1の認可トークンの権限を委譲してよいクライアントか確認する(S424)。
この確認処理は、図7を用いて詳しく説明する。図7は、第2の認可トークン発行時の信頼関係確認処理のフローチャートである。
まず、認可サービスモジュール212が、認可トークン管理テーブル1400を参照し、S422で受け取った第1の認可トークンを発行したクライアントを特定する情報を取得する(S701)。本実施形態では、第1の認可トークンを発行したクライアントを特定する情報として、第1の認可トークンのアプリケーションID1409を取得する。
Further, it is confirmed whether the client that has issued the second authorization token issuance request can delegate the authority of the first authorization token (S424).
This confirmation process will be described in detail with reference to FIG. FIG. 7 is a flowchart of the trust relationship confirmation process when the second authorization token is issued.
First, the authorization service module 212 refers to the authorization token management table 1400, and acquires information that identifies the client that issued the first authorization token received in S422 (S701). In this embodiment, the application ID 1409 of the first authorization token is acquired as information that identifies the client that issued the first authorization token.

次に、認可サービスモジュール212がクライアント管理テーブル1300を参照し、第2の認可トークンの発行を要求したクライアントを特定する情報を取得する(S702)。本実施形態では、S422で受け取ったクライアントIDが一致するクライアントのアプリケーションID1304を取得する。
そして、認可サービスモジュール212は、第1の認可トークンを発行したクライアントと第2の認可トークン発行要求をしているクライアントが信頼関係にあるかどうかを確認するために、次の処理を行う。まず、認可サービスモジュール212は、クライアント信頼関係管理テーブル1500を参照し、S701で取得した第1の認可トークンのアプリケーションIDとトークン発行クライアント1501が一致するレコードを取得する。次に、取得したレコードの権限委譲可能クライアント1502とS702で取得した第2の認可トークンを発行要求したクライアントのアプリケーションIDが一致するかどうか確認する(S703)。
S703でアプリケーションIDの値が一致しない場合は、信頼できないクライアントと判断し、エラーレスポンスを返却する(705)。
Next, the authorization service module 212 refers to the client management table 1300, and acquires information identifying the client that has requested the issuance of the second authorization token (S702). In the present embodiment, the client application ID 1304 with the matching client ID received in S422 is acquired.
Then, the authorization service module 212 performs the following process in order to confirm whether or not the client that has issued the first authorization token and the client that has issued the second authorization token issuance request are in a trust relationship. First, the authorization service module 212 refers to the client trust relationship management table 1500, and acquires a record in which the application ID of the first authorization token acquired in S701 matches the token issuing client 1501. Next, it is checked whether the authority delegable client 1502 of the acquired record matches the application ID of the client that issued the second authorization token acquired in S702 (S703).
If the application ID values do not match in S703, it is determined that the client is not reliable, and an error response is returned (705).

S703でアプリケーションIDの値が一致すれば、第1の認可トークンを発行したクライアントが、第2の認可トークン発行要求をしているクライアントを信頼していると判断する。その場合、認可サービスモジュール212は、第2の認可トークンを生成する(S704)。なお、本実施形態では、クライアントの信頼関係を確認するために、認可トークンのアプリケーションID属性とクライアントのアプリケーションIDを比較した。しかし、他にクライアントを特定できて、かつ、認可トークンとクライアントが共通にもつ属性があれば、その属性を使ってクライアントの信頼関係を確認してもよい。   If the application ID values match in S703, it is determined that the client that issued the first authorization token trusts the client that has made the second authorization token issuance request. In that case, the authorization service module 212 generates a second authorization token (S704). In this embodiment, the application ID attribute of the authorization token is compared with the client application ID in order to confirm the client trust relationship. However, if there are other attributes that the client can identify and the authorization token and the client have in common, the trust relationship of the client may be confirmed using that attribute.

第2の認可トークンは、新たに認可トークンIDを発行してそのIDを認可トークンID1401に、権限引継トークンをトークン種別1402に、第2の認可トークンの有効期限を有効期限1403に登録する。クライアントID1407には、第2の認可トークン発行要求をしたクライアントのクライアントIDを登録する。スコープ1404、ユーザID1408は、第2の認可トークン取得要求で受けつけた認可トークンIDによって特定されるレコードから値を引き継ぐ。アプリケーションID1409には、レコードのアプリケーションID1409に、第2の認可トークン発行要求で受け付けたクライアントのアプリケーションID1304の値を結合した値を保存する。レコードのアプリケーションID1409は、第2の認可トークン発行要求で受けつけた認可トークンIDによって特定されるレコードのアプリケーションID1409である。第2の認可トークンのアプリケーションID1409は、認可トークン発行時に経由したクライアントの特定に利用できる。そして、認可サービスモジュール212は、帳票サービスモジュール241に、生成した第2の認可トークンの認可トークンID1401を応答する(S425)。なお、第1の認可トークンから第2の認可トークンを発行する際の権限委譲については、S410で事前にユーザからの認可確認済みである。よって、改めてユーザに権限委譲することを通知しユーザの認可を受ける必要はないため、認可確認画面は表示しない。   For the second authorization token, a new authorization token ID is issued, the ID is registered in the authorization token ID 1401, the authority takeover token is registered in the token type 1402, and the expiration date of the second authorization token is registered in the expiration date 1403. In the client ID 1407, the client ID of the client that has made the second authorization token issue request is registered. The scope 1404 and user ID 1408 inherit the values from the record specified by the authorization token ID received in the second authorization token acquisition request. In the application ID 1409, a value obtained by combining the value of the client application ID 1304 received by the second authorization token issue request with the application ID 1409 of the record is stored. The application ID 1409 of the record is the application ID 1409 of the record specified by the authorization token ID received in the second authorization token issue request. The application ID 1409 of the second authorization token can be used to identify the client that has passed through when issuing the authorization token. Then, the authorization service module 212 returns the authorization token ID 1401 of the generated second authorization token to the form service module 241 (S425). Note that the authority transfer when issuing the second authorization token from the first authorization token has been confirmed by the user in advance in S410. Therefore, the authorization confirmation screen is not displayed because it is not necessary to notify the user of authority delegation again and receive the user's authorization.

その後、フロア機管理サービスモジュール221はS425で取得した第2の認可トークンとS421で出力したフロア機利用状況の帳票データを印刷サービスモジュール261に渡し、リソース要求として印刷を依頼する(S426)。
リソース要求を受けた印刷サービスモジュール261は、要求に含まれる第2の認可トークンの認可トークンIDの認可トークン検証を認可サービスモジュール212に対して要求する(S427)。認可トークン検証要求を受けた認可サービスモジュール212は、受け付けた認可トークンIDが、認可トークン管理テーブル1400に登録されているか、有効期限内か、および、受け付けたスコープがスコープ1404の範囲内かを検証する。そして、検証結果を印刷サービスモジュール261に応答する(S428)。
Thereafter, the floor machine management service module 221 passes the second authorization token acquired in S425 and the form data of the floor machine usage status output in S421 to the print service module 261, and requests printing as a resource request (S426).
Upon receiving the resource request, the print service module 261 requests the authorization service module 212 to verify the authorization token of the authorization token ID of the second authorization token included in the request (S427). Upon receiving the authorization token verification request, the authorization service module 212 verifies whether the accepted authorization token ID is registered in the authorization token management table 1400, whether it is within the validity period, and whether the accepted scope is within the scope 1404 range. To do. Then, the verification result is returned to the print service module 261 (S428).

検証の結果、アクセス許可と判断された場合は、印刷サービスモジュール261がフロア機の利用状況の帳票データを印刷する(S429)。
以上により、フロア機管理サービス、帳票サービス、印刷サービスを連携することで、フロア機の利用状況のデータを帳票データに加工し、さらに、その帳票データを印刷するサービスを実現できる。なお、本実施形態では、3つのサービスを連携したサービスの提供の例を説明したが、S418からS429の処理を繰り返すことで、3つ以上のサービスを連携したサービスも実現できる。
As a result of the verification, if it is determined that access is permitted, the print service module 261 prints the form data on the usage status of the floor machine (S429).
As described above, by linking the floor machine management service, the form service, and the printing service, it is possible to realize a service that processes the usage data of the floor machine into form data and prints the form data. In the present embodiment, an example of providing a service in which three services are linked has been described. However, a service in which three or more services are linked can be realized by repeating the processing from S418 to S429.

本実施形態によれば、認可トークンの漏洩リスクを低減し、かつ、ユーザの同意を得て、3つ以上のサービスに権限委譲することで、3つ以上のサービスの連携を実現できるようになる。   According to the present embodiment, the risk of leakage of the authorization token is reduced, and the cooperation of three or more services can be realized by delegating authority to three or more services with the user's consent. .

(第2実施形態)
第1実施形態では、権限委譲可能なクライアントが増減すると、その都度、クライアント信頼関係管理テーブル1500にそのクライアントを追加する必要がある。また、ユーザに権限委譲するクライアントが増えることに同意してもらう必要がある。そこで、第2実施形態では、3つ以上のサービスを連携したサービスも実現する際に、権限委譲可能なクライアントが増減の度にクライアント信頼関係テーブルの情報をメンテナンスせずにすむようにすることを目的とする。
なお、第2実施形態は、第1実施形態とほぼ同様のため、異なる部分について以下、説明する。
(Second Embodiment)
In the first embodiment, whenever the number of clients to which authority can be delegated increases or decreases, it is necessary to add the clients to the client trust relationship management table 1500. In addition, it is necessary to have the user agree that more clients will delegate authority. Therefore, in the second embodiment, when realizing a service in which three or more services are linked, the purpose of delegating a client is to avoid maintenance of information in the client trust relationship table every time the number is increased or decreased. And
Since the second embodiment is substantially the same as the first embodiment, different parts will be described below.

図12(B)は認可サーバ200が外部メモリに記憶するクライアント信頼関係管理テーブル1600である。クライアント信頼関係管理テーブル1600は、第1実施形態の図12(A)と同様に、第1の認可トークンを発行したクライアントと第2の認可トークン発行要求をしているクライアントの信頼関係を確認するために用いる。クライアント信頼関係管理テーブル1600において、権限委譲可能クライアント1602は、クライアントのアプリケーションIDと比較するための文字列である。権限委譲可能クライアント1602には、正規表現を含む文字列を設定できる。   FIG. 12B shows a client trust relationship management table 1600 that the authorization server 200 stores in the external memory. As in FIG. 12A of the first embodiment, the client trust relationship management table 1600 confirms the trust relationship between the client that issued the first authorization token and the client that has issued the second authorization token issuance request. Use for. In the client trust relationship management table 1600, the authority transferable client 1602 is a character string for comparison with the application ID of the client. In the authority transferable client 1602, a character string including a regular expression can be set.

図8は、第2実施形態におけるフロア機管理サービス、帳票サービス、印刷サービスの3つのサービスを連携したサービスを提供する処理シーケンスである。次のS801の処理が、第1実施形態の図4及び図5の処理シーケンスと異なる部分である。以下、処理内容を説明する。
認可サービスモジュール212はクライアントが権限委譲可能なクライアントのリストを取得する(S801)。この処理では、まず、クライアント管理テーブル1300から、フロア機管理サービスのクライアントのアプリケーションID1304を取得する。次に、クライアント信頼関係管理テーブル1600で、前処理で取得したクライアントのアプリケーションID1304とトークン発行クライアント1601が一致するレコードの権限委譲可能クライアント1602を取得する。そして、クライアント管理テーブル1300から、前処理で取得した権限委譲可能クライアント1602の正規表現の値にマッチするアプリケーションID1304をもつクライアントのレコードを取得する。取得したリストが、フロア機管理サービスの権限委譲可能なクライアントのリストとなる。
FIG. 8 is a processing sequence for providing a service that links the three services of the floor machine management service, the form service, and the printing service in the second embodiment. The processing of the next S801 is a part different from the processing sequence of FIGS. 4 and 5 of the first embodiment. The processing contents will be described below.
The authorization service module 212 acquires a list of clients to which the client can delegate authority (S801). In this process, first, an application ID 1304 of the client of the floor machine management service is acquired from the client management table 1300. Next, in the client trust relationship management table 1600, the authority transferable client 1602 of the record in which the client application ID 1304 acquired in the preprocessing and the token issuing client 1601 match is acquired. Then, a client record having an application ID 1304 that matches the value of the regular expression of the authority transferable client 1602 acquired in the preprocessing is acquired from the client management table 1300. The acquired list becomes a list of clients that can delegate authority of the floor machine management service.

図9は、第2の実施形態におけるクライアントの信頼関係確認処理を示す図である。次のS901の処理が第1実施形態と異なる部分である。以下、処理内容を説明する。
図8のクライアントの信頼関係確認処理では、図12(A)の代わりに図12(B)を参照して、次の処理を行う。S702で第2の認可トークンを発行要求したクライアントのアプリケーションIDが、S801で取得したクライアント信頼関係管理テーブル1600のレコードの権限委譲可能クライアント1602の正規表現にマッチするかどうかを確認する。(S901)。
FIG. 9 is a diagram illustrating a client trust relationship confirmation process according to the second embodiment. The process of the next S901 is different from the first embodiment. The processing contents will be described below.
In the client trust relationship confirmation processing of FIG. 8, the following processing is performed with reference to FIG. 12B instead of FIG. It is confirmed whether or not the application ID of the client that issued the second authorization token in S702 matches the regular expression of the authority transferable client 1602 in the record of the client trust relationship management table 1600 acquired in S801. (S901).

第2実施形態では、クライアントのアプリケーションIDがcom.example.*またはjp.example.*に一致するクライアント全てに対する権限委譲について、ユーザの許可をあらかじめ取得しておくことができる。そのため、権限委譲可能なクライアントが増減にも対応できる。また、3つ以上のサービスを連携したサービスも実現する際に、権限委譲可能なクライアントが増減の度にクライアント信頼関係テーブルの情報をメンテナンスせずにすむようになる。   In the second embodiment, the client application ID is com. example. * Or jp. example. User permission can be acquired in advance for authority delegation to all clients that match *. For this reason, it is possible to deal with an increase or decrease in the number of clients that can be delegated authority. Further, when realizing a service in which three or more services are linked, it is not necessary to maintain the information in the client trust relationship table every time the number of clients to which authority can be delegated increases or decreases.

(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other examples)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
As mentioned above, although preferable embodiment of this invention was described, this invention is not limited to these embodiment, A various deformation | transformation and change are possible within the range of the summary.

Claims (11)

ネットワークを介してサービスを提供する第1のクライアントおよび第2のクライアントおよびサービス提供装置と、認可サーバとを含む権限委譲システムであって、
前記第1のクライアントは、
ユーザから前記第1のクライアントに対し特定の権限が委譲されたことを示す第1の認可情報を基に、前記第2のクライアントのサービスを利用する第1の利用手段を有し、
前記認可サーバは、
前記第1の利用手段による利用に伴い送信される前記第1の認可情報から前記第1のクライアントを特定し、特定された前記第1のクライアントと前記第2のクライアントが関連付いているか否かを確認する確認手段と、
前記確認手段により関連付いていると確認されたことに応じ、前記第2のクライアントに対し特定の権限が委譲されたことを示す第2の認可情報を発行する発行手段と、を有し、
前記第2のクライアントは、
前記発行手段から提供された前記第2の認可情報を基に、前記サービス提供装置のサービスを利用する第2の利用手段と、を有する
ことを特徴とする権限委譲システム。
An authority delegation system including a first client and a second client and a service providing apparatus that provide a service via a network, and an authorization server,
The first client is
Based on first authorization information indicating that a specific authority has been delegated from the user to the first client, and having a first using means for using the service of the second client;
The authorization server is
Whether the first client is identified from the first authorization information transmitted in association with the use by the first utilization means, and whether the identified first client and the second client are associated with each other Confirmation means for confirming,
Issuing means for issuing second authorization information indicating that specific authority has been delegated to the second client in response to the confirmation by the confirmation means;
The second client is
An authority delegation system comprising: a second use unit that uses a service of the service providing apparatus based on the second authorization information provided from the issuing unit.
前記認可サーバは、
ユーザが操作する端末にて表示される認証画面を介して入力された認証情報を基に、前記ユーザが正規のユーザであるか否かを判断する認証手段と、
前記発行手段は、さらに、前記認証手段により正規のユーザであると判断された前記ユーザが前記端末にて表示される認可画面を介し、前記第2のクライアントのサービスにおける前記ユーザの権限を前記第1のクライアントへ委譲することを許可する指示をした場合、前記ユーザの権限が前記第1のクライアントへ委譲されたことを示す前記第1の認可情報を発行する
ことを特徴とする請求項1に記載の権限委譲システム。
The authorization server is
Authentication means for determining whether or not the user is a legitimate user based on authentication information input via an authentication screen displayed on a terminal operated by the user;
The issuing means further controls the authority of the user in the service of the second client via an authorization screen displayed on the terminal by the user determined to be a legitimate user by the authentication means. The first authorization information indicating that the authority of the user is delegated to the first client is issued when an instruction to permit delegation to one client is issued. The authority delegation system described.
前記認可画面には、前記第2のクライアントのサービスにおける前記ユーザの権限を委譲する前記第1のクライアント、及び、前記第1のクライアントが権限委譲可能なクライアントのリストが表示されている
ことを特徴とする請求項2に記載の権限委譲システム。
The authorization screen displays a list of the first client that delegates the authority of the user in the service of the second client, and a client to which the first client can delegate authority. The authority delegation system according to claim 2.
前記認可サーバは、
前記第1の利用手段による利用に伴い送信される前記第1の認可情報を基に、前記第1の利用手段が前記ユーザの権限で前記第2のクライアントのサービスを利用することを認可するか否かを検証する第1の認可手段と、
前記第2の利用手段による利用に伴い送信される前記第2の認可情報を基に、前記第2の利用手段が前記ユーザの権限で前記サービス提供装置のサービスを利用することを認可するか否かを検証する第2の認可手段と、を有する
ことを特徴とする請求項1乃至3のいずれか1項に記載の権限委譲システム。
The authorization server is
Whether to authorize the first usage means to use the service of the second client with the authority of the user based on the first authorization information transmitted along with the usage by the first usage means A first authorization means for verifying whether or not,
Whether or not to authorize the second usage unit to use the service of the service providing apparatus with the authority of the user, based on the second authorization information transmitted along with the usage by the second usage unit. The authority delegation system according to any one of claims 1 to 3, further comprising: a second authorization unit for verifying the above.
前記認可サーバは、
クライアント間の権限引継の可否の情報を記憶する記憶手段を有し、
前記確認手段は、前記記憶手段が記憶する前記クライアント間の権限引継の可否の情報に基づき、特定された前記第1のクライアントと前記第2のクライアントが関連付いているか否かを確認する
ことを特徴とする請求項1乃至4のいずれか1項に記載の権限委譲システム。
The authorization server is
Having storage means for storing information on whether or not authority can be transferred between clients;
The confirmation means confirms whether or not the identified first client and the second client are associated with each other based on information on whether or not authority can be taken over between the clients stored in the storage means. The authority delegation system according to any one of claims 1 to 4, characterized in that:
前記クライアント間の権限引継の可否の情報は、前記第1の認可情報に含まれるアプリケーションIDと前記第2のクライアントのアプリケーションIDの組み合わせである
ことを特徴とする請求項1乃至5のうちいずれか1項に記載の権限委譲システム。
6. The information as to whether or not authority can be taken over between the clients is a combination of an application ID included in the first authorization information and an application ID of the second client. The authority delegation system according to item 1.
前記クライアント間の権限引継の可否の情報は、前記第1の認可情報に含まれるアプリケーションIDと、前記第2のクライアントのアプリケーションIDと比較するための文字列の組み合わせである
ことを特徴とする請求項1乃至5のうちいずれか1項に記載の権限委譲システム。
The information as to whether or not authority can be transferred between the clients is a combination of an application ID included in the first authorization information and a character string for comparison with the application ID of the second client. Item 6. The authority delegation system according to any one of Items 1 to 5.
前記第1の認可情報は、認可トークンID、トークン種別、有効期限、スコープ、クライアントID、ユーザID、アプリケーションID、リフレッシュトークンID、リフレッシュ期限のうち少なくとも1つ以上を含み、
前記スコープは、前記第2のクライアント及び前記サービス提供装置で利用できるサービスの範囲であり、
前記第2の認可情報は、認可トークンID、トークン種別、有効期限、スコープ、クライアントID、ユーザID、アプリケーションIDのうち少なくとも1つ以上を含む
ことを特徴とする請求項1乃至7のうちいずれか1項に記載の権限委譲システム。
The first authorization information includes at least one of an authorization token ID, a token type, an expiration date, a scope, a client ID, a user ID, an application ID, a refresh token ID, and a refresh time limit,
The scope is a range of services that can be used by the second client and the service providing apparatus,
The second authorization information includes at least one of an authorization token ID, a token type, an expiration date, a scope, a client ID, a user ID, and an application ID. The authority delegation system according to item 1.
ネットワークを介してサービスを提供する第1のクライアントおよび第2のクライアントおよびサービス提供装置と、認可サーバとを含む権限委譲システムの制御方法であって、
前記第1のクライアントは、
ユーザから前記第1のクライアントに対し特定の権限が委譲されたことを示す第1の認可情報を基に、前記第2のクライアントのサービスを利用する第1の利用工程を有し、
前記認可サーバは、
前記第1の利用工程において利用に伴い送信される前記第1の認可情報から前記第1のクライアントを特定し、特定された前記第1のクライアントと前記第2のクライアントが関連付いているか否かを確認する確認工程と、
前記確認工程において関連付いていると確認されたことに応じ、前記第2のクライアントに対し特定の権限が委譲されたことを示す第2の認可情報を発行する発行工程と、を有し、
前記第2のクライアントは、
前記発行工程より提供された前記第2の認可情報を基に、前記サービス提供装置のサービスを利用する第2の利用工程と、を有する
ことを特徴とする権限委譲システムの制御方法。
A control method of an authority delegation system including a first client and a second client and a service providing apparatus that provide a service via a network, and an authorization server,
The first client is
Based on first authorization information indicating that a specific authority has been delegated from the user to the first client; and using a service of the second client;
The authorization server is
Whether the first client is specified from the first authorization information transmitted with use in the first use step, and whether the specified first client and the second client are associated with each other A confirmation process to confirm,
Issuing a second authorization information indicating that specific authority has been delegated to the second client in response to being confirmed to be associated in the confirmation step;
The second client is
And a second usage step of using the service of the service providing apparatus based on the second authorization information provided in the issuing step.
ネットワークを介してサービスを提供する第1のクライアントおよび第2のクライアントおよびサービス提供装置と接続された認可サーバであって、
ユーザが操作する端末にて表示される認証画面を介して入力された認証情報を基に、前記ユーザが正規のユーザであるか否かを判断する認証手段と、
前記認証手段により正規のユーザであると判断された前記ユーザが前記端末にて表示される認可画面を介し、前記第2のクライアントのサービスにおける前記ユーザの権限を前記第1のクライアントへ委譲することを許可する指示をした場合、前記ユーザの権限が前記第1のクライアントへ委譲されたことを示す前記第1の認可情報を発行する第1の発行手段と、
前記第1のクライアントから送信される前記第1の認可情報を基に、前記第1の利用手段が前記ユーザの権限で前記第2のクライアントのサービスを利用することを認可するか否かを検証する認可手段と、
前記第1のクライアントから送信される前記第1の認可情報から前記第1のクライアントを特定し、特定された前記第1のクライアントと前記第2のクライアントが関連付いているか否かを確認する確認手段と、
前記確認手段により関連付いていると確認されたことに応じ、前記第2のクライアントに対し特定の権限が委譲されたことを示す第2の認可情報を発行する第2の発行手段と、
前記第2クライアントから送信される前記第2の認可情報を基に、前記第2のクライアントが前記ユーザの権限で前記サービス提供装置のサービスを利用することを認可するか否かを検証する第2の認可手段と、を有する
ことを特徴とする認可サーバ。
An authorization server connected to a first client and a second client that provide a service via a network and a service providing apparatus;
Authentication means for determining whether or not the user is a legitimate user based on authentication information input via an authentication screen displayed on a terminal operated by the user;
Delegating the authority of the user in the service of the second client to the first client via the authorization screen displayed on the terminal by the user determined to be a legitimate user by the authentication means A first issuing means for issuing the first authorization information indicating that the authority of the user has been delegated to the first client;
Based on the first authorization information transmitted from the first client, it is verified whether or not the first utilization means authorizes the use of the service of the second client with the authority of the user. Authorization means to
Confirmation that identifies the first client from the first authorization information transmitted from the first client, and confirms whether the identified first client and the second client are associated with each other. Means,
Second issuing means for issuing second authorization information indicating that specific authority has been delegated to the second client in response to being confirmed to be associated by the confirmation means;
Based on the second authorization information transmitted from the second client, the second client verifies whether or not to authorize the use of the service of the service providing apparatus with the authority of the user. And an authorization server.
コンピュータを請求項10に記載の認可サーバが備える各手段として機能させるためのプログラム。   The program for functioning a computer as each means with which the authorization server of Claim 10 is provided.
JP2015220663A 2015-11-10 2015-11-10 Authority delegation system, control method thereof, authorization server, and program Pending JP2017091221A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015220663A JP2017091221A (en) 2015-11-10 2015-11-10 Authority delegation system, control method thereof, authorization server, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015220663A JP2017091221A (en) 2015-11-10 2015-11-10 Authority delegation system, control method thereof, authorization server, and program

Publications (1)

Publication Number Publication Date
JP2017091221A true JP2017091221A (en) 2017-05-25

Family

ID=58768649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015220663A Pending JP2017091221A (en) 2015-11-10 2015-11-10 Authority delegation system, control method thereof, authorization server, and program

Country Status (1)

Country Link
JP (1) JP2017091221A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7542030B2 (en) 2022-04-01 2024-08-29 株式会社ジェーシービー PROGRAM, INFORMATION PROCESSING APPARATUS AND INFORMATION PROCESSING METHOD

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7542030B2 (en) 2022-04-01 2024-08-29 株式会社ジェーシービー PROGRAM, INFORMATION PROCESSING APPARATUS AND INFORMATION PROCESSING METHOD

Similar Documents

Publication Publication Date Title
JP6066647B2 (en) Device apparatus, control method thereof, and program thereof
US9043591B2 (en) Image forming apparatus, information processing method, and storage medium
JP6061633B2 (en) Device apparatus, control method, and program thereof.
US9985962B2 (en) Authorization server, authentication cooperation system, and storage medium storing program
JP6124687B2 (en) Image forming apparatus, server apparatus, information processing method, and program
JP6643373B2 (en) Information processing system, control method and program therefor
JP6198477B2 (en) Authority transfer system, authorization server system, control method, and program
US9401911B2 (en) One-time password certificate renewal
US20230370265A1 (en) Method, Apparatus and Device for Constructing Token for Cloud Platform Resource Access Control
US9185102B2 (en) Server system and control method
US9686257B2 (en) Authorization server system, control method thereof, and storage medium
CN106856475A (en) Authorization server and certification cooperative system
JP2018092446A (en) Authentication approval system, information processing apparatus, authentication approval method, and program
JP2016009466A (en) Web service system, authentication approval device, information processing device, information processing method, and program
JP2017120502A (en) Method for registering iot device to cloud service
JP2014142732A (en) Authority delegation system
JP2017091221A (en) Authority delegation system, control method thereof, authorization server, and program
JP2016085638A (en) Server device, terminal device, system, information processing method, and program
JP2019128858A (en) Apparatus approval system
JP2015118459A (en) Image formation device, information terminal, server device, data processing system, communication method for image formation device, communication method for information terminal, communication method for server device, and program
US20230388311A1 (en) Network system and control method thereof
JP2017126191A (en) Giving authority system, information processing device and control method
JP5860421B2 (en) Decoding method and decoding system