JP2019164590A - API providing system, authentication server, API providing method, and program - Google Patents

API providing system, authentication server, API providing method, and program Download PDF

Info

Publication number
JP2019164590A
JP2019164590A JP2018052047A JP2018052047A JP2019164590A JP 2019164590 A JP2019164590 A JP 2019164590A JP 2018052047 A JP2018052047 A JP 2018052047A JP 2018052047 A JP2018052047 A JP 2018052047A JP 2019164590 A JP2019164590 A JP 2019164590A
Authority
JP
Japan
Prior art keywords
authentication
api
user terminal
providing
user
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.)
Granted
Application number
JP2018052047A
Other languages
Japanese (ja)
Other versions
JP6748667B2 (en
Inventor
俊博 井上
Toshihiro Inoue
俊博 井上
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.)
Rakuten Bank Ltd
Original Assignee
Rakuten Bank Ltd
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 Rakuten Bank Ltd filed Critical Rakuten Bank Ltd
Priority to JP2018052047A priority Critical patent/JP6748667B2/en
Publication of JP2019164590A publication Critical patent/JP2019164590A/en
Application granted granted Critical
Publication of JP6748667B2 publication Critical patent/JP6748667B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

To enhance security when providing multiple APIs via a mediation system.SOLUTION: An API providing system (1) has first authentication means (103) for performing first authentication with a user terminal (30). When the first authentication is successful, first issuance means (104) issues user authentication information to the user terminal (30) and issues first authentication information for using a first API to a mediation system (2). First providing means (105) provides the first API based on the first authentication information received from the mediation system (2). Second authentication means (106) performs second authentication based on the user authentication information with the user terminal (30). When the second authentication is successful, second issuance means (108) issues second authentication information for using a second API to the mediation system (2). Second providing means (109) provides the second API based on the second authentication information received from the mediation system (2).SELECTED DRAWING: Figure 4

Description

本発明は、API提供システム、認証サーバ、API提供方法、及びプログラムに関する。   The present invention relates to an API providing system, an authentication server, an API providing method, and a program.

従来、API(Application Programming Interface)を利用して各種サービスを提供する技術が知られている。例えば、特許文献1には、認証装置と、APIを利用したサービスを提供するサービス提供装置と、サービスの提供を仲介するサービス仲介装置と、を含むシステムにおいて、認証装置によるユーザの認証が成功した場合に、サービスを利用するためのトークンを発行し、サービス仲介装置に送信することが記載されている。サービス仲介装置は、サービス提供装置に認証情報を送信し、サービス提供装置からのサービスの仲介を行う。   2. Description of the Related Art Conventionally, a technique for providing various services by using an API (Application Programming Interface) is known. For example, Patent Document 1 discloses that a user is successfully authenticated by an authentication device in a system including an authentication device, a service providing device that provides a service using an API, and a service mediation device that mediates the provision of the service. In this case, it is described that a token for using the service is issued and transmitted to the service mediating apparatus. The service mediating apparatus transmits authentication information to the service providing apparatus and mediates the service from the service providing apparatus.

また例えば、特許文献2には、電子商取引システムを通じて銀行システム内のAPIを利用する場合に、銀行システムが電子商取引システムに対してトークンを発行し、電子商取引システムが保有するトークンを利用してAPIを提供するシステムが記載されている。このシステムでは、トークン発行時の認証だけでなく、決済の際に電子商取引システムで暗証番号を入力させることによって、二段階の認証が行われる。   Further, for example, in Patent Document 2, when using an API in a bank system through an electronic commerce system, the bank system issues a token to the electronic commerce system and uses the token held by the electronic commerce system. A system that provides In this system, not only authentication at the time of token issuance but also two-step authentication is performed by inputting a personal identification number in the electronic commerce system at the time of settlement.

特許特5458888号公報Japanese Patent No. 5458888 特許特6255070号公報Japanese Patent No. 6255070

上記のような技術では、APIの利用を仲介する仲介システムに認証情報が管理されるため、仲介システムは、悪意のある第三者の攻撃対象になりがちである。この点、複数のAPIを提供する場合に、これら複数のAPIで共通のトークンを発行したとすると、第三者にトークンが漏えいすると全てのAPIが悪用される可能性があり、セキュリティ性を高めることはできない。   In the technology as described above, authentication information is managed by a mediation system that mediates the use of an API, and therefore the mediation system tends to be a target of attack by a malicious third party. In this regard, when a plurality of APIs are provided, if a common token is issued by the plurality of APIs, there is a possibility that all APIs may be abused if the token is leaked to a third party, thus improving security. It is not possible.

本発明の目的は、仲介システムを介して複数のAPIを提供する場合のセキュリティを高めることが可能なAPI提供システム、認証サーバ、API提供方法、及びプログラムを提供することである。   An object of the present invention is to provide an API providing system, an authentication server, an API providing method, and a program capable of enhancing security when providing a plurality of APIs via a mediation system.

上記課題を解決するために、本発明に係るAPI提供システムは、仲介システムを介して複数のAPIを提供するAPI提供システムであって、ユーザ端末から前記仲介システムに第1のAPIの利用要求が送信された場合に、当該利用要求に基づくリダイレクトを受けて、前記ユーザ端末との間で第1の認証を行う第1認証手段と、前記第1の認証が成功した場合に、前記ユーザ端末にユーザ認証情報を発行し、前記仲介システムに、前記第1のAPIを利用するための第1の認証情報を発行する第1発行手段と、前記仲介システムから受信した前記第1の認証情報に基づいて、前記第1のAPIを提供する第1提供手段と、前記ユーザ端末から前記仲介システムに第2のAPIの利用要求が送信された場合に、当該利用要求に基づくリダイレクトを受けて、前記ユーザ端末との間で、前記第1発行手段により発行された前記ユーザ認証情報に基づく第2の認証を行う第2認証手段と、前記第2の認証が成功した場合に、前記仲介システムに、前記第2のAPIを利用するための第2の認証情報を発行する第2発行手段と、前記仲介システムから受信した前記第2の認証情報に基づいて、前記第2のAPIを提供する第2提供手段と、を含むことを特徴とする。   In order to solve the above problems, an API providing system according to the present invention is an API providing system that provides a plurality of APIs via a mediation system, and a request for using the first API is sent from a user terminal to the mediation system. A first authentication unit that performs a first authentication with the user terminal in response to a redirect based on the use request when transmitted, and if the first authentication is successful, the user terminal Based on the first issuance means for issuing user authentication information and issuing the first authentication information for using the first API to the mediation system, and the first authentication information received from the mediation system When a request for using the second API is transmitted from the user terminal to the intermediary system, a redundance based on the use request is provided. When the second authentication is successful, the second authentication means performs second authentication based on the user authentication information issued by the first issuing means with the user terminal. A second issuing means for issuing second authentication information for using the second API to the mediation system, and the second authentication information received from the mediation system based on the second authentication information. And a second providing means for providing an API.

実施形態に係るAPI提供システムの一例を示す図である。It is a figure which shows an example of the API provision system which concerns on embodiment. ユーザが仲介システム2のサービスを利用する様子を示す画面遷移図である。It is a screen transition diagram which shows a mode that a user uses the service of the mediation system 2. FIG. 更新系APIが利用される場合の画面遷移図である。FIG. 10 is a screen transition diagram when an update API is used. 本実施形態において実現される機能を示す機能ブロック図である。It is a functional block diagram which shows the function implement | achieved in this embodiment. ユーザデータベースの一例を示す図である。It is a figure which shows an example of a user database. 口座データベースの一例を示す図である。It is a figure which shows an example of an account database. 本実施形態において実行される処理のフロー図である。It is a flowchart of the process performed in this embodiment. 本実施形態において実行される処理のフロー図である。It is a flowchart of the process performed in this embodiment. 本実施形態において実行される処理のフロー図である。It is a flowchart of the process performed in this embodiment. 本実施形態において実行される処理のフロー図である。It is a flowchart of the process performed in this embodiment.

[1.API提供システムの全体構成]
以下、本発明に係る実施形態の例について図面に基づき詳細に説明する。図1は、実施形態に係るAPI提供システムの一例を示す図である。図1に示すように、例えば、API提供システム1は、インターネットなどのネットワークNを介し、仲介システム2及びユーザ端末30の各々とデータ送受信可能である。
[1. Overall configuration of API providing system]
Hereinafter, an example of an embodiment concerning the present invention is described in detail based on a drawing. FIG. 1 is a diagram illustrating an example of an API providing system according to the embodiment. As shown in FIG. 1, for example, the API providing system 1 can exchange data with each of the mediation system 2 and the user terminal 30 via a network N such as the Internet.

API提供システム1は、複数のAPIを提供するシステムであり、少なくとも1つのコンピュータを含む。各APIは、仲介システム2に公開されている。このため、API提供システム1と仲介システム2とは連携可能であり、各APIに係る機能は、仲介システム2を介してユーザに間接的に提供される。APIの機能としては、任意の内容であってよく、例えば、金融サービス、電子商取引、保険サービス、旅行予約サービス、又はSNS(Social Networking Service)に係る機能がAPIを利用してユーザに提供されるようにしてもよい。   The API providing system 1 is a system that provides a plurality of APIs, and includes at least one computer. Each API is open to the mediation system 2. For this reason, the API providing system 1 and the mediation system 2 can be linked, and the functions related to each API are indirectly provided to the user via the mediation system 2. The API function may be any content. For example, a function related to financial service, electronic commerce, insurance service, travel reservation service, or SNS (Social Networking Service) is provided to the user using the API. You may do it.

本実施形態では、金融機関がAPI提供システム1を管理し、APIを利用して金融サービスを提供する場合を一例として説明する。金融機関は、金融取引に関する業務を営む組織であり、例えば、銀行や信用金庫といった預貯金取扱金融機関だけでなく、証券会社であってもよい。本実施形態では、金融機関が銀行であり、ユーザは、銀行の口座を開設済みであるものとする。なお、ユーザは、法人であってもよいし、個人(個人事業主を含む)であってもよい。   In this embodiment, a case where a financial institution manages the API providing system 1 and provides a financial service using the API will be described as an example. A financial institution is an organization that conducts business related to financial transactions. For example, it may be a securities company as well as a financial institution that handles deposits and savings such as banks and credit unions. In this embodiment, it is assumed that the financial institution is a bank and the user has already opened a bank account. The user may be a corporation or an individual (including an individual business owner).

例えば、API提供システム1は、サーバコンピュータであるAPI提供サーバ10を含む。API提供サーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、例えば、少なくとも1つのマイクロプロセッサを含む。記憶部12は、例えば、RAM等の主記憶部やハードディスク等の補助記憶部を含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。通信部13は、有線通信又は無線通信用の通信インタフェースを含む。通信部13は、インターネットやLANなどのネットワークを介して外部機器とのデータ送受信が可能である。   For example, the API providing system 1 includes an API providing server 10 that is a server computer. The API providing server 10 includes a control unit 11, a storage unit 12, and a communication unit 13. The control unit 11 includes, for example, at least one microprocessor. The storage unit 12 includes, for example, a main storage unit such as a RAM and an auxiliary storage unit such as a hard disk. The control unit 11 executes processing according to programs and data stored in the storage unit 12. The communication unit 13 includes a communication interface for wired communication or wireless communication. The communication unit 13 can transmit and receive data with an external device via a network such as the Internet or a LAN.

仲介システム2は、API提供システム1と連携するシステムであり、少なくとも1つのコンピュータを含む。例えば、仲介システム2は、API提供システム1が公開するAPIを利用し、ユーザの業務を支援するサービスを提供する。本実施形態では、APIを利用して金融サービスが提供される場合を説明するので、仲介システム2は、経費精算や給与振込などの会計業務を支援するシステム(例えば、いわゆるクラウド会計システム)である場合を一例として説明する。   The mediation system 2 is a system that cooperates with the API providing system 1 and includes at least one computer. For example, the mediation system 2 provides a service that supports a user's business by using an API published by the API providing system 1. In the present embodiment, a case where a financial service is provided using an API will be described. Therefore, the intermediary system 2 is a system (for example, a so-called cloud accounting system) that supports accounting operations such as expense adjustment and salary transfer. The case will be described as an example.

例えば、仲介システム2は、サーバコンピュータである仲介サーバ20を含む。仲介サーバ20は、制御部21、記憶部22、及び通信部23を含む。制御部21、記憶部22、及び通信部23のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。   For example, the mediation system 2 includes a mediation server 20 that is a server computer. The mediation server 20 includes a control unit 21, a storage unit 22, and a communication unit 23. The hardware configurations of the control unit 21, the storage unit 22, and the communication unit 23 may be the same as those of the control unit 11, the storage unit 12, and the communication unit 13, respectively.

ユーザ端末30は、ユーザが操作するコンピュータであり、例えば、パーソナルコンピュータ、携帯電話(スマートフォンを含む)、又は携帯情報端末(タブレット型端末を含む)である。ユーザ端末30は、制御部31、記憶部32、通信部33、操作部34、及び表示部35を含む。制御部31、記憶部32、及び通信部33のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。操作部34は、入力デバイスであり、例えば、タッチパネルやマウスなどのポインティングデバイス又はキーボードである。表示部35は、例えば、液晶ディスプレイ又は有機ELディスプレイである。   The user terminal 30 is a computer operated by a user, and is, for example, a personal computer, a mobile phone (including a smartphone), or a portable information terminal (including a tablet terminal). The user terminal 30 includes a control unit 31, a storage unit 32, a communication unit 33, an operation unit 34, and a display unit 35. The hardware configurations of the control unit 31, the storage unit 32, and the communication unit 33 may be the same as those of the control unit 11, the storage unit 12, and the communication unit 13, respectively. The operation unit 34 is an input device, for example, a pointing device such as a touch panel or a mouse or a keyboard. The display unit 35 is, for example, a liquid crystal display or an organic EL display.

なお、記憶部12,22,32に記憶されるものとして説明するプログラムやデータは、コンピュータ読み取り可能な情報記憶媒体(例えば、USBメモリ又はSDカード)に記憶されたものが各コンピュータに供給されるようにしてもよいし、ネットワークを介して各コンピュータに供給されるようにしてもよい。また、上記説明した各コンピュータのハードウェア構成は、上記の例に限られず、例えば、情報記憶媒体を読み取る読取部(例えば、SDカードスロット)、又は、外部機器と直接的に通信するための入出力部(例えば、USB端子)が備えられていてもよい。   The programs and data described as being stored in the storage units 12, 22, and 32 are supplied to each computer as those stored in a computer-readable information storage medium (for example, a USB memory or an SD card). Alternatively, it may be supplied to each computer via a network. In addition, the hardware configuration of each computer described above is not limited to the above example, and for example, an input for directly communicating with a reading unit (for example, an SD card slot) that reads an information storage medium or an external device. An output unit (for example, a USB terminal) may be provided.

[2.API提供システムが実行する処理の概要]
API提供システム1は、仲介システム2を介して複数のAPIを提供する。ここでは、APIの一例として、口座情報を参照するためのAPI(以降、参照系APIと記載する。)と、口座情報を更新するためのAPI(以降、更新系APIと記載する。)と、を説明する。なお、API提供システム1が提供するAPIは3つ以上であってもよい。
[2. Overview of processing executed by API providing system]
The API providing system 1 provides a plurality of APIs via the mediation system 2. Here, as an example of an API, an API for referring to account information (hereinafter referred to as a reference system API), an API for updating account information (hereinafter referred to as an update system API), Will be explained. Note that the API providing system 1 may provide three or more APIs.

参照系APIは、口座情報を参照する機能が関連付けられている。例えば、ユーザが、仲介システム2のサービスを利用して、入出金明細や口座残高を参照する場合に、参照系APIが利用される。更新系APIは、口座情報を更新する機能が関連付けられている。例えば、ユーザが、仲介システム2のサービスを利用して、振込、入金、又は出金をする場合に、更新系APIが利用される。   The reference system API is associated with a function for referring to account information. For example, when the user refers to the deposit / withdrawal details and the account balance using the service of the brokerage system 2, the reference system API is used. The update API is associated with a function for updating account information. For example, when the user uses the service of the mediation system 2 to make a transfer, deposit, or withdrawal, the update API is used.

図2は、ユーザが仲介システム2のサービスを利用する様子を示す画面遷移図である。図2に示すように、ユーザがユーザ端末30を操作して仲介システム2にアクセスすると、仲介システム2のログイン画面G1が表示部35に表示される。仲介システム2のユーザアカウントとパスワードがログイン画面G1から入力され、仲介システム2において正当性が確認されると、ユーザは仲介システム2にログインする。   FIG. 2 is a screen transition diagram showing how the user uses the service of the mediation system 2. As shown in FIG. 2, when the user operates the user terminal 30 to access the mediation system 2, a login screen G <b> 1 of the mediation system 2 is displayed on the display unit 35. When the user account and password of the mediation system 2 are input from the login screen G1 and the validity is confirmed in the mediation system 2, the user logs in to the mediation system 2.

ユーザが仲介システム2にログインすると、仲介システム2が提供する種々のサービスを利用するためのメニュー画面G2が表示部35に表示される。例えば、ユーザは、メニュー画面G2から、経費申請、経費承認、入出金明細照会、経費や給与などの振込処理、残高照会、及び入出金処理といったサービスを利用することができる。例えば、ユーザが、メニュー画面G2から入出金明細参照の項目を選択すると、API提供システム1に移動する旨のメッセージが表示され、ユーザが同意すると、API提供システム1へのリダイレクトが実行される。   When the user logs into the mediation system 2, a menu screen G <b> 2 for using various services provided by the mediation system 2 is displayed on the display unit 35. For example, from the menu screen G2, the user can use services such as expense application, expense approval, deposit / withdrawal details inquiry, transfer processing such as expense and salary, balance inquiry, and deposit / withdrawal process. For example, when the user selects an item for referring to deposit / withdrawal details from the menu screen G2, a message to move to the API providing system 1 is displayed, and when the user agrees, redirection to the API providing system 1 is executed.

リダイレクトが実行されると、API提供システム1のログイン画面G3が表示部35に表示される。API提供システム1のユーザアカウントとパスワードがログイン画面G3から入力され、ユーザの正当性が確認されると、例えば、API提供システム1は、Cookieを発行してユーザ端末30に送信し、OAuth2.0に基づくトークンを発行して仲介システム2に送信する。   When the redirect is executed, the login screen G3 of the API providing system 1 is displayed on the display unit 35. When the user account and password of the API providing system 1 are input from the login screen G3 and the validity of the user is confirmed, for example, the API providing system 1 issues a cookie and transmits it to the user terminal 30, and OAuth 2.0. Is issued to the mediation system 2.

Cookieは、ウェブブラウザで用いられるユーザの識別情報である。本実施形態では、参照系APIを利用するための認証でCookieが発行されるので、Cookieは、当該認証を受けたユーザであることを証明する情報ということもできる。Cookieは、仲介システム2ではなく、ユーザ端末30に保持される。   Cookie is user identification information used in a web browser. In this embodiment, since Cookie is issued by authentication for using the reference system API, Cookie can be said to be information that proves that the user has received the authentication. Cookie is held in the user terminal 30, not in the mediation system 2.

OAuth2.0は、認証プロトコルの一種であり、例えば、管理主体の異なる複数のシステム間で連携する場合に利用される。トークンは、APIの利用が認可されたことを証明する情報である。本実施形態では、ユーザは仲介システム2を介してAPIを間接的に利用するので、仲介システム2が、ユーザの代わりにAPIに対してリクエストを送信するために、トークンが用いられる。このため、トークンは、ユーザ端末30ではなく、仲介システム2に保持される。   OAuth 2.0 is a type of authentication protocol, and is used, for example, when a plurality of systems with different management entities are linked. The token is information that proves that the use of the API is authorized. In the present embodiment, since the user indirectly uses the API via the mediation system 2, a token is used for the mediation system 2 to send a request to the API on behalf of the user. For this reason, the token is held not in the user terminal 30 but in the mediation system 2.

本実施形態では、複数のAPIで共通のトークンが用いられるのでなく、APIごとに異なるトークンが発行される。以降、参照系APIで使用されるトークンを参照系トークンと記載し、更新系APIで使用されるトークンを更新系トークンと記載する。図2の例では、参照系APIが利用されるので、参照系トークンが発行されることになる。   In this embodiment, a common token is not used for a plurality of APIs, but a different token is issued for each API. Hereinafter, a token used in the reference API is referred to as a reference token, and a token used in the update API is referred to as an update token. In the example of FIG. 2, since a reference system API is used, a reference system token is issued.

仲介システム2は、API提供システム1から受信した参照系トークンを利用し、参照系APIにリクエストを送信する。API提供システム1は、仲介システム2から受信した参照系トークンの正当性を確認すると、参照系APIの応答として、ユーザの入出金明細を取得して仲介システム2に送信する。仲介システム2は、受信した入出金明細に基づいて、ユーザ端末30に入出金明細画面G4を表示させる。   The mediation system 2 uses the reference system token received from the API providing system 1 to transmit a request to the reference system API. When the API providing system 1 confirms the validity of the reference token received from the intermediary system 2, it acquires the user's deposit / withdrawal details as a response to the reference API and transmits it to the intermediary system 2. The mediation system 2 displays a deposit / withdrawal detail screen G4 on the user terminal 30 based on the received deposit / withdrawal statement.

図3は、更新系APIが利用される場合の画面遷移図である。図3に示すように、ユーザが、メニュー画面G2から振込処理の項目を選択すると、振込内容を入力するための振込内容入力画面G5が表示部35に表示される。ユーザが振込内容入力画面G5から振込先や振込金額等を入力して所定の振込指示をすると、API提供システム1に移動する旨のメッセージが表示され、ユーザが同意すると、API提供システム1へのリダイレクトが実行される。   FIG. 3 is a screen transition diagram when the update API is used. As shown in FIG. 3, when the user selects a transfer process item from the menu screen G <b> 2, a transfer content input screen G <b> 5 for inputting the transfer content is displayed on the display unit 35. When the user inputs a transfer destination, transfer amount, etc. from the transfer content input screen G5 and gives a predetermined transfer instruction, a message to move to the API providing system 1 is displayed. A redirect is executed.

リダイレクトが実行されると、ユーザ端末30に記憶されていたCookie(参照系APIの利用時に発行されたCookie)がAPI提供システム1に送信される。API提供システム1は、受信したCookieの正当性を確認すると、口座の暗証番号を入力するための暗証番号入力画面G6をユーザ端末30に表示させる。ユーザが、口座(ここでは、ユーザが勤務する会社の口座)の暗証番号を入力し、正当性が確認されると、API提供システム1は、更新系トークンを発行し、仲介システム2に送信する。   When the redirect is executed, the cookie (a cookie issued when using the reference API) stored in the user terminal 30 is transmitted to the API providing system 1. When the API providing system 1 confirms the validity of the received cookie, the API providing system 1 displays a password input screen G6 for inputting the password of the account on the user terminal 30. When the user inputs the personal identification number of the account (here, the account of the company where the user works) and the validity is confirmed, the API providing system 1 issues an update token and transmits it to the mediation system 2. .

仲介システム2は、API提供システム1から受信した更新系トークンを利用し、更新系APIにリクエストを送信する。API提供システム1は、仲介システム2から受信した更新系トークンの正当性を確認すると、更新系APIの応答として、振込処理を実行して実行結果を仲介システム2に送信する。仲介システム2は、受信した振込の実行結果に基づいて、ユーザ端末30に振込完了画面G7を表示させる。   The mediation system 2 uses the update system token received from the API providing system 1 to transmit a request to the update system API. When the API providing system 1 confirms the validity of the update-type token received from the mediation system 2, it executes a transfer process as a response to the update-type API and transmits the execution result to the mediation system 2. The mediation system 2 displays the transfer completion screen G7 on the user terminal 30 based on the received transfer execution result.

以上のように、本実施形態のAPI提供システム1は、参照系APIの利用時にCookieを発行してユーザ端末30に送信し、更新系APIの利用要求(詳細後述)が送信された場合に、ユーザが有効なCookieを保有するか否かを確認する。API提供システム1は、Cookieの正当性を確認したうえで暗証番号を入力させることで、参照系APIを利用するユーザと、更新系APIを利用するユーザと、の同一性を確認し、セキュリティを高めるようにしている。以降、API提供システム1の構成の詳細について説明する。   As described above, the API providing system 1 of the present embodiment issues a Cookie when using a reference API and transmits it to the user terminal 30, and when an update API usage request (detailed later) is transmitted, Check if the user has a valid cookie. The API providing system 1 confirms the authenticity of the cookie, and then inputs a personal identification number to confirm the identity between the user who uses the reference system API and the user who uses the update system API. I try to increase it. Hereinafter, details of the configuration of the API providing system 1 will be described.

[3.本実施形態において実現される機能]
図4は、本実施形態において実現される機能を示す機能ブロック図である。図4に示すように、ここでは、主にAPI提供システム1で実現される機能を説明する。例えば、API提供システム1では、参照系API100、更新系API101、データ記憶部102、第1認証部103、第1発行部104、第1提供部105、第2認証部106、第3認証部107、第2発行部108、及び第2提供部109が実現される。データ記憶部102は記憶部12を主として実現され、他の各機能は制御部11を主として実現される。
[3. Functions realized in this embodiment]
FIG. 4 is a functional block diagram showing functions realized in the present embodiment. As shown in FIG. 4, here, mainly functions implemented by the API providing system 1 will be described. For example, in the API providing system 1, the reference API 100, the update API 101, the data storage unit 102, the first authentication unit 103, the first issuing unit 104, the first providing unit 105, the second authentication unit 106, and the third authentication unit 107. The second issuing unit 108 and the second providing unit 109 are realized. The data storage unit 102 is realized mainly by the storage unit 12, and other functions are realized mainly by the control unit 11.

[参照系API]
参照系API100は、本発明に係る第1のAPIの一例である。このため、本実施形態で参照系API100と記載した箇所は、第1のAPIと読み替えることができる。第1のAPIは、API提供システム1が提供する複数のAPIのうちの何れかであればよく、参照系API100及び更新系API101以外の他のAPI(例えば、ユーザの基本情報を参照するためのAPIや住所などの登録情報を変更するためのAPIなど)を提供する場合には、当該他のAPIが第1のAPIに相当してもよい。先述したように、参照系API100は、口座情報を参照する機能が関連付けられており、本実施形態では、後述する口座データベースを参照する。
[Reference API]
The reference system API 100 is an example of a first API according to the present invention. For this reason, the part described as the reference system API 100 in this embodiment can be read as the first API. The first API may be any one of a plurality of APIs provided by the API providing system 1, and other APIs other than the reference system API 100 and the update system API 101 (for example, for referring to the basic information of the user). In the case of providing an API or an API for changing registration information such as an address, the other API may correspond to the first API. As described above, the reference API 100 is associated with a function for referring to account information. In the present embodiment, the reference API 100 refers to an account database to be described later.

[更新系API]
更新系API101は、本発明に係る第2のAPIの一例である。このため、本実施形態で更新系API101と記載した箇所は、第2のAPIと読み替えることができる。第2のAPIは、API提供システム1が提供する複数のAPIのうち、第1のAPIとは異なるAPIであればよい。本実施形態では、セキュリティレベルが互いに異なる複数のAPIが存在し、第2のAPIは、第1のAPIよりもセキュリティレベルが高いものとする。このため、第2のAPIは、第1のAPIよりも複雑な認証が必要であり、本実施形態では、第2のAPIは、第1のAPIよりも利用時に必要な認証回数が多いものとする。先述したように、更新系API101は、口座情報を更新する機能が関連付けられており、本実施形態では、後述する口座データベースを更新する。
[Update API]
The update system API 101 is an example of a second API according to the present invention. For this reason, the part described as the update type API 101 in this embodiment can be read as the second API. The second API may be an API different from the first API among the plurality of APIs provided by the API providing system 1. In the present embodiment, there are a plurality of APIs having different security levels, and the second API has a higher security level than the first API. For this reason, the second API requires more complicated authentication than the first API, and in this embodiment, the second API requires more authentication times when used than the first API. To do. As described above, the update API 101 is associated with a function for updating account information. In this embodiment, the update API 101 updates an account database to be described later.

[データ記憶部]
データ記憶部102は、APIを提供するために必要なデータを記憶する。ここでは、データ記憶部102が記憶するデータの一例として、ユーザに関する各種情報を格納するためのユーザデータベースと、口座に関する各種情報を格納するための口座データベースと、を説明する。
[Data storage section]
The data storage unit 102 stores data necessary for providing the API. Here, as an example of data stored in the data storage unit 102, a user database for storing various types of information regarding users and an account database for storing various types of information regarding accounts will be described.

図5は、ユーザデータベースの一例を示す図である。図5に示すように、ユーザデータベースには、ユーザアカウント、ユーザ名、パスワード、Cookie、参照系トークン、更新系トークン、及び口座識別情報が格納される。ユーザデータベースに格納されるユーザアカウントとパスワードは、API提供システム1にログインするための認証情報である。ユーザアカウントは、ユーザがAPI提供システム1に利用登録した際に発行され、パスワードは、利用登録後に任意のものを設定可能である。   FIG. 5 is a diagram illustrating an example of a user database. As shown in FIG. 5, the user database stores a user account, a user name, a password, a cookie, a reference token, an update token, and account identification information. The user account and password stored in the user database are authentication information for logging in to the API providing system 1. The user account is issued when the user registers for use in the API providing system 1, and an arbitrary password can be set after use registration.

Cookieは、参照系トークン発行時に生成されたCookieである。参照系トークンが発行されていないユーザについては、ユーザデータベースにCookieは格納されない。Cookieは、特に有効期限が存在しなくてもよいが、本実施形態では、Cookieは、有効期限が設定されている。有効期限を示す情報は、Cookieの内部に組み込まれていてもよいし、Cookieとは別の情報として管理されていてもよい。   Cookie is a cookie generated when a reference token is issued. For users for whom no reference token has been issued, Cookie is not stored in the user database. Cookie does not need to have an expiration date in particular, but in this embodiment, an expiration date is set for Cookie. Information indicating the expiration date may be incorporated in the cookie, or may be managed as information different from the cookie.

参照系トークンは、参照系API100の利用が認可されたことを証明する情報である。参照系トークンは、本発明に係る第1の認証情報に相当する。このため、本実施形態で参照系トークンと記載した箇所は、第1の認証情報と読み替えることができる。参照系トークンは、公知の認証プロトコルを利用して発行されるようにすればよく、本実施形態では、OAuth2.0を利用する場合を説明する。   The reference token is information that proves that the use of the reference API 100 is authorized. The reference token corresponds to the first authentication information according to the present invention. For this reason, the part described as the reference token in the present embodiment can be read as the first authentication information. The reference token may be issued using a known authentication protocol. In this embodiment, a case where OAuth 2.0 is used will be described.

例えば、参照系トークンは、アクセストークンと、リフレッシュトークンと、を含む。アクセストークンとリフレッシュトークンとは、それぞれ有効期限が設定されており、リフレッシュトークンの有効期限は、アクセストークンの有効期限よりも長い。通常のリクエストでは、リフレッシュトークンは送信されずアクセストークンだけが送信され、リフレッシュトークンは、アクセストークンを再発行する場合に送信される。   For example, the reference token includes an access token and a refresh token. The access token and the refresh token have an expiration date, respectively. The expiration date of the refresh token is longer than the expiration date of the access token. In a normal request, only the access token is transmitted without transmitting the refresh token, and the refresh token is transmitted when the access token is reissued.

更新系トークンは、更新系API100の利用が認可されたことを証明する情報である。更新系トークンは、本発明に係る第2の認証情報に相当する。このため、本実施形態で更新系トークンと記載した箇所は、第2の認証情報と読み替えることができる。更新系トークンは、公知のプロトコルを利用して発行されるようにすればよく、本実施形態では、OAuth2.0を利用する場合を説明する。   The update token is information that proves that the use of the update API 100 is authorized. The renewal token corresponds to the second authentication information according to the present invention. For this reason, the part described as the update token in this embodiment can be read as the second authentication information. The renewal token may be issued using a known protocol. In this embodiment, a case where OAuth 2.0 is used will be described.

更新系トークンは、参照系トークンと同様、アクセストークンとリフレッシュトークンとを含んでもよいが、本実施形態では、アクセストークンだけが発行されるものとする。詳細は後述するが、更新系トークンの有効期限は、参照系トークンの有効期限よりも短く、ワンタイム化されているものとする。なお、口座識別情報は、口座を識別するための情報であればよく、例えば、支店名、口座番号、及び口座名義人である。   Similar to the reference token, the update token may include an access token and a refresh token. However, in this embodiment, only the access token is issued. Although details will be described later, it is assumed that the expiration date of the renewal token is shorter than that of the reference token and is one-time. Note that the account identification information may be information for identifying an account, such as a branch name, an account number, and an account holder.

図6は、口座データベースの一例を示す図である。図6に示すように、口座データベースには、銀行の支店名、口座を識別する口座番号、口座名義人、残高情報、暗証番号、及び入出金明細情報が格納される。暗証番号は、口座の暗証番号であり、口座開設時等に指定された暗証番号である。入出金明細情報は、口座の入出金の履歴を示す情報であり、例えば、日付、入出金額、及び入出金者といった情報が格納される。例えば、口座データベースに格納された各情報は、参照系API100によって参照される。また例えば、口座データベースに格納された残高情報及び入出金明細情報は、更新系API101によって更新される。   FIG. 6 is a diagram illustrating an example of an account database. As shown in FIG. 6, the account database stores bank branch names, account numbers for identifying accounts, account holders, balance information, personal identification numbers, and deposit / withdrawal details information. The personal identification number is the personal identification number of the account, and is the personal identification number designated when the account is opened. The deposit / withdrawal detail information is information indicating a deposit / withdrawal history of the account, and stores information such as date, deposit / withdrawal amount, and deposit / withdrawal person, for example. For example, each information stored in the account database is referred to by the reference system API 100. Further, for example, balance information and deposit / withdrawal detail information stored in the account database are updated by the update API 101.

[第1認証部]
第1認証部103は、ユーザ端末30から仲介システム2に参照系API100の利用要求が送信された場合に、当該利用要求に基づくリダイレクトを受けて、ユーザ端末30との間でログイン認証を行う。
[First authentication unit]
When a use request for the reference API 100 is transmitted from the user terminal 30 to the mediation system 2, the first authentication unit 103 receives a redirect based on the use request and performs login authentication with the user terminal 30.

利用要求は、利用対象となるAPIを識別するための情報を含み、所定形式のデータが送信されることで利用要求が行われるようにすればよい。利用要求は、ユーザ端末30から仲介システム2に対してなされる要求のうち、API提供システム1が提供するAPIの利用が必要なもの(又は、APIの利用を予定しているもの)である。本実施形態では、参照系API100又は更新系API101の何れかが利用されるので、利用要求には、これらの何れを利用するかを識別するための情報(例えば、メニュー画面G2のどの項目が選択されたかを示す情報等)が含まれているものとする。   The usage request includes information for identifying an API to be used, and the usage request may be made by transmitting data in a predetermined format. The use request is a request that requires use of the API provided by the API providing system 1 among requests made from the user terminal 30 to the mediation system 2 (or that is scheduled to use the API). In this embodiment, since either the reference system API 100 or the update system API 101 is used, information for identifying which of these is used (for example, which item on the menu screen G2 is selected) It is assumed that information indicating whether or not it has been done is included.

なお、ユーザ端末30から受信する要求の中には、API提供システム1が提供するAPIを利用しないもの(例えば、メニュー画面G2における経費申請等)もあるので、仲介システム2は、API提供システム1が提供するAPIを利用する要求がどれであるかを特定可能となっている。例えば、仲介システム2は、メニュー画面G2の入出金明細照会の項目が選択された旨の通知を受信した場合には、参照系APIの利用要求であると判定し、メニュー画面G2の振込処理の項目が選択された旨の通知を受信した場合には、更新系APIの利用要求であると判定する。   Note that some of the requests received from the user terminal 30 do not use the API provided by the API providing system 1 (for example, expense application on the menu screen G2). It is possible to specify which of the requests uses the API provided by. For example, when the mediation system 2 receives a notification that the item of the deposit / withdrawal item inquiry on the menu screen G2 has been selected, it determines that the request is for using the reference API, and the transfer process on the menu screen G2 is performed. When a notification that an item has been selected is received, it is determined that the request is for an update API.

参照系API100の利用要求は、ユーザが操作部34から所定の操作を行った場合に、ユーザ端末30から仲介システム2に送信される。本実施形態では、メニュー画面G2において入出金明細参照の項目を選択する操作を一例として説明するので、ユーザ端末30から仲介システム2に対し、入出金明細参照の項目が選択された旨の通知が送信されることが、参照系API100の利用要求が送信されることに相当する。仲介システム2において、当該通知が受信された場合に、参照系API100にリクエストを送信するようになっている。なお、入出金明細参照以外にも、残高照会の項目をするための操作が行われた場合に、参照系API100の利用要求が送信されてもよい。   The use request for the reference system API 100 is transmitted from the user terminal 30 to the mediation system 2 when the user performs a predetermined operation from the operation unit 34. In the present embodiment, the operation for selecting the item for deposit / withdrawal item reference on the menu screen G2 will be described as an example. Therefore, the user terminal 30 notifies the intermediary system 2 that the item for deposit / withdrawal item reference has been selected. Transmission is equivalent to transmission of a use request for the reference API 100. In the mediation system 2, when the notification is received, a request is transmitted to the reference API 100. In addition to referring to the deposit / withdrawal details, a request for using the reference API 100 may be transmitted when an operation for performing a balance inquiry item is performed.

なお、リダイレクトは、公知の方法で実行されるようにすればよく、仲介システム2側で実行されてもよいし、ユーザ端末30側で実行されてもよい。例えば、Apacheで.htaccessファイルに所定のルールを記載しておくことによって、仲介システム2側でリダイレクトが実行されてもよいし、JavaScript(登録商標)を利用してユーザ端末30側でリダイレクトが実行されてもよい。   The redirect may be executed by a known method, and may be executed on the mediation system 2 side or may be executed on the user terminal 30 side. For example, in Apache. By describing predetermined rules in the htaccess file, redirection may be executed on the mediation system 2 side, or redirection may be executed on the user terminal 30 side using JavaScript (registered trademark).

ログイン認証は、本発明に係る第1の認証の一例である。このため、本実施形態でログイン認証と記載した箇所は、第1の認証と読み替えることができる。第1の認証は、API提供システム1とユーザ端末30との間で行われる認証であればよい。本実施形態のように、ログイン画面G3から入力されたユーザアカウントとパスワードを利用したログイン認証以外にも、第1の認証は、種々の認証方法を利用可能である。例えば、顔認証や指紋認証などの生体認証であってもよいし、物理トークンや携帯機器PINを利用した認証であってもよい。他にも例えば、ICカードを利用した認証であってもよいし、二次元コード等のコード情報を利用した認証であってもよい。   Login authentication is an example of first authentication according to the present invention. For this reason, the place described as login authentication in this embodiment can be read as the first authentication. The first authentication may be authentication performed between the API providing system 1 and the user terminal 30. As in the present embodiment, various authentication methods can be used for the first authentication other than the login authentication using the user account and password input from the login screen G3. For example, biometric authentication such as face authentication or fingerprint authentication may be used, or authentication using a physical token or a portable device PIN may be used. In addition, for example, authentication using an IC card may be used, or authentication using code information such as a two-dimensional code may be used.

例えば、第1認証部103は、ユーザ端末30から受信した認証情報(ユーザが入力した認証情報)と、ユーザデータベースに格納された認証情報と、に基づいて、ログイン認証を実行する。本実施形態のように、ユーザアカウントとパスワードの組み合わせを利用する場合には、第1認証部103は、ユーザ端末30から受信したユーザアカウントとパスワードの組み合わせと、ユーザデータベースに格納されたユーザアカウントとパスワードの組み合わせと、が一致するか否かを判定する。第1認証部103は、これらが一致する場合には認証成功と判定し、これらが一致しない場合には認証失敗と判定する。なお、認証成功と判定されるためには、必ずしも認証情報が一致しなければならないわけではなく、例えば、生体認証を利用する場合には、顔認証又は指紋認証における画像の一致度が100%でなくても、閾値以上であれば認証成功と判定してもよい。   For example, the first authentication unit 103 executes login authentication based on authentication information received from the user terminal 30 (authentication information input by the user) and authentication information stored in the user database. When using a combination of a user account and a password as in the present embodiment, the first authentication unit 103 includes a combination of a user account and a password received from the user terminal 30, a user account stored in the user database, It is determined whether or not the password combination matches. The first authentication unit 103 determines that the authentication is successful if they match, and determines that the authentication fails if they do not match. In order to determine that authentication is successful, the authentication information does not necessarily match. For example, when biometric authentication is used, the degree of coincidence of images in face authentication or fingerprint authentication is 100%. Even if not, it may be determined that the authentication is successful if the threshold is equal to or greater than the threshold.

[第1発行部]
第1発行部104は、ログイン認証が成功した場合に、ユーザ端末30にCookieを発行し、仲介システム2に、参照系API100を利用するための参照系トークンを発行する。
[First issue section]
When the login authentication is successful, the first issuing unit 104 issues a cookie to the user terminal 30 and issues a reference token for using the reference API 100 to the mediation system 2.

Cookieは、本発明に係るユーザ認証情報の一例である。このため、本実施形態でCookieと記載した箇所は、ユーザ認証情報と読み替えることができる。ユーザ認証情報は、第1の認証が成功したユーザ(又はユーザ端末30)を識別する情報である。本実施形態では、参照系API100を利用する場合のログイン認証が第1の認証に相当するので、Cookieは、当該ログイン認証が成功したユーザを識別する情報といえる。なお、ユーザ認証情報は、Cookieに限られず、例えば、電子証明書、暗号キー、又はパスコードといった情報であってもよい。   Cookie is an example of user authentication information according to the present invention. For this reason, the part described as Cookie in this embodiment can be read as user authentication information. The user authentication information is information for identifying a user (or user terminal 30) that has succeeded in the first authentication. In the present embodiment, since the login authentication when using the reference API 100 corresponds to the first authentication, Cookie can be said to be information for identifying a user who has succeeded in the login authentication. Note that the user authentication information is not limited to Cookie, and may be information such as an electronic certificate, an encryption key, or a passcode, for example.

なお、ユーザ認証情報の発行方法自体は、公知の種々の手法を適用可能であり、ユーザ認証情報の内容に応じたアルゴリズムを用意しておき、第1発行部104は、当該アルゴリズムに基づいて、ユーザ認証情報を発行すればよい。本実施形態のように、Cookieをユーザ認証情報として利用する場合には、例えば、第1発行部104は、PHP(Hypertext Preprocessor)におけるsetcookie関数に基づいて、Cookieを発行してもよい。   Note that various methods known in the art can be applied to the user authentication information issuing method itself, and an algorithm corresponding to the content of the user authentication information is prepared, and the first issuing unit 104 is based on the algorithm. User authentication information may be issued. When using Cookie as user authentication information as in the present embodiment, for example, the first issuing unit 104 may issue a cookie based on a setcookie function in a PHP (Hypertext Preprocessor).

例えば、Cookieには、特に有効期限が設定されていなくてもよいが、本実施形態では、第1発行部104は、Cookieに有効期限を設定する。Cookieの有効期限は、任意の長さであればよく、例えば、10分〜1時間程度であってもよいし、それ以下又はそれ以上であってもよい。Cookieの有効期限は、ユーザ端末30がAPI提供システム1にアクセスした場合に延長されるようにしてもよい。   For example, in the present embodiment, the first issue unit 104 sets an expiration date in the cookie, although the expiration date may not be set in the cookie. The expiration date of Cookie should just be arbitrary length, for example, may be 10 minutes-about 1 hour, and it may be less than that or more. The expiration date of the cookie may be extended when the user terminal 30 accesses the API providing system 1.

参照系トークンは、本発明に係る第1の認証情報の一例である。このため、本実施形態で参照系トークンと記載した箇所は、第1の認証情報と読み替えることができる。第1の認証情報は、第1のAPIの利用が認証されたユーザを識別する情報である。なお、第1の認証情報は、トークンに限られず、例えば、電子証明書、暗号キー、又はパスコードといった情報であってもよい。ただし、第1の認証情報は、ユーザ認証情報とは異なる情報であるものとする。第1の認証情報の発行方法自体は、公知の種々の手法を適用可能であり、第1の認証情報の内容に応じたアルゴリズムを用意しておき、第1発行部104は、当該アルゴリズムに基づいて、第1の認証情報を発行すればよい。本実施形態のように、トークンを第1の認証情報として利用する場合には、例えば、OAuth2.0で実装されているトークン生成方法を利用すればよい。   The reference token is an example of first authentication information according to the present invention. For this reason, the part described as the reference token in the present embodiment can be read as the first authentication information. The first authentication information is information for identifying a user who is authenticated to use the first API. Note that the first authentication information is not limited to a token, and may be information such as an electronic certificate, an encryption key, or a passcode. However, the first authentication information is different from the user authentication information. Various known methods can be applied to the first authentication information issuance method itself, and an algorithm corresponding to the content of the first authentication information is prepared, and the first issuance unit 104 is based on the algorithm. The first authentication information may be issued. When the token is used as the first authentication information as in the present embodiment, for example, a token generation method implemented in OAuth 2.0 may be used.

例えば、参照系トークンには、特に有効期限が設定されていなくてもよいが、本実施形態では、第1発行部104は、参照系トークンに有効期限を設定する。参照系トークンの有効期限は、任意の長さであればよく、例えば、参照系トークンのアクセストークン(以降、単に参照系アクセストークンと記載する。)については10分〜1時間程度とし、参照系トークンのリフレッシュトークン(以降、単に参照系リフレッシュトークンと記載する。)については、数時間程度としてもよい。   For example, an expiration date may not be set for the reference token, but in the present embodiment, the first issuing unit 104 sets an expiration date for the reference token. The expiration date of the reference token may be of any length. For example, the access token of the reference token (hereinafter simply referred to as a reference access token) is about 10 minutes to 1 hour. A token refresh token (hereinafter simply referred to as a reference refresh token) may be several hours.

なお、本実施形態では、Cookieの有効期限と、参照系アクセストークンの有効期限と、を同じ長さにして、参照系アクセストークンの有効期限が切れた場合に、Cookieも無効とする場合を説明するが、これらの長さは異なってもよい。例えば、Cookieの有効期限を参照系アクセストークンの有効期限よりも短く設定することで、後述するCookie認証のセキュリティレベルを上げるようにしてもよい。   In the present embodiment, the case where the cookie expiration date and the reference access token expiration date are set to the same length, and the cookie is also invalidated when the reference access token expires. However, these lengths may be different. For example, the security level of cookie authentication, which will be described later, may be increased by setting the expiration date of the cookie to be shorter than the expiration date of the reference access token.

[第1提供部]
第1提供部105は、仲介システム2から受信した参照系トークンに基づいて、参照系API100を提供する。例えば、第1提供部105は、仲介システム2から参照系トークンを受信し、当該参照系トークンの正当性を確認する。第1提供部105は、仲介システム2から受信した参照系トークンと、ユーザデータベースに格納された参照系トークンと、が一致するか否かを判定する。第1提供部105は、これらが一致しない場合には、参照系API100を提供せず、これらが一致する場合に、参照系API100を提供する。
[First provider]
The first providing unit 105 provides the reference system API 100 based on the reference system token received from the mediation system 2. For example, the first providing unit 105 receives a reference token from the mediation system 2 and confirms the validity of the reference token. The first providing unit 105 determines whether or not the reference system token received from the mediation system 2 matches the reference system token stored in the user database. The first providing unit 105 does not provide the reference system API 100 when they do not match, and provides the reference system API 100 when they match.

なお、APIを提供するとは、APIが有する機能を提供することであり、APIに関連付けられたプログラムを実行して処理結果を返すことを意味する。参照系API100であれば、口座データベースを参照する機能が関連付けられているので、第1提供部105は、口座データベースに格納された支店名、口座番号、口座残高、及び入出金明細情報の少なくとも1つを送信することによって、参照系API100を提供する。例えば、第1提供部105は、入出金明細情報を送信することによって、入出金明細を参照させ、口座残高の数値を送信することによって、口座残高を参照させる。   Providing an API means providing a function of the API, and means executing a program associated with the API and returning a processing result. Since the function of referring to the account database is associated with the reference system API 100, the first providing unit 105 has at least one of the branch name, the account number, the account balance, and the deposit / withdrawal description information stored in the account database. The reference system API 100 is provided by transmitting one of them. For example, the first provision unit 105 refers to the deposit / withdrawal details by transmitting the deposit / withdrawal detail information, and refers to the account balance by transmitting the numerical value of the account balance.

本実施形態では、参照系トークンに有効期限が設定されているので、第1提供部105は、参照系トークンに設定された有効期限に基づいて、参照系API100を提供する。第1提供部105は、リアルタイムクロック等を利用して現在日時を取得し、参照系トークンに設定された有効期限が経過しているか否かを判定する。本実施形態では、第1提供部105は、参照系アクセストークンに設定された有効期限が経過しているか否かを判定することになる。第1提供部105は、有効期限が経過していると判定した場合は参照系API100を提供せず、有効期限が経過していないと判定された場合は参照系API100を提供する。   In the present embodiment, since the expiration date is set for the reference token, the first providing unit 105 provides the reference API 100 based on the expiration date set for the reference token. The first providing unit 105 acquires the current date and time using a real-time clock or the like, and determines whether or not the expiration date set in the reference token has elapsed. In the present embodiment, the first providing unit 105 determines whether or not the expiration date set in the reference access token has elapsed. The first providing unit 105 does not provide the reference API 100 when it is determined that the expiration date has passed, and provides the reference API 100 when it is determined that the expiration date has not passed.

[第2認証部]
第2認証部106は、ユーザ端末30から仲介システム2に更新系API101の利用要求が送信された場合に、当該利用要求に基づくリダイレクトを受けて、ユーザ端末30との間で、第1発行部104により発行されたCookieに基づくCookie認証を行う。なお、リダイレクト処理自体は、参照系APIの利用要求が送信された場合と同様の処理で実行されてよい。
[Second Authentication Unit]
When a use request for the update API 101 is transmitted from the user terminal 30 to the mediation system 2, the second authentication unit 106 receives a redirect based on the use request and receives a redirect from the user terminal 30. Cookie authentication based on the cookie issued by 104 is performed. Note that the redirect process itself may be executed in the same process as when a reference API usage request is transmitted.

更新系API101の利用要求は、ユーザが操作部34から所定の操作を行った場合に、ユーザ端末30から仲介システム2に送信される。本実施形態では、メニュー画面G2において振込処理が選択され、その後に振込内容入力画面G5から振込内容を入力する操作を一例として説明するが、利用要求は、予め定められた操作が行われた場合に送信されるようにすればよく、例えば、経費申請を承認する操作であってもよい。   The use request for the update API 101 is transmitted from the user terminal 30 to the mediation system 2 when the user performs a predetermined operation from the operation unit 34. In the present embodiment, the transfer process is selected on the menu screen G2, and the operation for inputting the transfer content from the transfer content input screen G5 is described as an example. However, the use request is performed when a predetermined operation is performed. For example, it may be an operation for approving the expense application.

Cookie認証は、本発明に係る第2の認証の一例である。このため、本実施形態でCookie認証と記載した箇所は、第2の認証と読み替えることができる。第2の認証は、第1の認証を実行したユーザとの同一性を確認するための認証であり、第2の認証は、第1の認証が成功した際にユーザ端末30に送信されたユーザ認証情報を利用して行われる。本実施形態では、Cookieがユーザ認証情報に相当する場合を説明するので、Cookie認証を例に挙げるが、ユーザ認証情報が電子証明書、暗号キー、又はパスコードであれば、これらの正当性を確認することが第2の認証であってもよい。即ち、第2の認証は、第1の認証が成功したユーザしか知りえない(第1の認証が成功したユーザのユーザ端末30でしか記憶しえない)情報の有無を確認するための認証といえる。   Cookie authentication is an example of second authentication according to the present invention. For this reason, the part described as Cookie authentication in this embodiment can be read as the second authentication. The second authentication is authentication for confirming the identity with the user who executed the first authentication, and the second authentication is a user transmitted to the user terminal 30 when the first authentication is successful. This is done using authentication information. In this embodiment, since the case where Cookie corresponds to user authentication information will be described, Cookie authentication is taken as an example. However, if the user authentication information is an electronic certificate, an encryption key, or a passcode, the validity of these is verified. The confirmation may be the second authentication. That is, the second authentication is authentication for confirming the presence or absence of information that can be known only by the user who succeeded in the first authentication (can only be stored in the user terminal 30 of the user who succeeded in the first authentication). I can say that.

例えば、第2認証部106は、ユーザ端末30に対してCookieを要求し、ユーザ端末30から受信したCookieと、ユーザデータベースに格納されたCookieと、に基づいて、Cookie認証を実行する。第2認証部106は、これらが一致するか否かを判定する。第2認証部106は、これらが一致する場合には認証成功と判定し、これらが一致しない場合には認証失敗と判定する。別の言い方をすれば、第2認証部106は、ユーザ端末30から受信したCookieがユーザデータベースに存在するか否かを判定する。第2認証部106は、ユーザ端末30から受信したCookieがユーザデータベースに存在する場合には認証成功と判定し、存在しない場合には認証失敗と判定する。   For example, the second authentication unit 106 requests Cookie from the user terminal 30 and executes cookie authentication based on the cookie received from the user terminal 30 and the cookie stored in the user database. The second authentication unit 106 determines whether or not they match. The second authentication unit 106 determines that the authentication is successful if they match, and determines that the authentication fails if they do not match. In other words, the second authentication unit 106 determines whether or not the cookie received from the user terminal 30 exists in the user database. The second authenticating unit 106 determines that the authentication has succeeded when the cookie received from the user terminal 30 exists in the user database, and determines that the authentication has failed if it does not exist.

本実施形態では、Cookieに有効期限が設定されているので、第2認証部106は、Cookieに設定された有効期限に基づいて、Cookie認証を行う。第2認証部106は、リアルタイムクロック等を利用して現在日時を取得し、Cookieに設定された有効期限が経過しているか否かを判定する。第2認証部106は、有効期限が経過していると判定した場合は認証失敗とし、有効期限が経過していない場合は認証成功とする。   In the present embodiment, since the expiration date is set in Cookie, the second authentication unit 106 performs Cookie authentication based on the expiration date set in Cookie. The second authentication unit 106 acquires the current date and time using a real-time clock or the like, and determines whether or not the expiration date set in Cookie has elapsed. If the second authentication unit 106 determines that the expiration date has passed, the second authentication unit 106 determines that the authentication has failed.

なお、Cookieの有効期限が経過しているか否かは、ユーザ端末30において判定されてもよい。この場合、第2認証部106は、ユーザ端末30から当該判定結果だけを受信するようにしてもよい。例えば、第2認証部106は、Cookieの有効期限が経過していない旨の判定結果を受信した場合は認証失敗とし、Cookieの有効期限が経過している旨の判定結果を受信した場合は認証成功としてもよい。また、第2認証部106によりCookie認証が失敗したと判定された場合は、第1認証部103によるログイン認証が再び実行され、Cookieの再発行と、参照系トークンの再発行と、が実行されてもよい。   Note that the user terminal 30 may determine whether or not the cookie expiration date has passed. In this case, the second authentication unit 106 may receive only the determination result from the user terminal 30. For example, if the second authentication unit 106 receives a determination result indicating that the cookie expiration date has not elapsed, the second authentication unit 106 determines that the authentication has failed. If the second authentication unit 106 receives a determination result indicating that the cookie expiration date has elapsed, the second authentication unit 106 authenticates. It may be a success. If the second authentication unit 106 determines that the cookie authentication has failed, the login authentication by the first authentication unit 103 is executed again, and the cookie reissue and the reference token reissue are executed. May be.

[第3認証部]
第3認証部107は、第2の認証が成功した場合に、ユーザ端末30との間で暗証番号認証を行う。
[Third authentication unit]
The third authentication unit 107 performs password authentication with the user terminal 30 when the second authentication is successful.

暗証番号認証は、本発明に係る第3の認証の一例である。このため、本実施形態で暗証番号認証と記載した箇所は、第3の認証と読み替えることができる。第3の認証は、第2の認証とは異なる認証方法であればよい。本実施形態では、第2の認証は、第1の認証時に発行されたユーザ認証情報が用いられる認証なので、第3の認証は、第1の認証前からユーザとAPI提供システム1とが互いに保有している認証情報を利用して実行される。また例えば、第1の認証、第2の認証、及び第3の認証の各々で用いられる認証情報は、異なるデータベースで別管理することによってセキュリティ性を高めてもよい。   The password authentication is an example of a third authentication according to the present invention. For this reason, the location described as the password authentication in this embodiment can be read as the third authentication. The third authentication may be an authentication method different from the second authentication. In the present embodiment, since the second authentication is an authentication using the user authentication information issued at the time of the first authentication, the user and the API providing system 1 have the third authentication before the first authentication. It is executed using the authentication information. For example, the security information may be improved by separately managing authentication information used in each of the first authentication, the second authentication, and the third authentication in different databases.

例えば、本実施形態では、第2の認証でCookieが利用され、第3の認証で暗証番号が利用される場合を説明するが、第3の認証では、第2の認証で用いられるCookie以外の情報が用いられるようにすればよく、暗証番号以外にも、電子証明書、暗号キー、又はパスコードが利用されてもよい。また例えば、第3の認証は、第1の認証と同じ認証方法(例えば、ログイン認証等)であってもよいが、本実施形態では、よりセキュリティ性を高めるために、第3の認証が第1の認証と異なる認証方法とし、暗証番号認証が用いられる場合を説明する。   For example, in the present embodiment, a case where Cookie is used in the second authentication and a personal identification number is used in the third authentication will be described. However, in the third authentication, a cookie other than the cookie used in the second authentication is described. Information may be used, and an electronic certificate, an encryption key, or a passcode may be used in addition to the password. In addition, for example, the third authentication may be the same authentication method (for example, login authentication) as the first authentication. However, in the present embodiment, the third authentication is performed in order to improve security. A case where the authentication method is different from the authentication of 1 and password authentication is used will be described.

例えば、第3認証部107は、暗証番号認証が行われる場合に、更新系API101の利用要求の内容をユーザ端末30に表示させてもよい。利用要求の内容とは、更新系API101に対する命令内容であり、更新系API101のプログラムの引数となりうる情報である。例えば、更新系API101によって振込処理が実行される場合には、振込先の口座情報や振込金額といった情報である。また例えば、更新系API101によって入出金処理が実行される場合には、入出金額や入出金者といった情報である。   For example, the third authentication unit 107 may cause the user terminal 30 to display the content of the use request for the update API 101 when the password authentication is performed. The content of the usage request is command content for the update API 101 and is information that can be an argument of a program of the update API 101. For example, when the transfer process is executed by the update system API 101, the information is information such as the account information of the transfer destination and the transfer amount. In addition, for example, when the deposit / withdrawal process is executed by the update API 101, it is information such as the deposit / withdrawal amount and the deposit / withdrawal party.

例えば、第3認証部107は、Cookie認証が成功した場合に、図3に示す暗証番号入力画面G6をユーザ端末30に表示させる。第3認証部107は、仲介システム2から受信した利用要求に含まれる情報を参照し、更新系API101の利用要求の内容を取得する。第3認証部107は、当該取得した内容に基づいて、暗証番号入力画面G6の表示内容を決定し、ユーザ端末30に表示させる。   For example, when the cookie authentication is successful, the third authentication unit 107 causes the user terminal 30 to display the password input screen G6 shown in FIG. The third authentication unit 107 refers to the information included in the usage request received from the mediation system 2 and acquires the content of the usage request for the update API 101. The third authentication unit 107 determines the display content of the personal identification number input screen G6 based on the acquired content and causes the user terminal 30 to display the content.

なお、更新系API101の利用要求の内容は、暗証番号が入力される前に表示されるようにすればよく、必ずしも暗証番号を入力する画面と同じ画面で表示させなくてもよい。例えば、更新系API101の利用要求の内容は、暗証番号入力画面G6を表示させる前の画面で表示させてもよいし、暗証番号入力画面G6のポップアップとして表示されてもよい。   It should be noted that the content of the usage request for the update API 101 may be displayed before the password is input, and may not be displayed on the same screen as the screen for inputting the password. For example, the contents of the usage request for the update API 101 may be displayed on a screen before the password input screen G6 is displayed, or may be displayed as a pop-up of the password input screen G6.

[第2発行部]
第2発行部108は、Cookie認証が成功した場合に、仲介システム2に、更新系API101を利用するための更新系トークンを発行する。
[Second issue section]
The second issuing unit 108 issues an update token for using the update API 101 to the mediation system 2 when the cookie authentication is successful.

更新系トークンは、本発明に係る第2の認証情報の一例である。このため、本実施形態で更新系トークンと記載した箇所は、第2の認証情報と読み替えることができる。第2の認証情報は、第2のAPIの利用が認証されたユーザを識別する情報である。なお、第2の認証情報は、トークンに限られず、例えば、電子証明書、暗号キー、又はパスコードといった情報であってもよい。ただし、第2の認証情報は、ユーザ認証情報及び第1の認証情報とは異なる情報であるものとする。第2の認証情報の発行方法自体は、公知の種々の手法を適用可能であり、第2の認証情報の内容に応じたアルゴリズムを用意しておき、第2発行部108は、当該アルゴリズムに基づいて、第2の認証情報を発行すればよい。本実施形態のように、トークンを第2の認証情報として利用する場合には、例えば、OAuth2.0で実装されているトークン生成方法を利用すればよい。   The renewal token is an example of second authentication information according to the present invention. For this reason, the part described as the update token in this embodiment can be read as the second authentication information. The second authentication information is information for identifying a user who is authenticated to use the second API. Note that the second authentication information is not limited to a token, and may be information such as an electronic certificate, an encryption key, or a passcode. However, the second authentication information is different from the user authentication information and the first authentication information. Various known methods can be applied to the second authentication information issuing method itself, and an algorithm corresponding to the content of the second authentication information is prepared, and the second issuing unit 108 is based on the algorithm. Thus, the second authentication information may be issued. When the token is used as the second authentication information as in the present embodiment, for example, a token generation method implemented in OAuth 2.0 may be used.

本実施形態では、更新系API101の利用要求を受信した場合に、Cookie認証と暗証番号認証が実行されるので、第2発行部108は、Cookie認証が成功し、かつ、暗証番号認証が成功した場合に、更新系トークンを発行する。第2発行部108は、Cookie認証又は暗証番号認証の何れか一方でも失敗した場合には、更新系トークンを発行せず、Cookie認証と暗証番号認証の両方が成功した場合に、更新系トークンを発行する。   In the present embodiment, when the use request for the update API 101 is received, the cookie authentication and the password authentication are executed, so that the second issuing unit 108 succeeds in the cookie authentication and the password authentication succeeds. In this case, an update token is issued. The second issuing unit 108 does not issue an update token if either Cookie authentication or PIN authentication fails, and if both Cookie authentication and PIN authentication succeed, the second issue unit 108 issues an update token. Issue.

例えば、更新系トークンには、特に有効期限が設定されていなくてもよいが、本実施形態では、第2発行部108は、更新系トークンに有効期限を設定する。更新系トークンの有効期限は、任意の長さであればよく、参照系トークンと同じ長さとしてもよいが、本実施形態では、第2発行部108は、Cookieに、参照系トークンよりも短い有効期限を設定する場合を説明する。例えば、参照系トークンの有効期限を10分〜1時間程度とする場合、更新系トークンの有効期限は数十秒〜数分程度であってもよい。   For example, an expiration date may not be set for the renewal token, but in the present embodiment, the second issuing unit 108 sets an expiration date for the renewal token. The validity period of the renewal token may be an arbitrary length and may be the same length as the reference token, but in the present embodiment, the second issuing unit 108 is shorter than the reference token in the cookie. A case where an expiration date is set will be described. For example, when the expiration date of the reference token is about 10 minutes to 1 hour, the expiration date of the renewal token may be about several tens of seconds to several minutes.

なお、本実施形態では、第2発行部108は、更新系トークンのアクセストークン(以降、単に更新系アクセストークンと記載する。)だけを発行し、更新系トークンのリフレッシュトークン(以降、単に更新系リフレッシュトークンと記載する。)は発行しないものとして説明するが、更新系リフレッシュトークンを発行してもよい。ただし、この場合も、更新系リフレッシュトークンの有効期限は、参照系リフレッシュトークンの有効期限よりも短いものとする。   In the present embodiment, the second issuing unit 108 issues only an access token for an update token (hereinafter simply referred to as an update access token), and a refresh token for an update token (hereinafter simply referred to as an update token). Is described as not being issued, but an update-type refresh token may be issued. However, also in this case, the expiration date of the update-type refresh token is shorter than the expiration date of the reference-type refresh token.

また例えば、第2発行部108は、更新系トークンに基づく更新系API101の利用期間が所定期間未満となるように、更新系トークンを発行してもよい。当該所定期間は、任意の長さを設定すればよいが、例えば、更新系トークンのアクセストークン(以降、単に更新系アクセストークンと記載する。)については数十秒〜数分程度とし、更新系トークンを実質的にワンタイム化してもよい。例えば、第2発行部108は、利用期間が1分未満の更新系トークンを発行する。   Further, for example, the second issuing unit 108 may issue the update token such that the usage period of the update API 101 based on the update token is less than a predetermined period. The predetermined period may be set to an arbitrary length. For example, an access token for an update token (hereinafter simply referred to as an update access token) is set to several tens of seconds to several minutes. The token may be made substantially one-time. For example, the second issuing unit 108 issues an updated token having a usage period of less than 1 minute.

なお、第2発行部108は、更新系トークンに基づく更新系API101の提供回数(利用回数)が所定回数未満となるように、更新系トークンを発行してもよい。即ち、有効期限ではなく、更新系トークンの使用回数に上限値を設けるようにしてもよい。例えば、上限値としては、1回に限られず、2回又は3回以上であってもよいが、上限値を少なく設定した方がセキュリティを高くすることができる。この場合、更新系API101の提供回数を示す情報は、ユーザデータベース等に格納しておけばよい。後述する第2提供部109は、更新系API101の提供回数が上限値に達したか否かを判定し、更新系トークンの有効性を判断してもよい。   Note that the second issuing unit 108 may issue the update token so that the number of times (the number of uses) of the update API 101 based on the update token is less than a predetermined number. In other words, an upper limit may be set for the number of times the renewal token is used instead of the expiration date. For example, the upper limit value is not limited to one time, and may be two or three times or more, but security can be enhanced by setting a lower upper limit value. In this case, information indicating the number of times the update API 101 is provided may be stored in a user database or the like. The second providing unit 109, which will be described later, may determine whether the number of times the update API 101 is provided has reached the upper limit value, and may determine the validity of the update token.

なお、上記では、Cookie認証が成功した場合に、第2発行部108が更新系トークンを発行する処理を説明したが、Cookie認証が失敗した場合には、第1認証部103は、ユーザ端末30との間で再度のログイン認証を行うようにしてもよい。再度のログイン認証は、1回目と全く同じ方法であってもよいし、1回目とは異なる認証方法であってもよい。例えば、1回目のログイン認証は、ユーザアカウントパスワードの組み合わせを利用して、再度のログイン認証は、当該組み合わせに追加して他の情報を利用してもよい。   In the above description, the process in which the second issuing unit 108 issues an update token when the cookie authentication is successful has been described. However, when the cookie authentication fails, the first authentication unit 103 determines that the user terminal 30 You may make it perform login authentication again between. The second login authentication may be the same method as the first time, or may be an authentication method different from the first time. For example, the first login authentication may use a combination of user account passwords, and the second login authentication may use other information in addition to the combination.

第1発行部104は、再度のログイン認証が成功した場合に、ユーザ端末30に新たなCookieを発行する。Cookieの発行方法自体は、先述した通りである。この場合に、第2認証部106は、新たなCookieに基づく再度のCookie認証を行うようにしてもよい。Cookie認証の認証方法自体も、先述した通りである。再度のCookie認証が成功した場合には、暗証番号認証に進むようにすればよい。   The first issuing unit 104 issues a new cookie to the user terminal 30 when the second login authentication is successful. The Cookie issuance method itself is as described above. In this case, the second authentication unit 106 may perform cookie authentication again based on the new cookie. The authentication method itself of Cookie authentication is also as described above. If the second cookie authentication is successful, the password authentication may be performed.

[第2提供部]
第2提供部109は、仲介システム2から受信した更新系トークンに基づいて、更新系API101を提供する。例えば、第2提供部109は、仲介システム2から更新系トークンを受信し、当該更新系トークンの正当性を確認する。第2提供部109は、仲介システム2から受信した更新系トークンと、ユーザデータベースに格納された更新系トークンと、が一致するか否かを判定する。第2提供部109は、これらが一致しない場合には、更新系API101を提供せず、これらが一致する場合に、更新系API101を提供する。
[Second providing section]
The second providing unit 109 provides the update system API 101 based on the update system token received from the mediation system 2. For example, the second providing unit 109 receives the update token from the mediation system 2 and confirms the validity of the update token. The second providing unit 109 determines whether or not the update token received from the mediation system 2 matches the update token stored in the user database. The second providing unit 109 does not provide the update API 101 when they do not match, and provides the update API 101 when they match.

なお、APIを提供するという言葉の意味は、第1提供部105で説明した通りである。更新系API101であれば、口座データベースに格納された口座情報を更新する機能が関連付けられているので、第2提供部109は、口座データベースに格納された口座情報に基づいて振込処理を実行したり入出金処理を実行したりすることによって、更新系API101を提供する。なお、口座情報を更新とは、口座情報の内容を変更することであり、例えば、口座残高の数値を変更したり、入出金明細情報に情報を追加したりすることである。   The meaning of providing the API is as described in the first providing unit 105. In the case of the update API 101, since the function for updating the account information stored in the account database is associated, the second providing unit 109 executes a transfer process based on the account information stored in the account database. The update API 101 is provided by executing deposit / withdrawal processing. Note that updating the account information means changing the contents of the account information, for example, changing the numerical value of the account balance or adding information to the deposit / withdrawal detailed information.

例えば、第2提供部109は、振込処理によって振り込まれた金額に基づいて、口座残高を減少させ、振込内容に基づいて、入出金明細情報を更新する。また例えば、第2提供部109は、入金処理によって入金された金額に基づいて、口座残高を増加させ、入金内容に基づいて、入出金明細情報を更新する。また例えば、第2提供部109は、出金処理によって出金された金額に基づいて、口座残高を減少させ、出金内容に基づいて、入出金明細情報を更新する。   For example, the second providing unit 109 decreases the account balance based on the amount transferred by the transfer process, and updates the deposit / withdrawal detailed information based on the transfer details. Further, for example, the second providing unit 109 increases the account balance based on the amount deposited by the deposit process, and updates the deposit / withdrawal detailed information based on the deposit content. Further, for example, the second providing unit 109 decreases the account balance based on the amount withdrawn by the withdrawal process, and updates the deposit / withdrawal detail information based on the withdrawal content.

本実施形態では、参照系トークンよりも短い有効期限が更新系トークンに設定されているので、第2提供部109は、更新系トークンに設定された、参照系トークンよりも短い有効期限に基づいて、第2のAPIを提供することになる。第2提供部109は、リアルタイムクロック等を利用して現在日時を取得し、更新系トークンに設定された有効期限が経過しているか否かを判定する。第2提供部109は、有効期限が経過していると判定した場合は更新系API101を提供せず、有効期限が経過していないと判定された場合は更新系API101を提供する。   In this embodiment, since the expiration date shorter than the reference token is set in the renewal token, the second providing unit 109 is based on the expiration time shorter than the reference token set in the renewal token. A second API will be provided. The second providing unit 109 acquires the current date and time using a real-time clock or the like, and determines whether or not the expiration date set in the renewal token has elapsed. The second providing unit 109 does not provide the update API 101 when it is determined that the expiration date has passed, and provides the update API 101 when it is determined that the expiration date has not passed.

[仲介システムとユーザ端末で実現される機能]
仲介システム2では、例えば、仲介サーバ20の記憶部22は、仲介システム2のユーザアカウントとパスワードなどのデータベースを記憶する。ユーザによる仲介システム2へのログインは、当該データベースに基づいて実行される。また例えば、記憶部22は、ユーザアカウントに関連付けて、第1発行部104が発行した参照系トークンと、第2発行部108が発行した更新系トークンと、を記憶する。また例えば、API提供システム1のユーザアカウントと、仲介システム2のユーザアカウントと、が連携されてもよく、これらの対応関係が記憶部22に記憶されてもよい。同様の対応関係は、API提供システム1のデータ記憶部102に記憶されてもよい。
[Functions implemented in the brokerage system and user terminal]
In the mediation system 2, for example, the storage unit 22 of the mediation server 20 stores a database such as the user account and password of the mediation system 2. The login to the mediation system 2 by the user is executed based on the database. Further, for example, the storage unit 22 stores the reference token issued by the first issuing unit 104 and the update token issued by the second issuing unit 108 in association with the user account. Further, for example, the user account of the API providing system 1 and the user account of the mediation system 2 may be linked, and the corresponding relationship may be stored in the storage unit 22. A similar correspondence relationship may be stored in the data storage unit 102 of the API providing system 1.

ユーザ端末30では、例えば、記憶部32は、第1発行部104が発行したCookieを記憶する。また例えば、制御部31は、操作部34が受け付けた操作内容を、通信部33を介してAPI提供システム1又は仲介システム2に送信する。また例えば、制御部31は、通信部33を介してAPI提供システム1又は仲介システム2から受信したデータに基づいて、図2及び図3で説明した各種画面を表示部35に表示させる。   In the user terminal 30, for example, the storage unit 32 stores the cookie issued by the first issuing unit 104. For example, the control unit 31 transmits the operation content received by the operation unit 34 to the API providing system 1 or the mediation system 2 via the communication unit 33. Further, for example, the control unit 31 causes the display unit 35 to display various screens described with reference to FIGS. 2 and 3 based on data received from the API providing system 1 or the mediation system 2 via the communication unit 33.

[4.本実施形態において実行される処理]
図7−図10は、本実施形態において実行される処理のフロー図である。図7−図10に示す処理は、制御部11が記憶部12に記憶されたプログラムに従って動作し、制御部21が記憶部22に記憶されたプログラムに従って動作し、制御部31が記憶部32に記憶されたプログラムに従って動作することによって実行される。これらの処理は、各機能ブロックが実行する処理の一例である。
[4. Processing executed in this embodiment]
7 to 10 are flowcharts of processing executed in the present embodiment. 7 to 10, the control unit 11 operates according to the program stored in the storage unit 12, the control unit 21 operates according to the program stored in the storage unit 22, and the control unit 31 operates in the storage unit 32. It is executed by operating according to a stored program. These processes are examples of processes executed by each functional block.

図7に示すように、まず、ユーザ端末30において、仲介システム2が提供するサービスのアプリケーションが起動したり、仲介システム2のウェブサイトのURLが入力されたりすると、制御部31は、仲介システム2にアクセスする(S1)。仲介システム2においては、アクセスを受け付けると、仲介サーバ20の制御部21は、ユーザ端末30に対し、ログイン画面G1の表示データを送信する(S2)。表示データは、ユーザ端末30に画面を表示させるためのデータであればよく、例えば、HTMLデータであってもよいし、アプリ内の画面フレームにはめ込む画像やテキストであってもよい。   As illustrated in FIG. 7, first, when an application of a service provided by the mediation system 2 is activated or a URL of a website of the mediation system 2 is input in the user terminal 30, the control unit 31 performs the mediation system 2. (S1). In the mediation system 2, when access is accepted, the control unit 21 of the mediation server 20 transmits display data of the login screen G1 to the user terminal 30 (S2). The display data may be data for displaying a screen on the user terminal 30, and may be, for example, HTML data, or an image or text that fits into a screen frame in the application.

ユーザ端末30においては、表示データを受信すると、制御部31は、ログイン画面G1を表示部35に表示させる(S3)。ログイン画面G1から入力されたユーザアカウントとパスワードが仲介システム2に送信され、仲介サーバ20の制御部21は、ログイン認証を実行する(S4)。S3においては、ユーザ端末30は、ユーザがログイン画面G1で入力したユーザアカウントとパスワードの組み合わせを送信し、S4においては、仲介システム2は、記憶部22に記憶された当該組み合わせと一致するか否かを判定する。   In the user terminal 30, when display data is received, the control part 31 displays the login screen G1 on the display part 35 (S3). The user account and password input from the login screen G1 are transmitted to the mediation system 2, and the control unit 21 of the mediation server 20 executes login authentication (S4). In S3, the user terminal 30 transmits the combination of the user account and the password input by the user on the login screen G1, and in S4, the mediation system 2 determines whether or not the combination matches the combination stored in the storage unit 22. Determine whether.

S4におけるログイン認証が失敗した場合、所定のエラーメッセージがユーザ端末30に表示され、S3の処理に戻る。一方、S4におけるログイン認証が成功すると、仲介サーバ20の制御部21は、所定のログイン処理を実行し、ユーザ端末30に対し、メニュー画面G2の表示データを送信する(S5)。   When the login authentication in S4 fails, a predetermined error message is displayed on the user terminal 30, and the process returns to S3. On the other hand, if the login authentication in S4 is successful, the control unit 21 of the mediation server 20 executes a predetermined login process and transmits display data of the menu screen G2 to the user terminal 30 (S5).

ユーザ端末30においては、表示データを受信すると、制御部31は、メニュー画面G2を表示部35に表示させる(S6)。制御部31は、操作部34の検出信号に基づいて、仲介システム2に対し、ユーザの要求を送信する(S7)。S7においては、会計業務支援サービスに係る種々の要求が送信されてよいが、ここでは説明の簡略化のために、入出金明細の照会要求、又は、振込処理の実行要求の何れかが送信される場合を説明する。例えば、入出金明細の照会要求は、メニュー画面G2の入出金明細照会の項目が選択された場合に送信され、振込処理の実行要求は、メニュー画面G2の振込処理の項目が選択された後に、振込内容入力画面G5において振込内容が入力された場合に送信される。   In the user terminal 30, when display data is received, the control part 31 displays the menu screen G2 on the display part 35 (S6). The control unit 31 transmits a user request to the mediation system 2 based on the detection signal from the operation unit 34 (S7). In S7, various requests related to the accounting business support service may be transmitted, but here, for the sake of simplicity of explanation, either a deposit / withdrawal statement inquiry request or a transfer processing execution request is transmitted. The case will be described. For example, the deposit / withdrawal item inquiry request is transmitted when the item of deposit / withdrawal item inquiry on the menu screen G2 is selected, and the transfer process execution request is performed after the item of transfer process on the menu screen G2 is selected. This message is sent when a transfer content is input on the transfer content input screen G5.

仲介システム2においては、要求を受信すると、仲介サーバ20の制御部21は、参照系API100又は更新系API101の何れの利用要求を受信したかを判定する(S8)。S8においては、入出金明細の照会要求であれば、参照系API100の利用要求であると判定され、振込処理の実行要求であれば、更新系API101の利用要求であると判定される。   In the mediation system 2, when the request is received, the control unit 21 of the mediation server 20 determines which use request of the reference API 100 or the update API 101 is received (S8). In S8, if it is a deposit / withdrawal inquiry request, it is determined that it is a request for using the reference API 100, and if it is a transfer processing execution request, it is determined that it is a request for using the update API 101.

参照系API100の利用要求であると判定された場合(S8;参照系)、制御部21は、ユーザの参照系トークンが記憶部22に記録されているか否かを判定する(S9)。S9においては、制御部21は、仲介システム2のユーザアカウントに関連付けて、参照系トークンが記憶部22に記憶されているか否かを判定する。参照系トークンが記録されていないと判定された場合(S9;N)、仲介システム2とAPI提供システム1との間で、参照系トークンを発行するための参照系トークン発行処理が実行される(S10)。   When it is determined that the request is for using the reference system API 100 (S8; reference system), the control unit 21 determines whether or not the user's reference system token is recorded in the storage unit 22 (S9). In S <b> 9, the control unit 21 determines whether or not a reference token is stored in the storage unit 22 in association with the user account of the mediation system 2. When it is determined that the reference token is not recorded (S9; N), a reference token issuing process for issuing a reference token is executed between the mediation system 2 and the API providing system 1 ( S10).

図8は、参照系トークン発行処理の詳細を示す図である。図8に示すように、仲介システム2において、仲介サーバ20の制御部21は、API提供システム1へのリダイレクトを実行する(S101)。API提供システム1のURLが予め記憶部22に記憶されており、S101においては、制御部21は、当該URLに基づいてリダイレクトを実行する。なお、先述したように、API提供システム1へのリダイレクトが実行される旨を予めユーザ端末30に表示させ、ユーザの同意を得てもよいし、リダイレクト処理がユーザ端末30において実行されてもよい。   FIG. 8 is a diagram showing details of the reference token issuing process. As shown in FIG. 8, in the mediation system 2, the control unit 21 of the mediation server 20 executes redirection to the API providing system 1 (S101). The URL of the API providing system 1 is stored in the storage unit 22 in advance, and in S101, the control unit 21 executes redirection based on the URL. As described above, the fact that redirection to the API providing system 1 is executed may be displayed on the user terminal 30 in advance to obtain the user's consent, or redirection processing may be executed in the user terminal 30. .

S101におけるリダイレクトが実行されると、ユーザ端末30がAPI提供システム1にアクセスし、API提供システム1において、API提供サーバ10の制御部11は、ユーザ端末30に対し、ログイン画面G3の表示データを送信する(S102)。   When the redirect in S101 is executed, the user terminal 30 accesses the API providing system 1, and in the API providing system 1, the control unit 11 of the API providing server 10 sends the display data of the login screen G3 to the user terminal 30. Transmit (S102).

ユーザ端末30においては、表示データを受信すると、制御部31は、ログイン画面G3を表示部35に表示させる(S103)。ログイン画面G3から入力されたユーザアカウントとパスワードがAPI提供システム1に送信され、API提供サーバ10の制御部11は、ログイン認証を実行する(S104)。S104においては、ユーザ端末30は、ユーザがログイン画面G3で入力したユーザアカウントとパスワードの組み合わせを送信し、API提供システム1は、ユーザデータベースに格納された当該組み合わせと一致するか否かを判定する。   In the user terminal 30, when the display data is received, the control unit 31 displays the login screen G3 on the display unit 35 (S103). The user account and password input from the login screen G3 are transmitted to the API providing system 1, and the control unit 11 of the API providing server 10 executes login authentication (S104). In S104, the user terminal 30 transmits the combination of the user account and password input by the user on the login screen G3, and the API providing system 1 determines whether or not the combination matches the combination stored in the user database. .

S104におけるログイン認証が失敗した場合、所定のエラーメッセージがユーザ端末30に表示され、S103の処理に戻る。一方、S104におけるログイン認証が成功すると、API提供サーバ10の制御部11は、所定のログイン処理を実行してCookieを発行し、ユーザ端末30に対し、Cookieを送信する(S105)。S105においては、制御部11は、リアルタイムクロック等から取得した現在日時の所定時間後の時間をCookieの有効期限に設定する。先述したように、Cookieは、所定の関数に基づいて発行されるようにすればよい。なお、S104におけるログイン処理が成功した後は、ユーザ端末30がAPI提供システム1と通信する場合には、API提供システム1のユーザアカウントが適宜送信されるものとする。ユーザ端末30においては、Cookieを受信すると、制御部31は、Cookieを記憶部32に記録する(S106)。   When login authentication in S104 fails, a predetermined error message is displayed on the user terminal 30 and the process returns to S103. On the other hand, when the login authentication in S104 is successful, the control unit 11 of the API providing server 10 executes a predetermined login process, issues a cookie, and transmits the cookie to the user terminal 30 (S105). In S105, the control unit 11 sets a time after a predetermined time after the current date and time acquired from a real-time clock or the like as the expiration date of the cookie. As described above, the cookie may be issued based on a predetermined function. In addition, after the login process in S104 is successful, when the user terminal 30 communicates with the API providing system 1, the user account of the API providing system 1 is appropriately transmitted. When receiving the cookie, the user terminal 30 records the cookie in the storage unit 32 (S106).

また、API提供サーバ10の制御部11は、仲介システム2に対し、所定の認可コードを送信する(S107)。S107で送信される認可コードは、ログイン認証が成功し、参照系トークンの発行が許可されたことを示す情報である。仲介システム2においては、認可コードを受信すると、仲介サーバ20の制御部21は、参照系トークンの発行要求を送信する(S108)。参照系トークンの発行要求は、例えば、OAuth2.0のプロトコルで定められた所定形式の情報が送信されることで行われる。   Further, the control unit 11 of the API providing server 10 transmits a predetermined authorization code to the mediation system 2 (S107). The authorization code transmitted in S107 is information indicating that login authentication is successful and issuance of a reference token is permitted. In the mediation system 2, when the authorization code is received, the control unit 21 of the mediation server 20 transmits a request for issuing a reference token (S108). The reference token issuance request is made, for example, by transmitting information in a predetermined format defined by the OAuth 2.0 protocol.

API提供システム1においては、発行要求を受信すると、API提供サーバ10の制御部11は、参照系トークンを発行する(S109)。S109においては、制御部11は、記憶部12のユーザデータベースに、API提供システム1のユーザアカウントと関連付けて、発行した参照系トークンを格納する。制御部11は、仲介システム2に対し、S109で発行した参照系トークンを送信する(S110)。仲介システム2においては、参照系トークンを受信すると、仲介サーバ20の制御部21は、参照系トークンを記憶部22に記録する(S111)。S111においては、例えば、制御部21は、仲介システム2のユーザアカウントと関連付けて、参照系トークンを記録する。   In the API providing system 1, when the issue request is received, the control unit 11 of the API providing server 10 issues a reference token (S109). In S <b> 109, the control unit 11 stores the issued reference system token in the user database of the storage unit 12 in association with the user account of the API providing system 1. The control unit 11 transmits the reference token issued in S109 to the mediation system 2 (S110). In the mediation system 2, when receiving the reference token, the control unit 21 of the mediation server 20 records the reference token in the storage unit 22 (S111). In S111, for example, the control unit 21 records a reference token in association with the user account of the mediation system 2.

以上の処理によって参照系トークンが発行されると、図7に戻り、仲介システム2においては、仲介サーバ20の制御部21は、S10で発行された参照系トークンに基づいて、参照系API100の利用要求を送信する(S11)。参照系API100の利用要求には、参照する口座を識別するための情報が含まれているものとする。例えば、仲介サーバ20の記憶部22に、ユーザごとに支店名と口座番号の組み合わせを記憶しておき、当該組み合わせを利用要求に含めてもよいし、API提供システム1と仲介システム2とで互いのユーザアカウントを連携しておき、API提供システム1又は仲介システム2のユーザアカウントを利用要求に含めることで、ユーザの口座が特定されてもよい。   When the reference token is issued by the above processing, the processing returns to FIG. 7 and in the mediation system 2, the control unit 21 of the mediation server 20 uses the reference API 100 based on the reference token issued in S10. A request is transmitted (S11). It is assumed that the use request for the reference system API 100 includes information for identifying the account to be referred to. For example, a combination of a branch name and an account number may be stored for each user in the storage unit 22 of the mediation server 20, and the combination may be included in the use request, or the API providing system 1 and the mediation system 2 may mutually The user account may be specified by including the user account of the API providing system 1 or the mediation system 2 in the usage request.

API提供システム1においては、参照系API100の利用要求を受信すると、API提供サーバ10の制御部11は、ユーザデータベースに基づいて、参照系アクセストークンが有効か否かを判定する(S12)。S12においては、制御部11は、参照系アクセストークンの有効期限内であるか否かを判定する。   In the API providing system 1, when the use request for the reference API 100 is received, the control unit 11 of the API providing server 10 determines whether or not the reference access token is valid based on the user database (S12). In S12, the control unit 11 determines whether or not the reference system access token is within the expiration date.

参照系アクセストークンが有効であると判定された場合(S12;Y)、制御部11は、口座データベースに基づいて、参照系API100の応答として、仲介システム2に対し、入出金明細の照会結果を送信する(S13)。S13においては、制御部11は、参照系API100の利用要求に基づいて、参照対象となる口座を特定する。そして、制御部11は、当該口座の入出金明細情報を取得して、照会結果として送信する。   When it is determined that the reference system access token is valid (S12; Y), the control unit 11 returns the inquiry result of the deposit / withdrawal details to the intermediary system 2 as a response of the reference system API 100 based on the account database. Transmit (S13). In S <b> 13, the control unit 11 specifies an account to be referred to based on a use request for the reference API 100. And the control part 11 acquires the deposit / withdrawal detailed information of the said account, and transmits as an inquiry result.

仲介システム2においては、入出金明細の照会結果を受信すると、仲介サーバ20の制御部21は、受信した照会結果に基づいて、ユーザ端末30に対し、入出金明細画面G4の表示データを送信する(S14)。ユーザ端末30においては、表示データを受信すると、入出金明細画面G4を表示部35に表示させる(S15)。なお、ユーザがメニュー画面G2に戻る操作をした場合には、S6の処理に戻る。   In the brokerage system 2, when receiving the inquiry result of the deposit / withdrawal statement, the control unit 21 of the brokerage server 20 transmits display data of the deposit / withdrawal statement screen G4 to the user terminal 30 based on the received inquiry result. (S14). In the user terminal 30, when the display data is received, the deposit / withdrawal detail screen G4 is displayed on the display unit 35 (S15). When the user performs an operation for returning to the menu screen G2, the process returns to S6.

一方、S12において、参照系アクセストークンが無効であると判定された場合(S12;N)、図9に移り、制御部11は、仲介システム2に対し、参照系アクセストークンが無効である旨の無効エラー通知を送信する(S16)。無効エラー通知は、例えば、OAuth2.0のプロトコルで定められた所定形式の情報が送信されることで行われる。   On the other hand, when it is determined in S12 that the reference access token is invalid (S12; N), the process proceeds to FIG. 9, and the control unit 11 informs the intermediary system 2 that the reference access token is invalid. An invalid error notification is transmitted (S16). The invalid error notification is performed, for example, by transmitting information in a predetermined format defined by the OAuth 2.0 protocol.

仲介システム2においては、無効エラー通知を受信すると、仲介サーバ20の制御部21は、記憶部22に記憶された参照系リフレッシュトークンを送信する(S17)。API提供システム1においては、参照系リフレッシュトークンを受信すると、API提供サーバ10の制御部11は、記憶部12に記憶されたユーザデータベースに基づいて、受信したリフレッシュトークンが有効か否かを判定する(S18)。S18においては、制御部11は、リフレッシュトークンの有効期限内であるか否かを判定する。   In the mediation system 2, when the invalid error notification is received, the control unit 21 of the mediation server 20 transmits the reference system refresh token stored in the storage unit 22 (S17). In the API providing system 1, when the reference refresh token is received, the control unit 11 of the API providing server 10 determines whether or not the received refresh token is valid based on the user database stored in the storage unit 12. (S18). In S18, the control unit 11 determines whether or not the refresh token is within the expiration date.

参照系トークンのリフレッシュトークンが無効であると判定された場合(S18;N)、制御部11は、仲介システム2に対し、リフレッシュトークンが無効である旨の無効エラー通知を送信し(S19)、S10の参照系トークン発行処理に移行する。この場合、図8に示す参照系トークン発行処理が再び実行され、ログイン認証が成功すると、ユーザ端末30にCookieが送信され、仲介システム2に新たな参照系トークンが送信される。   When it is determined that the refresh token of the reference token is invalid (S18; N), the control unit 11 transmits an invalid error notification indicating that the refresh token is invalid to the mediation system 2 (S19). The process proceeds to the reference token issuing process of S10. In this case, when the reference token issuing process shown in FIG. 8 is executed again and the login authentication is successful, Cookie is transmitted to the user terminal 30 and a new reference token is transmitted to the intermediary system 2.

一方、S18において、参照系リフレッシュトークンが有効であると判定された場合(S18;Y)、制御部11は、参照系アクセストークンを再発行し、仲介システム2に対し、当該再発行した参照系アクセストークンを送信する(S20)。S20の処理は、S109の処理と同様であるが、S20では、参照系アクセストークンだけが発行される。なお、参照系リフレッシュトークンの有効期限は延長されるようにしてよい。   On the other hand, when it is determined in S18 that the reference system refresh token is valid (S18; Y), the control unit 11 reissues the reference system access token and sends the reissued reference system to the intermediary system 2. An access token is transmitted (S20). The process of S20 is the same as the process of S109, but only a reference access token is issued in S20. Note that the expiration date of the reference refresh token may be extended.

仲介システム2においては、参照系アクセストークンを受信すると、仲介サーバ20の制御部21は、参照系アクセストークンを記憶部22に記録する(S21)。S21においては、例えば、制御部21は、仲介システム2のユーザアカウントと関連付けて、参照系アクセストークンを記録する。その後、S11の処理に移行する。   In the mediation system 2, when the reference system access token is received, the control unit 21 of the mediation server 20 records the reference system access token in the storage unit 22 (S21). In S21, for example, the control unit 21 records a reference access token in association with the user account of the mediation system 2. Thereafter, the process proceeds to S11.

一方、図7のS8において、更新系API101の利用要求であると判定された場合(S8;更新系)、図10に移り、制御部21は、API提供システム1に対し、更新系アクセストークンの発行要求を送信する(S22)。更新系アクセストークンの発行要求は、例えば、OAuth2.0のプロトコルで定められた所定形式の情報が送信されることで行われる。   On the other hand, when it is determined in S8 of FIG. 7 that the request is for using the update API 101 (S8; update system), the process proceeds to FIG. An issue request is transmitted (S22). An update access token issuance request is made, for example, by transmitting information in a predetermined format defined by the OAuth 2.0 protocol.

API提供システム1においては、要求を受信すると、API提供サーバ10の制御部11は、ユーザ端末30との間でCookie認証を実行する(S23)。S23においては、API提供サーバ10は、ユーザ端末30にCookieの送信を要求し、ユーザ端末30は、当該要求に応じて、記憶部32に記憶されたCookie(S106で記録されたCookie)を送信する。   In the API providing system 1, when the request is received, the control unit 11 of the API providing server 10 performs cookie authentication with the user terminal 30 (S23). In S23, the API providing server 10 requests the user terminal 30 to transmit a cookie, and the user terminal 30 transmits the cookie (the cookie recorded in S106) stored in the storage unit 32 in response to the request. To do.

なお、Cookieに有効期限を設定する場合には、S23において、制御部11は、Cookieが有効期限内であるか否かを判定してもよいし、ユーザ端末30においてCookieが有効期限内であるか否かが判定されてもよい。更に、ユーザ端末30においてCookieが有効ではないと判定された場合には、S23のCookie認証が実行されることなく、S10における参照系トークン発行処理が実行され、Cookieが再発行されてもよい。   When an expiration date is set for Cookie, in S23, the control unit 11 may determine whether the cookie is within the expiration date, or the cookie is within the expiration date at the user terminal 30. It may be determined whether or not. Further, when it is determined that the cookie is not valid in the user terminal 30, the reference token issuing process in S10 may be executed and the cookie may be reissued without executing the cookie authentication in S23.

S23において、Cookie認証に失敗した場合(S23;N)、仲介システム2とAPI提供システム1との間で参照系トークン発行処理が実行され(S24)、S22の処理に戻る。S24の処理は、S10の処理と同様であり、図8に示す参照系トークン発行処理が実行され、ログイン認証が成功すると、ユーザ端末30にCookieが送信され、仲介システム2に新たな参照系トークンが送信される。これにより、S22の処理に戻ると、S23において、Cookie認証が成功する。   If Cookie authentication fails in S23 (S23; N), a reference token issuing process is executed between the mediation system 2 and the API providing system 1 (S24), and the process returns to S22. The process of S24 is the same as the process of S10. When the reference token issuing process shown in FIG. 8 is executed and the login authentication is successful, Cookie is transmitted to the user terminal 30 and a new reference token is sent to the mediation system 2. Is sent. Thereby, when returning to the process of S22, Cookie authentication is successful in S23.

一方、S23において、Cookie認証に成功した場合(S23;Y)、API提供サーバ10の制御部11は、ユーザ端末30に対し、暗証番号入力画面G6の表示データを送信する(S25)。なお、S22における更新系アクセストークンの発行要求とともに、振込内容入力画面G5において入力された振込内容が送信され、S25においては、制御部11は、当該振込内容を含む暗証番号入力画面G6の表示データを送信してもよい。   On the other hand, when the cookie authentication is successful in S23 (S23; Y), the control unit 11 of the API providing server 10 transmits the display data of the personal identification number input screen G6 to the user terminal 30 (S25). The transfer contents entered on the transfer contents input screen G5 are transmitted together with the issuance request for the updated access token in S22. In S25, the control unit 11 displays the display data of the personal identification number input screen G6 including the transfer contents. May be sent.

ユーザ端末30においては、表示データを受信すると、制御部31は、暗証番号入力画面G6を表示部35に表示させる(S26)。S26においては、振込内容とともに、暗証番号を入力することができる状態となる。暗証番号入力画面G6から入力された暗証番号がAPI提供システム1に送信され、API提供サーバ10の制御部11は、暗証番号認証を実行する(S27)。S27においては、ユーザ端末30は、ユーザが暗証番号入力画面G6で入力した暗証番号を送信し、API提供システム1は、口座データベースに格納された暗証番号と一致するか否かを判定する。   In the user terminal 30, when the display data is received, the control unit 31 displays the password input screen G6 on the display unit 35 (S26). In S26, it will be in the state which can input a PIN with a transfer content. The personal identification number input from the personal identification number input screen G6 is transmitted to the API provision system 1, and the control unit 11 of the API provision server 10 executes personal identification number authentication (S27). In S27, the user terminal 30 transmits the password entered by the user on the password input screen G6, and the API providing system 1 determines whether or not the password matches the password stored in the account database.

S27における暗証番号認証が失敗した場合、所定のエラーメッセージがユーザ端末30に表示され、S26の処理に戻る。一方、S27における暗証番号認証が成功すると、API提供サーバ10の制御部11は、仲介システム2に対し、所定の認可コードを送信する(S28)。S28で送信される認可コードは、暗証番号認証が成功し、更新系アクセストークンの発行が許可されたことを示す情報である。仲介システム2においては、認可コードを受信すると、仲介サーバ20の制御部21は、更新系アクセストークンの発行要求を送信する(S29)。   If the password authentication in S27 fails, a predetermined error message is displayed on the user terminal 30, and the process returns to S26. On the other hand, if the password authentication in S27 is successful, the control unit 11 of the API providing server 10 transmits a predetermined authorization code to the mediation system 2 (S28). The authorization code transmitted in S28 is information indicating that the password authentication has succeeded and the issuance of the update access token is permitted. In the mediation system 2, when the authorization code is received, the control unit 21 of the mediation server 20 transmits an update access token issuance request (S29).

API提供システム1においては、発行要求を受信すると、API提供サーバ10の制御部11は、更新系アクセストークンを発行する(S30)。S30においては、制御部11は、記憶部12のユーザデータベースに、API提供システム1のユーザアカウントと関連付けて、発行した更新系アクセストークンを格納する。制御部11は、仲介システム2に対し、S30で発行した更新系アクセストークンを送信する(S31)。   In the API providing system 1, when the issuance request is received, the control unit 11 of the API providing server 10 issues an update access token (S30). In S30, the control unit 11 stores the issued updated access token in the user database of the storage unit 12 in association with the user account of the API providing system 1. The control unit 11 transmits the updated access token issued in S30 to the mediation system 2 (S31).

仲介システム2においては、更新系アクセストークンを受信すると、仲介サーバ20の制御部21は、更新系アクセストークンを記憶部22に格納する(S32)。S32においては、例えば、制御部21は、仲介システム2のユーザアカウントと関連付けて、更新系アクセストークンを記録する。制御部21は、発行された更新系アクセストークンに基づいて、更新系API101の利用要求を送信する(S33)。更新系API100の利用要求には、振込内容を示す情報が含まれていてもよいし、振込内容は、S22の処理の時点で送信されていてもよい。   In the mediation system 2, when the updated access token is received, the control unit 21 of the mediation server 20 stores the updated access token in the storage unit 22 (S32). In S32, for example, the control unit 21 records an update access token in association with the user account of the mediation system 2. The control unit 21 transmits a use request for the update system API 101 based on the issued update system access token (S33). The usage request for the update system API 100 may include information indicating the transfer contents, or the transfer contents may be transmitted at the time of the process of S22.

API提供システム1においては、更新系API101の利用要求を受信すると、API提供サーバ10の制御部11は、ユーザデータベースに基づいて、更新系アクセストークンが有効か否かを判定する(S34)。S34においては、制御部11は、アクセストークンの有効期限内であるか否かを判定する。   In the API providing system 1, when the usage request for the update API 101 is received, the control unit 11 of the API provision server 10 determines whether or not the update access token is valid based on the user database (S34). In S34, the control unit 11 determines whether or not the access token is within the validity period.

更新系アクセストークンが無効であると判定された場合(S34;N)、更新系アクセストークンが無効である旨の無効エラー通知が仲介システム2に送信され、S22の処理に戻る。この場合、更新系アクセストークンの発行がやり直される。一方、更新系アクセストークンが有効であると判定された場合(S34;Y)、制御部11は、更新系API101の応答として、振込処理を実行する(S35)。S35においては、制御部11は、振込内容入力画面G5において入力された内容の振込を実行し、口座データベースを更新する。   If it is determined that the updated access token is invalid (S34; N), an invalid error notification indicating that the updated access token is invalid is transmitted to the mediation system 2, and the process returns to S22. In this case, the renewal access token is issued again. On the other hand, when it is determined that the updated access token is valid (S34; Y), the control unit 11 executes a transfer process as a response of the updated API 101 (S35). In S35, the control part 11 performs the transfer of the content input in the transfer content input screen G5, and updates an account database.

制御部11は、仲介システム2に対し、S35における振込処理の実行結果を送信する(S36)。仲介システム2においては、振込処理の実行結果を受信すると、仲介サーバ20の制御部21は、受信した実行結果に基づいて、ユーザ端末30に対し、振込完了画面G7の表示データを送信する(S37)。ユーザ端末30においては、表示データを受信すると、振込完了画面G7を表示部35に表示させる(S38)。なお、ユーザがメニュー画面G2に戻る操作をした場合には、S6の処理に戻る。   The control part 11 transmits the execution result of the transfer process in S35 to the mediation system 2 (S36). In the mediation system 2, when the transfer process execution result is received, the control unit 21 of the mediation server 20 transmits display data of the transfer completion screen G7 to the user terminal 30 based on the received execution result (S37). ). In the user terminal 30, when the display data is received, the transfer completion screen G7 is displayed on the display unit 35 (S38). When the user performs an operation for returning to the menu screen G2, the process returns to S6.

API提供システム1によれば、参照系API100の利用要求が送信された場合のログイン認証でCookieが発行されてユーザ端末30に記憶され、更新系API101の利用要求が送信された場合にCookie認証が実行される。これにより、参照系API100を利用するユーザが更新系API101を利用しようとしていること(即ち、参照系の権限を与えたユーザ端末30と同じ端末であること)を確認することができるので、仲介システム2を介して複数のAPIを提供する場合のセキュリティを高めることができる。また、更新系API101を利用するためには、少なくとも、参照系API100の利用時のログイン認証と、Cookie認証と、の2段階の認証をする必要があるため、セキュリティ性を高めることができる。また、更新系の認証ではログイン認証が行われないので、ユーザがユーザアカウントとパスワードを2回入力するといった手間を省くことができる。更に、異なる種類の認証情報を用いることで、よりセキュリティ性を高めることができる。   According to the API providing system 1, Cookie is issued and stored in the user terminal 30 by login authentication when a use request for the reference API 100 is transmitted, and Cookie authentication is performed when a use request for the update API 101 is transmitted. Executed. Accordingly, since it is possible to confirm that the user who uses the reference system API 100 intends to use the update system API 101 (that is, the same terminal as the user terminal 30 to which the authority of the reference system is given), the mediation system The security when providing a plurality of APIs via 2 can be enhanced. In addition, in order to use the update API 101, at least two steps of authentication, that is, login authentication when using the reference API 100 and Cookie authentication, are required, so that security can be improved. In addition, since login authentication is not performed in update-type authentication, it is possible to save the user from having to input a user account and a password twice. Furthermore, the security can be further improved by using different types of authentication information.

また、更新系API101を利用するための暗証番号認証は、Cookie認証が成功しないと実行されないので、更新系API101を利用するための認証を複数回実行することで、セキュリティを効果的に高めることができる。また、暗証番号認証を実行する場合には、更新系API101を利用するためには、少なくとも、参照系API100の利用時のログイン認証、Cookie認証、及び暗証番号認証の3段階の認証をする必要があるため、セキュリティ性を効果的に高めることができる。更に、これら3つの認証を異なる種類の認証情報で実行することで、よりセキュリティ性を高めることができる。   Further, since the password authentication for using the update API 101 is not executed unless the cookie authentication is successful, the security for effectively improving the security by executing the authentication for using the update API 101 a plurality of times. it can. In addition, when executing the password authentication, in order to use the update API 101, it is necessary to perform at least three steps of authentication of login, cookie authentication, and password authentication when using the reference API 100. Therefore, security can be effectively improved. Furthermore, by performing these three authentications with different types of authentication information, security can be further improved.

また、更新系API101を利用するための暗証番号認証の際に、振込内容が表示されるので、悪意のある第三者による不正な振込に未然に気付くことができる。例えば、仲介システム2がハッキング等の不正アクセスを受け、ユーザの身に覚えのない振込が第三者によって試みられたり(例えば、振込内容入力画面G5においてユーザが振込内容を入力することなく、第三者の手によって振込内容が不正に入力される等)、ユーザによる振込手続き中に第三者によって不正に割り込まれて振込先や金額の改ざんがなされようとしたりしている(例えば、振込内容入力画面G5においてユーザが振込内容を入力してから、暗証番号入力画面G6が表示されるまでの間に、第三者によって改ざんが行われる)ことを発見することができる。   Further, since the transfer contents are displayed at the time of password authentication for using the update system API 101, it is possible to notice in advance an unauthorized transfer by a malicious third party. For example, when the brokerage system 2 receives unauthorized access such as hacking, a third party tries to make a transfer that the user does not remember (for example, the user does not input the transfer content on the transfer content input screen G5 The transfer details are illegally entered by the three parties, etc.), or the transfer destination or amount of money is tampered with by a third party during the transfer procedure by the user (for example, the transfer details) It can be found that a third party has tampered with the password input screen G6 after the user inputs the transfer details on the input screen G5.

また、Cookieに有効期限を設けることで、セキュリティを効果的に高めることができる。   In addition, security can be effectively enhanced by providing an expiration date for the cookie.

また、更新系アクセストークンの有効期限を、参照系アクセストークンの有効期限よりも短く設定することで、セキュリティを効果的に高めることができる。   Moreover, security can be effectively enhanced by setting the expiration date of the renewal access token to be shorter than the expiration date of the reference access token.

また、更新系アクセストークンに基づく更新系API101の提供回数や利用期間に制限を設けることで、セキュリティを効果的に高めることができる。例えば、更新系アクセストークンをワンタイム化することで、セキュリティを効果的に高めることができる。   In addition, security can be effectively enhanced by limiting the number of times the update API 101 is provided based on the update access token and the usage period. For example, security can be effectively enhanced by making the renewal access token one-time.

また、Cookie認証に失敗した場合には、参照系トークン発行処理が実行され、ログイン認証からやり直されるので、セキュリティを効果的に高めることができる。   Further, when the cookie authentication fails, the reference token issuance process is executed and the login authentication is performed again, so that the security can be effectively improved.

[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
[5. Modified example]
The present invention is not limited to the embodiment described above. Modifications can be made as appropriate without departing from the spirit of the present invention.

例えば、Cookie認証の後に暗証番号認証が実行される場合を説明したが、Cookie認証の前に暗証番号認証が実行されてもよい。また例えば、API提供システム1は、第3認証部107を省略し、暗証番号認証は省略してもよい。   For example, although the case where the password authentication is performed after the cookie authentication has been described, the password authentication may be performed before the cookie authentication. For example, the API providing system 1 may omit the third authentication unit 107 and omit the password authentication.

また例えば、API提供システム1では、参照系API100、更新系API101、データ記憶部102、第1認証部103、第1発行部104、第1提供部105、第2認証部106、第3認証部107、第2発行部108、及び第2提供部109が、API提供サーバ10で実現される場合を説明したが、これら各機能は、API提供システム1内の複数のコンピュータで分担されてもよい。   Further, for example, in the API providing system 1, the reference API 100, the update API 101, the data storage unit 102, the first authentication unit 103, the first issuing unit 104, the first providing unit 105, the second authentication unit 106, and the third authentication unit 107, the second issuing unit 108, and the second providing unit 109 have been described as being realized by the API providing server 10, but these functions may be shared by a plurality of computers in the API providing system 1. .

例えば、API提供システム1がAPI提供サーバ10とは別にデータベースサーバを有する場合には、データ記憶部102は、データベースサーバにより実現されてもよい。また例えば、API提供システム1がAPI提供サーバ10とは別に認証サーバを有する場合には、参照系API100、更新系API101、第1提供部105、及び第2提供部109がAPI提供サーバ10によって実現され、第1認証部103、第1発行部104、第2認証部106、第3認証部107、及び第2発行部108が認証サーバによって実現されてもよい。   For example, when the API providing system 1 has a database server separately from the API providing server 10, the data storage unit 102 may be realized by a database server. For example, when the API providing system 1 has an authentication server in addition to the API providing server 10, the reference API 100, the update API 101, the first providing unit 105, and the second providing unit 109 are realized by the API providing server 10. The first authentication unit 103, the first issuing unit 104, the second authentication unit 106, the third authentication unit 107, and the second issuing unit 108 may be realized by an authentication server.

また例えば、API提供システム1が、複数のAPI提供サーバ10を有する場合には、第1のAPI提供サーバ10によって参照系API100が実現され、第2のAPI提供サーバ10によって更新系API101が実現されてもよい。また例えば、API提供システム1が、複数の認証サーバを有する場合には、第1の認証サーバによって、第1認証部103と第1発行部104が実現され、第2の認証サーバによって、第2認証部106、第3認証部107、及び第2発行部108が実現されてもよい。   Further, for example, when the API providing system 1 includes a plurality of API providing servers 10, the reference API 100 is realized by the first API providing server 10, and the update API 101 is realized by the second API providing server 10. May be. Further, for example, when the API providing system 1 has a plurality of authentication servers, the first authentication server 103 and the first issuing unit 104 are realized by the first authentication server, and the second authentication server performs the second operation. The authentication unit 106, the third authentication unit 107, and the second issuing unit 108 may be realized.

また例えば、API提供システム1のAPIによって金融サービスが提供される場合を説明したが、APIが提供するサービスは、任意のサービスであってよい。例えば、電子商取引において、商品ページを参照する参照系APIと、商品ページの編集するための編集系APIと、のセキュリティレベルを分けて、編集系APIに実施形態で説明したCookie認証を導入してもよい。また例えば、保険サービスにおいて、保険商品の参照をするための閲覧系APIと、保険商品の編集をするための編集系APIと、のセキュリティレベルを分けて、編集系APIに実施形態で説明したCookie認証を導入してもよい。また例えば、旅行予約サービスにおいて、旅行商品の閲覧をするための閲覧系APIと、旅行商品の編集をするための編集系APIと、のセキュリティレベルを分けて、編集系APIに実施形態で説明したCookie認証を導入してもよい。また例えば、SNSにおいて、自分や他人の投稿を閲覧するための閲覧系APIと、新規投稿をするための投稿系APIと、のセキュリティレベルを分けて、投稿系APIに実施形態で説明したCookie認証を導入してもよい。   For example, although the case where the financial service is provided by the API of the API providing system 1 has been described, the service provided by the API may be an arbitrary service. For example, in electronic commerce, the security level of a reference API for referring to a product page and an editing API for editing a product page are divided, and the cookie authentication described in the embodiment is introduced to the editing API. Also good. Also, for example, in the insurance service, security levels of a browsing API for referring to insurance products and an editing API for editing insurance products are divided, and the cookie described in the embodiment in the editing API is used. Authentication may be introduced. Also, for example, in the travel reservation service, the security level of the browsing API for browsing travel products and the editing API for editing travel products are divided into the editing APIs described in the embodiment. Cookie authentication may be introduced. Also, for example, in SNS, the security level of a browsing API for browsing a post of yourself or others and a posting API for making a new posting are divided, and the cookie authentication described in the embodiment in the posting API. May be introduced.

1 API提供システム、10 API提供サーバ、11,21,31 制御部、12,22,32 記憶部、13,23,33 通信部、2 仲介システム、20 仲介サーバ、30 ユーザ端末、34 操作部、35 表示部、G1 ログイン画面、G2 メニュー画面、G3 ログイン画面、G4 入出金明細画面、G5 振込内容入力画面、G6 暗証番号入力画面、G7 振込完了画面、100 参照系API、101 更新系API、102 データ記憶部、103 第1認証部、104 第1発行部、105 第1提供部、106 第2認証部、107 第3認証部、108 第2発行部、109 第2提供部。   1 API providing system, 10 API providing server, 11, 21, 31 control unit, 12, 22, 32 storage unit, 13, 23, 33 communication unit, 2 mediation system, 20 mediation server, 30 user terminal, 34 operation unit, 35 Display section, G1 login screen, G2 menu screen, G3 login screen, G4 deposit / withdrawal details screen, G5 transfer content input screen, G6 PIN input screen, G7 transfer completion screen, 100 reference API, 101 update API, 102 Data storage unit, 103 first authentication unit, 104 first issuing unit, 105 first providing unit, 106 second authenticating unit, 107 third authenticating unit, 108 second issuing unit, 109 second providing unit.

Claims (10)

仲介システムを介して複数のAPIを提供するAPI提供システムであって、
ユーザ端末から前記仲介システムに第1のAPIの利用要求が送信された場合に、当該利用要求に基づくリダイレクトを受けて、前記ユーザ端末との間で第1の認証を行う第1認証手段と、
前記第1の認証が成功した場合に、前記ユーザ端末にユーザ認証情報を発行し、前記仲介システムに、前記第1のAPIを利用するための第1の認証情報を発行する第1発行手段と、
前記仲介システムから受信した前記第1の認証情報に基づいて、前記第1のAPIを提供する第1提供手段と、
前記ユーザ端末から前記仲介システムに第2のAPIの利用要求が送信された場合に、当該利用要求に基づくリダイレクトを受けて、前記ユーザ端末との間で、前記第1発行手段により発行された前記ユーザ認証情報に基づく第2の認証を行う第2認証手段と、
前記第2の認証が成功した場合に、前記仲介システムに、前記第2のAPIを利用するための第2の認証情報を発行する第2発行手段と、
前記仲介システムから受信した前記第2の認証情報に基づいて、前記第2のAPIを提供する第2提供手段と、
を含むことを特徴とするAPI提供システム。
An API providing system that provides a plurality of APIs via an intermediary system,
A first authentication means for receiving a redirect based on the use request and performing a first authentication with the user terminal when a use request of the first API is transmitted from the user terminal to the mediation system;
First issuing means for issuing user authentication information to the user terminal and issuing first authentication information for using the first API to the intermediary system when the first authentication is successful; ,
First providing means for providing the first API based on the first authentication information received from the mediation system;
When a use request of the second API is transmitted from the user terminal to the mediation system, the redirect issued based on the use request is issued by the first issuing unit with the user terminal. Second authentication means for performing second authentication based on user authentication information;
Second issuing means for issuing second authentication information for using the second API to the mediation system when the second authentication is successful;
Second providing means for providing the second API based on the second authentication information received from the mediation system;
An API providing system comprising:
前記API提供システムは、前記第2の認証が成功した場合に、前記ユーザ端末との間で第3の認証を行う第3認証手段を更に含み、
前記第2発行手段は、前記第2の認証が成功し、かつ、前記第3の認証が成功した場合に、前記第2の認証情報を発行する、
ことを特徴とする請求項1に記載のAPI提供システム。
The API providing system further includes third authentication means for performing third authentication with the user terminal when the second authentication is successful,
The second issuing means issues the second authentication information when the second authentication is successful and the third authentication is successful.
The API providing system according to claim 1.
前記第3認証手段は、前記第3の認証が行われる場合に、前記第2のAPIの利用要求の内容を前記ユーザ端末に表示させる、
ことを特徴とする請求項2に記載のAPI提供システム。
The third authenticating unit causes the user terminal to display the content of the use request of the second API when the third authentication is performed;
The API providing system according to claim 2.
前記第1発行手段は、前記ユーザ認証情報に有効期限を設定し、
前記第2認証手段は、前記ユーザ認証情報に設定された有効期限に基づいて、前記第2の認証を行う、
ことを特徴とする請求項1〜3の何れかに記載のAPI提供システム。
The first issuing means sets an expiration date in the user authentication information,
The second authentication means performs the second authentication based on an expiration date set in the user authentication information.
The API providing system according to any one of claims 1 to 3.
前記第1発行手段は、前記第1認証情報に有効期限を設定し、
前記第1提供手段は、前記第1認証情報に設定された有効期限に基づいて、前記第1のAPIを提供し、
前記第2発行手段は、前記第2認証情報に、前記第1認証情報よりも短い有効期限を設定し、
前記第2提供手段は、前記第2認証情報に設定された、前記第1認証情報よりも短い有効期限に基づいて、前記第2のAPIを提供する、
ことを特徴とする請求項1〜4の何れかに記載のAPI提供システム。
The first issuing means sets an expiration date in the first authentication information;
The first providing means provides the first API based on an expiration date set in the first authentication information,
The second issuing means sets an expiration date shorter than the first authentication information in the second authentication information,
The second providing means provides the second API based on an expiration date set in the second authentication information and shorter than the first authentication information.
The API providing system according to any one of claims 1 to 4, wherein the system is an API providing system.
前記第2発行手段は、前記第2認証情報に基づく前記第2のAPIの提供回数又は利用期間が所定回数又は所定期間未満となるように、前記第2認証情報を発行する、
ことを特徴とする請求項1〜5の何れかに記載のAPI提供システム。
The second issuing means issues the second authentication information so that the number of times of providing or using the second API based on the second authentication information is a predetermined number of times or less than a predetermined period.
An API providing system according to any one of claims 1 to 5, wherein
前記第1認証手段は、前記第2の認証が失敗した場合に、前記ユーザ端末との間で再度の前記第1の認証を行い、
前記第1発行手段は、前記再度の第1の認証が成功した場合に、前記ユーザ端末に新たなユーザ認証情報を発行し、
前記第2認証手段は、前記新たなユーザ認証情報に基づく再度の前記第2の認証を行う、
ことを特徴とする請求項1〜6の何れかに記載のAPI提供システム。
The first authentication means performs the first authentication again with the user terminal when the second authentication fails,
The first issuing means issues new user authentication information to the user terminal when the second first authentication is successful,
The second authentication means performs the second authentication again based on the new user authentication information.
The API providing system according to claim 1, wherein the system is an API providing system.
仲介システムを介して複数のAPIを提供するための認証サーバであって、
ユーザ端末から前記仲介システムに第1のAPIの利用要求が送信された場合に、当該利用要求に基づくリダイレクトを受けて、前記ユーザ端末との間で第1の認証を行う第1認証手段と、
前記第1の認証が成功した場合に、前記ユーザ端末にユーザ認証情報を発行し、前記仲介システムに、前記第1のAPIを利用するための第1の認証情報を発行する第1発行手段と、
前記ユーザ端末から前記仲介システムに第2のAPIの利用要求が送信された場合に、当該利用要求に基づくリダイレクトを受けて、前記ユーザ端末との間で、前記ユーザ認証情報に基づく第2の認証を行う第2認証手段と、
前記第2の認証が成功した場合に、前記仲介システムに、前記第2のAPIを利用するための第2の認証情報を発行する第2発行手段と、
を含むことを特徴とする認証サーバ。
An authentication server for providing a plurality of APIs via a mediation system,
A first authentication means for receiving a redirect based on the use request and performing a first authentication with the user terminal when a use request of the first API is transmitted from the user terminal to the mediation system;
First issuing means for issuing user authentication information to the user terminal and issuing first authentication information for using the first API to the intermediary system when the first authentication is successful; ,
When a use request for the second API is transmitted from the user terminal to the mediation system, a second authentication based on the user authentication information is received from the user terminal upon receiving a redirect based on the use request. A second authentication means for performing
Second issuing means for issuing second authentication information for using the second API to the mediation system when the second authentication is successful;
An authentication server comprising:
仲介システムを介して複数のAPIを提供するAPI提供方法であって、
ユーザ端末から前記仲介システムに第1のAPIの利用要求が送信された場合に、当該利用要求に基づくリダイレクトを受けて、前記ユーザ端末との間で第1の認証を行う第1認証ステップと、
前記第1の認証が成功した場合に、前記ユーザ端末にユーザ認証情報を発行し、前記仲介システムに、前記第1のAPIを利用するための第1の認証情報を発行する第1発行ステップと、
前記仲介システムから受信した前記第1の認証情報に基づいて、前記第1のAPIを提供する第1提供ステップと、
前記ユーザ端末から前記仲介システムに第2のAPIの利用要求が送信された場合に、当該利用要求に基づくリダイレクトを受けて、前記ユーザ端末との間で、前記ユーザ認証情報に基づく第2の認証を行う第2認証ステップと、
前記第2の認証が成功した場合に、前記仲介システムに、前記第2のAPIを利用するための第2の認証情報を発行する第2発行ステップと、
前記仲介システムから受信した前記第2の認証情報に基づいて、前記第2のAPIを提供する第2提供ステップと、
を含むことを特徴とするAPI提供方法。
An API providing method for providing a plurality of APIs via an intermediary system,
A first authentication step of performing a first authentication with the user terminal in response to a redirect based on the use request when a use request of the first API is transmitted from the user terminal to the mediation system;
A first issuing step of issuing user authentication information to the user terminal and issuing first authentication information for using the first API to the mediation system when the first authentication is successful; ,
A first providing step of providing the first API based on the first authentication information received from the mediation system;
When a use request for the second API is transmitted from the user terminal to the mediation system, a second authentication based on the user authentication information is received from the user terminal upon receiving a redirect based on the use request. A second authentication step of performing
A second issuing step of issuing second authentication information for using the second API to the intermediary system when the second authentication is successful;
A second providing step of providing the second API based on the second authentication information received from the mediation system;
A method for providing an API, comprising:
ユーザ端末から仲介システムに第1のAPIの利用要求が送信された場合に、当該利用要求に基づくリダイレクトを受けて、前記ユーザ端末との間で第1の認証を行う第1認証手段、
前記第1の認証が成功した場合に、前記ユーザ端末にユーザ認証情報を発行し、前記仲介システムに、前記第1のAPIを利用するための第1の認証情報を発行する第1発行手段、
前記ユーザ端末から前記仲介システムに第2のAPIの利用要求が送信された場合に、当該利用要求に基づくリダイレクトを受けて、前記ユーザ端末との間で、前記ユーザ認証情報に基づく第2の認証を行う第2認証手段、
前記第2の認証が成功した場合に、前記仲介システムに、前記第2のAPIを利用するための第2の認証情報を発行する第2発行手段、
としてコンピュータを機能させるためのプログラム。
A first authentication means for receiving a redirect based on the use request and performing a first authentication with the user terminal when a use request of the first API is transmitted from the user terminal to the mediation system;
First issuing means for issuing user authentication information to the user terminal and issuing first authentication information for using the first API to the intermediary system when the first authentication is successful;
When a use request for the second API is transmitted from the user terminal to the mediation system, a second authentication based on the user authentication information is received from the user terminal upon receiving a redirect based on the use request. A second authentication means for performing
Second issuing means for issuing second authentication information for using the second API to the intermediary system when the second authentication is successful;
As a program to make the computer function as.
JP2018052047A 2018-03-20 2018-03-20 API providing system, authentication server, API providing method, and program Active JP6748667B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018052047A JP6748667B2 (en) 2018-03-20 2018-03-20 API providing system, authentication server, API providing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018052047A JP6748667B2 (en) 2018-03-20 2018-03-20 API providing system, authentication server, API providing method, and program

Publications (2)

Publication Number Publication Date
JP2019164590A true JP2019164590A (en) 2019-09-26
JP6748667B2 JP6748667B2 (en) 2020-09-02

Family

ID=68064525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018052047A Active JP6748667B2 (en) 2018-03-20 2018-03-20 API providing system, authentication server, API providing method, and program

Country Status (1)

Country Link
JP (1) JP6748667B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022007438A (en) * 2020-06-26 2022-01-13 楽天銀行株式会社 Log-in management system, log-in management method, and program
JP7085700B1 (en) 2022-01-26 2022-06-16 PayPay株式会社 Service delivery system, service delivery method, and program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003527646A (en) * 1999-03-29 2003-09-16 アマゾン コム インコーポレイテッド Method and system for authenticating a user when performing a business transaction using a computer
JP2008197973A (en) * 2007-02-14 2008-08-28 Mitsubishi Electric Corp User authentication system
JP2010525471A (en) * 2007-04-27 2010-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Stepwise authentication system
US20140282983A1 (en) * 2012-07-02 2014-09-18 Sk Planet Co., Ltd. Single certificate service system and operational method thereof
JP2015125510A (en) * 2013-12-25 2015-07-06 キヤノン株式会社 Authority management server and authority management method
US20170006021A1 (en) * 2015-06-30 2017-01-05 Vmware, Inc. Providing a single session experience across multiple applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003527646A (en) * 1999-03-29 2003-09-16 アマゾン コム インコーポレイテッド Method and system for authenticating a user when performing a business transaction using a computer
JP2008197973A (en) * 2007-02-14 2008-08-28 Mitsubishi Electric Corp User authentication system
JP2010525471A (en) * 2007-04-27 2010-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Stepwise authentication system
US20140282983A1 (en) * 2012-07-02 2014-09-18 Sk Planet Co., Ltd. Single certificate service system and operational method thereof
JP2015125510A (en) * 2013-12-25 2015-07-06 キヤノン株式会社 Authority management server and authority management method
US20170006021A1 (en) * 2015-06-30 2017-01-05 Vmware, Inc. Providing a single session experience across multiple applications

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022007438A (en) * 2020-06-26 2022-01-13 楽天銀行株式会社 Log-in management system, log-in management method, and program
JP7175937B2 (en) 2020-06-26 2022-11-21 楽天銀行株式会社 Login management system, login management method, and program
JP7085700B1 (en) 2022-01-26 2022-06-16 PayPay株式会社 Service delivery system, service delivery method, and program
JP2023108968A (en) * 2022-01-26 2023-08-07 PayPay株式会社 Service providing system, service providing method, and program

Also Published As

Publication number Publication date
JP6748667B2 (en) 2020-09-02

Similar Documents

Publication Publication Date Title
US20210226941A1 (en) System and method for electronic credentials
JP5850587B1 (en) Personal information account banking
JP6046765B2 (en) System and method enabling multi-party and multi-level authorization to access confidential information
CN101473589B (en) Enhanced security for electronic communications
JP6448813B2 (en) Information processing apparatus and information processing method
JP4996085B2 (en) Service providing apparatus and program
US20100332336A9 (en) System and method for electronic wallet conversion
KR102190192B1 (en) Method, system and application for providing open authentication intermediary service on open banking environment
US11546316B1 (en) System and method for receiving information among computer systems without enabling log ins if the user identifiers are compromised
JP6748667B2 (en) API providing system, authentication server, API providing method, and program
JP2005115597A (en) Card management system and card information management method
KR101360843B1 (en) Next Generation Financial System
KR100622086B1 (en) System and method for furnishing the authentication key to users to be identified
US20230334491A1 (en) Systems, Methods, and Computer Program Products for Authenticating Devices
JP2015062116A (en) Method for payment processing
KR102130659B1 (en) Joint certification service system using application programming interface
JP2005084822A (en) Unauthorized utilization notification method, and unauthorized utilization notification program
JP6009521B2 (en) User identification system, method and program
US11811745B1 (en) System and method for receiving information among computer systems without enabling log ins if the user identifiers are compromised
US20240020355A1 (en) Non-fungible token authentication
JP6247410B1 (en) Transfer control system, financial institution system, accounting system, transfer control system control method, financial institution system control method, accounting system control method, and program
KR20160006652A (en) Method for Connecting Settlement Account and Payment Means
KR101041113B1 (en) System and Method for Managing Financial Goods Related Financial Education and Program Recording Medium
JP2008217487A (en) Financial processing system and account lock method
KR20100045047A (en) Sysem and method for managing plural check-card&#39;s virtual account connected with settlement account and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200721

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200807

R150 Certificate of patent or registration of utility model

Ref document number: 6748667

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250