[go: up one dir, main page]

KR102389714B1 - SSO authentication and API service system and method using authentication token API and shared database - Google Patents

SSO authentication and API service system and method using authentication token API and shared database Download PDF

Info

Publication number
KR102389714B1
KR102389714B1 KR1020210129366A KR20210129366A KR102389714B1 KR 102389714 B1 KR102389714 B1 KR 102389714B1 KR 1020210129366 A KR1020210129366 A KR 1020210129366A KR 20210129366 A KR20210129366 A KR 20210129366A KR 102389714 B1 KR102389714 B1 KR 102389714B1
Authority
KR
South Korea
Prior art keywords
application program
authentication
api
authentication token
database server
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.)
Active
Application number
KR1020210129366A
Other languages
Korean (ko)
Inventor
이인섭
Original Assignee
이인섭
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 이인섭 filed Critical 이인섭
Priority to KR1020210129366A priority Critical patent/KR102389714B1/en
Application granted granted Critical
Publication of KR102389714B1 publication Critical patent/KR102389714B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L67/16

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

이 발명은, 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 시스템 및 방법에 관한 것으로서, 이 발명의 방법의 구성은, 제1 어플리케이션 프로그램에서 사용자 단말기로부터 제2 어플리케이션 프로그램으로의 로그인 요청이 있는지를 확인하는 단계와, 사용자 단말기로부터 제2 어플리케이션 프로그램으로의 로그인 요청이 있는 경우에 제1 어플리케이션 프로그램에서 인증 데이터베이스 서버에 인증토큰 생성을 요청하는 단계와, 인증 데이터베이스 서버에서 인증토큰 생성을 하여 제1 어플리케이션 프로그램에 전송하는 단계와, 인증 데이터베이스 서버에서 전송받은 인증토큰과 함께 사이트 URL을 이용하여 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램에 싱글사인온(SSO) 인증을 요청하는 단계와, 제2 어플리케이션 프로그램에서 제1 어플리케이션 프로그램의 싱글사인온(SSO) 인증 요청을 접수하는 단계와, 제2 어플리케이션 프로그램에서 인증토큰을 확인하는 단계와, 제2 어플리케이션 프로그램에서 제1 어플리케이션 프로그램에 인증토큰 검증을 요청하는 단계와, 제1 어플리케이션 프로그램에서 인증 데이터베이스 서버에 인증토큰 검증을 요청하는 단계와, 인증 데이터베이스 서버에서 인증토큰을 검증하여 그 결과를 제1 어플리케이션 프로그램에 전송하는 단계와, 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램에 인증토큰 검증결과를 전송하는 단계와, 제1 어플리케이션 프로그램에서 전송받은 검증결과를 이용하여 제2 어플리케이션 프로그램에서 사용자 단말기의 싱글사인온(SSO) 로그인을 허용하거나 반려하는 단계를 포함하여 이루어진다.The present invention relates to a single sign-on (SSO) authentication and API service system and method using an authentication token API and a shared database. Checking whether there is a login request from the terminal to the second application program, and when there is a login request from the user terminal to the second application program, requesting generation of an authentication token from the authentication database server from the first application program; , generating an authentication token in the authentication database server and transmitting it to the first application program; Single sign-on (SSO) from the first application program to the second application program using the site URL together with the authentication token received from the authentication database server Requesting authentication, receiving a single sign-on (SSO) authentication request of a first application program in a second application program, confirming an authentication token in a second application program, and a first in a second application program requesting verification of the authentication token from the application program; requesting verification of the authentication token from the authentication database server in the first application program; and verifying the authentication token in the authentication database server and transmitting the result to the first application program And, transmitting the authentication token verification result from the first application program to the second application program, and allowing single sign-on (SSO) login of the user terminal in the second application program using the verification result transmitted from the first application program This is done including the step of accepting or rejecting.

Description

인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 시스템 및 방법{SSO authentication and API service system and method using authentication token API and shared database}SSO authentication and API service system and method using authentication token API and shared database}

이 발명은 인증토큰 에이피아이(API, Aplication Programming Interface)와 공유 데이터베이스를 이용한 싱글사인온(Single Sign On, 이하 'SSO'라 약칭한다) 인증 및 에이피아이(API) 서비스 시스템 및 방법에 관한 것으로서, 좀더 세부적으로 말하자면 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램으로 로그인하고자 하는 경우에 제1 어플리케이션 프로그램과 관련된 시스템 서버의 인증토큰 에이파아이(API)를 이용하여 싱글사인온(SSO) 인증할 수 있도록 하고, 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램에 대한 에이피아이(API) 자료를 이용하고자 하는 경우에 공유 데이터베이스 서버의 인증토큰을 이용하여 싱글사인온(SSO) 인증할 수 있도록 함으로써 별도의 싱글사인온(SSO) 모듈의 설치를 필요로 하지 않는, 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 시스템 및 방법에 관한 것이다.The present invention relates to a single sign-on (hereinafter abbreviated as 'SSO') authentication and API service system and method using an authentication token API (Application Programming Interface) and a shared database, and more Specifically, when logging in from the first application program to the second application program, single sign-on (SSO) authentication is possible using the authentication token API of the system server related to the first application program, and When one application program wants to use API data for the second application program, it enables single sign-on (SSO) authentication using the authentication token of the shared database server. It relates to a single sign-on (SSO) authentication and API service system and method using an authentication token API and a shared database that does not require installation.

싱글사인온(SSO)은 하나의 아이디로 여러 사이트를 이용할 수 있는 시스템이다. 여러 개의 사이트를 운영하는 대기업이나 인터넷관련 기업이 각각의 회원을 통합 관리할 필요성이 생김에 따라 개발된 방식으로, 1997년 IBM이 개발하였으며 우리나라에는 2000년 코리아닷컴이 처음 도입하였다. 이후 삼성전자와 SK 등이 도입하며 활성화되어, 애니패스, 오케이캐쉬백, 롯데타운 등 다양한 사이트와 네티그리티·다우기술 등 솔루션공급업체도 많이 설립되었다.Single sign-on (SSO) is a system that allows you to use multiple sites with one ID. This method was developed in response to the need for integrated management of individual members by large corporations or Internet-related companies operating multiple sites. IBM developed it in 1997 and Korea.com first introduced it in Korea in 2000. After that, Samsung Electronics and SK were introduced and activated, and various sites such as Anypass, OK Cashback, Lotte Town, and solution providers such as Netigritity and Dow Technology were established.

개인의 경우, 사이트에 접속하기 위하여 아이디와 패스워드는 물론 이름·전화번호등 개인정보를 각 사이트마다 일일이 기록해야 하던 것을 한 번의 작업으로끝나므로 불편함이 해소되며, 기업에서는 회원에 대한 통합관리가 가능해 마케팅을극대화시킬 수 있다는 장점이 있다. 특히 권한관리시스템(EAM)과 함께 사용할 경우보안성과 효율성을 함께 갖춘 통합인증시스템으로 활용할 수 있어 향후 더욱 인기를 끌 것으로 전망된다.In the case of individuals, the inconvenience of having to record personal information such as name and phone number as well as ID and password to access the site is completed with one operation, and the company provides integrated management of members. This has the advantage of maximizing marketing. In particular, when used together with an EAM, it can be used as an integrated authentication system with both security and efficiency, so it is expected to become more popular in the future.

하지만, 종래의 싱글사인온(SSO)은 별도의 싱글사인온(SSO) 모듈을 설치해야 하는 불편함이 있다. However, the conventional single sign-on (SSO) has the inconvenience of having to install a separate single sign-on (SSO) module.

한편, 에이피아이(API)는 운영체제와 응용 프로그램 사이의 통신에 사용되는 언어나 메시지 형식으로서, 공공데이터 포털, 증권사, 온라인 대형서점 알라딘, 카카오톡 등에서는 에이피아이(API)를 이용하여 자신들의 데이터를 사용자들에게 제공하고 있고, 사용자는 에이피아이(API)를 이용하여 공공데이터 포털, 증권사, 온라인 대형서점 알라딘, 카카오톡 등으로부터 데이터를 가져다가 사용할 수가 있다. 따라서 응용 프로그램들은 에이피아이(API)를 이용하여 데이터를 서로 주고받을 수가 있다.On the other hand, API is a language or message format used for communication between the operating system and application programs, and public data portals, securities companies, online large bookstores Aladdin, KakaoTalk, etc. is provided to users, and users can use APIs to bring data from public data portals, securities companies, large online bookstores Aladdin, KakaoTalk, etc. Therefore, application programs can exchange data with each other using API.

에이피아이(API)의 인증 방법으로는 API 인증토큰 방식, API Key 방식, TLS 방식 등이 있다.API authentication methods include API authentication token method, API key method, TLS method, and the like.

상기 API 인증토큰 방식은 에이피아이(API) 제공자가 에이피아이(API) 사용자를 사용자 ID와 패스워드(password)를 통해 인증하고, 인증된 에이피아이(API) 사용자를 대상으로 유효기간이 있는 인증토큰을 발급하는 방식이다. In the API authentication token method, an API provider authenticates an API user through a user ID and password, and provides an authentication token with an expiration date to the authenticated API user. method of issuance.

인증토큰은 개인 식별 번호(PIN)와 토큰 장치(하드웨어나 소프트웨어)를 사용하는 이중 인증 방법으로서, 하드웨어적으로는 비밀번호를 프로그램화한 스마트 카드가 있고, 소프트웨어적으로는 PIN을 입력하면 컴퓨터에 설치된 소프트웨어로 인증 비밀번호를 생성한다. 이중 인증은 단일 비밀번호 인증보다 보안성이 좋고 강력한 인증 방법이다. 토큰 인증에는 서버가 토큰 장치에 시도 메시지를 보내 암호와 일치시키는 비동기 방식과 서버와 토큰 장치가 동시에 시도 메시지를 처리하는 동기 인증 방법이 있다.An authentication token is a two-factor authentication method that uses a personal identification number (PIN) and a token device (hardware or software). In terms of hardware, there is a smart card with a programmed password, and in terms of software, if a PIN is entered, the Generate an authentication password with the software. Two-factor authentication is more secure and stronger than single-password authentication. In token authentication, there are an asynchronous method in which the server sends a challenge message to the token device to match the password, and a synchronous authentication method in which the server and the token device process the challenge message at the same time.

참고로, 사용자 장치에 일회용 인증토큰 생성 정보 및 일반 에이피아이(API) 인증토큰을 제공하는 단계와, 상기 사용자 장치로부터 에이피아이(API)가 호출됨에 따라 상기 일회용 에이피아이(API) 인증토큰 생성용 정보를 기반으로 생성된 일회용 에이피아이(API) 인증토큰 및 일반 에이피아이(API) 인증토큰을 이용하여 인증한 결과에 따라 에이피아이(API) 호출을 처리하는 단계를 포함하는, 두개의 에이피아이(API) 인증토큰을 이용하는 에이피아이(API) 인증 방법이 대한민국 공개특허공보 공개번호 10-2017-0067527호(공개일자 2017년 06월 16일)의 "두개의 API 토큰을 이용한 API 인증장치 및 방법"에서 개시된 바 있다. For reference, providing a one-time authentication token generation information and a general API authentication token to a user device, and generating the one-time API authentication token as an API is called from the user device Two apis ( API) API authentication method using authentication token "API authentication device and method using two API tokens" of Korean Patent Publication No. 10-2017-0067527 (published on June 16, 2017) has been disclosed in

그러나, 상기한 공개번호 10-2017-0067527호는 싱글사인온(SSO) 인증에 적용하기가 쉽지 않은 문제점이 있다.However, the above publication No. 10-2017-0067527 has a problem in that it is not easy to apply to single sign-on (SSO) authentication.

공개특허공보 공개번호 10-2017-0067527호Laid-Open Patent Publication No. 10-2017-0067527

이 발명의 목적은 상기한 바와 같은 종래의 문제점을 해결하기 위한 것으로서, 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램으로 로그인하고자 하는 경우에 제1 어플리케이션 프로그램과 관련된 시스템 서버의 인증토큰 에이파아이(API)를 이용하여 싱글사인온(SSO) 인증할 수 있도록 함으로써 별도의 싱글사인온(SSO) 모듈의 설치를 필요로 하지 않는, 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 시스템 및 방법을 제공하는 데 있다. An object of the present invention is to solve the problems of the related art as described above, and when a user wants to log in from a first application program to a second application program, the authentication token API of the system server related to the first application program is Single sign-on (SSO) authentication using authentication token API (API) and shared database that does not require the installation of a separate single sign-on (SSO) module by enabling single sign-on (SSO) authentication using (API) to provide a service system and method.

이 발명의 다른 목적은, 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램에 대한 에이피아이(API) 자료를 이용하고자 하는 경우에 공유 데이터베이스 서버의 인증토큰을 이용하여 싱글사인온(SSO) 인증할 수 있도록 함으로써 별도의 싱글사인온(SSO) 모듈의 설치를 필요로 하지 않는, 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 시스템 및 방법을 제공하는 데 있다. Another object of the present invention is to enable single sign-on (SSO) authentication using an authentication token of a shared database server when a first application program wants to use API data for a second application program. An object of the present invention is to provide a single sign-on (SSO) authentication and API service system and method using an authentication token API (API) and a shared database that does not require installation of a single sign-on (SSO) module.

상기한 목적을 달성하기 위한 수단으로서 이 발명의 방법의 구성은, 제1 어플리케이션 프로그램에서 사용자 단말기로부터 제2 어플리케이션 프로그램으로의 로그인 요청이 있는지를 확인하는 단계와, 사용자 단말기로부터 제2 어플리케이션 프로그램으로의 로그인 요청이 있는 경우에 제1 어플리케이션 프로그램에서 인증 데이터베이스 서버에 인증토큰 생성을 요청하는 단계와, 인증 데이터베이스 서버에서 인증토큰 생성을 하여 제1 어플리케이션 프로그램에 전송하는 단계와, 인증 데이터베이스 서버에서 전송받은 인증토큰과 함께 사이트 URL(Uniform Rsource Locator)을 이용하여 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램에 싱글사인온(SSO) 인증을 요청하는 단계와, 제2 어플리케이션 프로그램에서 제1 어플리케이션 프로그램의 싱글사인온(SSO) 인증 요청을 접수하는 단계와, 제2 어플리케이션 프로그램에서 인증토큰을 확인하는 단계와, 제2 어플리케이션 프로그램에서 제1 어플리케이션 프로그램에 인증토큰 검증을 요청하는 단계와, 제1 어플리케이션 프로그램에서 인증 데이터베이스 서버에 인증토큰 검증을 요청하는 단계와, 인증 데이터베이스 서버에서 인증토큰을 검증하여 그 결과를 제1 어플리케이션 프로그램에 전송하는 단계와, 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램에 인증토큰 검증결과를 전송하는 단계와, 제1 어플리케이션 프로그램에서 전송받은 검증결과를 이용하여 제2 어플리케이션 프로그램에서 사용자 단말기의 싱글사인온(SSO) 로그인을 허용하거나 반려하는 단계를 포함하여 이루어지면 바람직하다. As a means for achieving the above object, the configuration of the method of the present invention includes the steps of: checking whether there is a login request from the user terminal to the second application program in the first application program; When there is a login request, the first application program requests the authentication database server to generate an authentication token, the authentication database server generates an authentication token and transmits it to the first application program, and the authentication received from the authentication database server A step of requesting single sign-on (SSO) authentication from a first application program to a second application program using a site URL (Uniform Source Locator) together with a token, and single sign-on (SSO) of the first application program from the second application program Receiving an authentication request, confirming an authentication token in a second application program, requesting verification of an authentication token from a second application program to a first application program, and authentication from the first application program to the authentication database server requesting token verification; verifying the authentication token in the authentication database server and transmitting the result to the first application program; transmitting the authentication token verification result from the first application program to the second application program; It is preferable to include the step of allowing or rejecting single sign-on (SSO) login of the user terminal in the second application program using the verification result transmitted from the first application program.

이 발명의 방법의 구성은, 제1 어플리케이션 프로그램에서 사용자 단말기로부터 제2 어플리케이션 프로그램에 대한 에이피아이(API) 서비스 요청이 있는지를 확인하는 단계와, 사용자 단말기로부터 제2 어플리케이션 프로그램에 대한 API 서비스 요청이 있는 경우에, 제1 어플리케이션 프로그램에서 공유 데이터베이스 서버에 인증토큰 생성을 요청하는 단계와, 공유 데이터베이스 서버에서 인증토큰 생성을 하여 제1 어플리케이션 프로그램에 전송하는 단계와, 공유 데이터베이스 서버에서 전송받은 인증토큰을 이용하여 제1 어플리케이션 프로그램이 제2 어플리케이션 프로그램에 에이피아이(API) 서비스를 요청하는 단계와, 제2 어플리케이션 프로그램에서 제1 어플리케이션 프로그램의 에이피아이(API) 서비스 요청을 접수하는 단계와, 제2 어플리케이션 프로그램에서 인증토큰을 확인하는 단계와, 제2 어플리케이션 프로그램에서 공유 데이터베이스 서버에 인증토큰 검증을 요청하는 단계와, 공유 데이터베이스 서버에서 인증토큰을 검증하여 그 결과를 제2 어플리케이션 프로그램에 전송하는 단계와, 인증토큰 검증결과에 따라 제2 어플리케이션 프로그램에서 에이피아이(API) 데이터를 제공 또는 반려하는 단계와, 제2 어플리케이션 프로그램에서 제공받은 에이피아이(API) 데이터를 이용하여 제1 어플리케이션 프로그램에서 에이피아이(API) 서비스를 처리하는 단계를 더 포함하여 이루어지면 바람직하다.The configuration of the method of the present invention includes the steps of checking whether there is an API service request for a second application program from a user terminal in a first application program, and an API service request for a second application program from the user terminal. If there is, the step of requesting generation of an authentication token from the shared database server in the first application program, the steps of generating an authentication token in the shared database server and transmitting it to the first application program, and the authentication token transmitted from the shared database server Using the first application program to request an API service to a second application program, the second application program to receive an API service request from the first application program; Checking the authentication token in the program, requesting the authentication token verification from the shared database server in the second application program, verifying the authentication token in the shared database server, and transmitting the result to the second application program; A step of providing or rejecting API data in the second application program according to the authentication token verification result, and the API data provided by the second application program in the first application program ) It is preferable to further include the step of processing the service.

이 발명의 방법의 구성은, 상기 제1 어플리케이션 프로그램은 인사관리 프로그램, 생산관리 프로그램중 어느 하나이고, 상기 제2 어플리케이션 프로그램은 인사관리 프로그램, 생산관리 프로그램중 상기 제1 어플리케이션 프로그램과 다른 어느 하나이면 바람직하다.In the configuration of the method of the present invention, the first application program is any one of a personnel management program and a production management program, and the second application program is any one of the personnel management program and the production management program that is different from the first application program desirable.

이 발명의 방법의 구성은, 제2 어플리케이션 프로그램에서 에이피아이(API) 데이터를 반려하는 경우에는, 제1 어플리케이션 프로그램은 제2 어플리케이션 프로그램과 동종의 웹사이트에서 웹크롤링을 이용하여 자료를 획득하는 단계를 더 포함하여 이루어지면 바람직하다.The configuration of the method of the present invention includes the steps of, when API data is returned by the second application program, the first application program acquires data using web crawling from a website of the same type as the second application program It is preferable if it is made to further include.

이 발명의 시스템의 구성은, 상기 방법을 수행하며, 네트워크에 연결되어 있으며 제1 어플리케이션 프로그램을 제공하는 제1 시스템 서버와, 상기 제1 시스템 서버에 연결되어 있는 인증 데이터베이스 서버와, 상기 인증 데이터베이스 서버에 연결되어 있으며 싱글사인온(SSO) 인증을 위한 인증토큰 테이블을 가지고 있는 인증 데이터베이스와, 네트워크에 연결되어 있으며 제2 어플리케이션 프로그램을 제공하는 제2 시스템 서버와, 네트워크에 연결되어 있는 공유 데이터베이스 서버와, 상기 공유 데이터베이스 서버에 연결되어 있으며 API 서비스를 위한 인증토큰 테이블을 가지고 있는 공유 데이터베이스와, 제1 어플리케이션 프로그램과 제2 어플리케이션 프로그램을 통하여 네트워크에 연결되어 있는 사용자 단말기를 포함하여 이루어지면 바람직하다. The configuration of the system of the present invention includes a first system server that performs the above method and is connected to a network and provides a first application program, an authentication database server connected to the first system server, and the authentication database server An authentication database connected to and having an authentication token table for single sign-on (SSO) authentication, a second system server connected to a network and providing a second application program, a shared database server connected to the network; It is preferable to include a shared database connected to the shared database server and having an authentication token table for API services, and a user terminal connected to a network through a first application program and a second application program.

이 발명의 시스템의 구성은, 상기 공유 데이터베이스는 이중화되어 있어서, 하나의 데이터 베이스가 활성상태로 서비스하고 있으면 다른 데이터 베이스는 대기상태에 있다가, 활성화 데이터 베이스에 장애가 발생되면 대기상태에 있던 데이터 베이스가 자동으로 활성상태가 되면 바람직하다.In the configuration of the system of the present invention, the shared database is duplicated, and when one database is in active service, the other database is in the standby state. It is desirable if is automatically activated.

이 발명은, 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램으로 로그인하고자 하는 경우에 제1 어플리케이션 프로그램과 관련된 시스템 서버의 인증토큰 에이파아이(API)를 이용하여 싱글사인온(SSO) 인증할 수 있도록 하고, 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램에 대한 에이피아이(API) 자료를 이용하고자 하는 경우에 공유 데이터베이스 서버의 인증토큰을 이용하여 싱글사인온(SSO) 인증할 수 있도록 함으로써 별도의 싱글사인온(SSO) 모듈의 설치를 필요로 하지 않는, 효과를 갖는다.The present invention enables single sign-on (SSO) authentication by using the authentication token API of the system server related to the first application program when logging in from the first application program to the second application program, Separate single sign-on (SSO) module by enabling single sign-on (SSO) authentication using the authentication token of the shared database server when the first application program wants to use API data for the second application program It does not require the installation of, and has the effect.

도 1은 이 발명의 일 실시예에 따른 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 시스템의 구성도이다.
도 2는 이 발명의 일 실시예에 따른 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 방법의 순서도이다.
1 is a block diagram of a single sign-on (SSO) authentication and API service system using an authentication token API and a shared database according to an embodiment of the present invention.
2 is a flowchart of a single sign-on (SSO) authentication and API service method using an authentication token API and a shared database according to an embodiment of the present invention.

이하, 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 이 발명을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 이 발명의 바람직한 실시예를 첨부된 도면을 참조로 하여 상세히 설명하기로 한다. 이 발명의 목적, 작용, 효과를 포함하여 기타 다른 목적들, 특징점들, 그리고 동작상의 이점들이 바람직한 실시예의 설명에 의해 보다 명확해질 것이다. Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings in order to describe in detail enough that a person of ordinary skill in the art can easily carry out this invention. Other objects, features, and operational advantages, including the object, action, effect, and other objects of this invention will become clearer by the description of the preferred embodiment.

참고로, 여기에서 개시되는 실시예는 여러가지 실시가능한 예중에서 당업자의 이해를 돕기 위하여 가장 바람직한 실시예를 선정하여 제시한 것일 뿐, 이 발명의 기술적 사상이 반드시 제시된 실시예에만 의해서 한정되거나 제한되는 것은 아니고, 이 발명의 기술적 사상을 벗어나지 않는 범위내에서 균등물 내지 대체물들을 포함하는 다양한 변화와 부가 및 변경이 가능하다.For reference, the embodiments disclosed herein are only presented by selecting and presenting the most preferred embodiments in order to help those skilled in the art understand from among various possible examples, and the technical spirit of the present invention is not necessarily limited or limited only by the presented embodiments. No, various changes, additions, and modifications including equivalents or substitutes are possible without departing from the technical spirit of the present invention.

또한, 본원의 명세서 및 청구범위에 사용된 용어나 단어의 표현은, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 정의된 것으로서, 통상적이거나 사전적인 의미로만 한정해서 해석되어서는 아니되며, 이 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 일예로서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하며, 방향에 관한 표현은 설명상의 편의를 위하여 도면상에 표현된 위치를 기준으로 설정하며, "연결된다"거나 "접속된다"라는 표현은 직접적인 연결 또는 접속뿐만이 아니라 중간에 다른 구성요소를 매개로 하는 연결 또는 접속을 포함한다. In addition, the terms or expressions used in the specification and claims of the present application are defined based on the principle that the inventor can appropriately define the concept of the term in order to best describe his invention. , should not be construed as being limited only to the ordinary or dictionary meaning, but should be interpreted as meaning and concept consistent with the technical idea of this invention. As an example, the singular expression includes a plural expression unless the context clearly indicates otherwise, and the expression regarding the direction is set based on the position expressed on the drawing for convenience of description, and is "connected" or "connected" The expression "to be" includes not only a direct connection or connection, but also a connection or connection through another element in the middle.

도 1은 이 발명의 일 실시예에 따른 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 시스템의 구성도이다.1 is a block diagram of a single sign-on (SSO) authentication and API service system using an authentication token API and a shared database according to an embodiment of the present invention.

도 1에 도시되어 있는 바와 같이, 이 발명의 일실시예에 따른 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 시스템의 구성은, 네트워크(10)에 연결되어 있으며 제1 어플리케이션 프로그램(51)을 제공하는 제1 시스템 서버(20)와, 상기 제1 시스템 서버(20)에 연결되어 있는 인증 데이터베이스 서버(21)와, 상기 인증 데이터베이스 서버(21)에 연결되어 있으며 싱글사인온(SSO) 인증을 위한 인증토큰 테이블을 가지고 있는 인증 데이터베이스(22)와, 네트워크(10)에 연결되어 있으며 제2 어플리케이션 프로그램(52)을 제공하는 제2 시스템 서버(30)와, 네트워크(10)에 연결되어 있는 공유 데이터베이스 서버(40)와, 상기 공유 데이터베이스 서버(40)에 연결되어 있으며 으며 API 서비스를 위한 인증토큰 테이블을 가지고 있는 공유 데이터베이스(41)와, 제1 어플리케이션 프로그램(51)과 제2 어플리케이션 프로그램(52)을 통하여 네트워크(10)에 연결되어 있는 사용자 단말기(50)를 포함하여 이루어진다.As shown in FIG. 1, the configuration of the single sign-on (SSO) authentication and API service system using an authentication token API and a shared database according to an embodiment of the present invention is a network 10 ) and a first system server 20 that provides a first application program 51, an authentication database server 21 connected to the first system server 20, and the authentication database server 21 ) and an authentication database 22 having an authentication token table for single sign-on (SSO) authentication, and a second system server 30 connected to the network 10 and providing a second application program 52 ), the shared database server 40 connected to the network 10, the shared database 41 connected to the shared database server 40 and having an authentication token table for API services, and the first The user terminal 50 is connected to the network 10 through the application program 51 and the second application program 52 .

상기 네트워크(10)는 인터넷을 기본으로 하며, 그외에도 WAN(Wide Area Network), LAN(Local Area Network), 와이파이(Wi-Fi), 블루투스, 3G, 4G, 5G LTE(Long Term Evolution) 등을 포함할 수 있다.The network 10 is based on the Internet, and in addition to WAN (Wide Area Network), LAN (Local Area Network), Wi-Fi, Bluetooth, 3G, 4G, 5G Long Term Evolution (LTE), etc. may include

상기 공유 데이터베이스(41)는 이중화되어 있어서, 하나의 데이터 베이스가 활성상태로 서비스하고 있으면 다른 데이터 베이스는 대기상태에 있다가, 활성화 데이터 베이스에 장애가 발생되면 대기상태에 있던 데이터 베이스가 자동으로 활성상태가 되는 구조로 이루어진다.The shared database 41 is duplicated, so that if one database is in active service, the other database is in the standby state. is made up of a structure that becomes

상기 제1 어플리케이션 프로그램(51)은 인사관리 프로그램, 생산관리 프로그램중 어느 하나이고, 상기 제2 어플리케이션 프로그램(52)은 인사관리 프로그램, 생산관리 프로그램중 상기 제1 어플리케이션 프로그램과 다른 어느 하나이다.The first application program 51 is any one of a personnel management program and a production management program, and the second application program 52 is any one different from the first application program among the personnel management program and the production management program.

상기 제1 시스템 서버(2)와 제2 시스템 서버(30)는 한 회사내에서 제공될 수도 있고, 서로 다른 회사에서 제공될 수도 있다.The first system server 2 and the second system server 30 may be provided within one company or may be provided by different companies.

상기 사용자 단말기(50))는 적어도 하나 이상 연결되며, 컴퓨터, 스마트폰, PMP(Portable Multimedia Player), PDA(Personal Digital Assistants), 그 외의 무선 또는 유선으로 네트워크에 연결할 수 있는 전자기기로 이루어진다. The user terminal 50) is connected to at least one, and is composed of a computer, a smart phone, a Portable Multimedia Player (PMP), a Personal Digital Assistants (PDA), and other electronic devices that can be connected to the network through a wireless or wired network.

도 2는 이 발명의 일 실시예에 따른 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 방법의 순서도이다.2 is a flowchart of a single sign-on (SSO) authentication and API service method using an authentication token API and a shared database according to an embodiment of the present invention.

도 2에 도시되어 있는 바와 같이 이 발명의 일 실시예에 따른 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 방법은, 제1 어플리케이션 프로그램에서 사용자 단말기로부터 제2 어플리케이션 프로그램으로의 로그인 요청이 있는지를 확인하는 단계(S10)와, 사용자 단말기로부터 제2 어플리케이션 프로그램으로의 로그인 요청이 있는 경우에 제1 어플리케이션 프로그램에서 인증 데이터베이스 서버에 인증토큰 생성을 요청하는 단계(S20)와, 인증 데이터베이스 서버에서 인증토큰 생성을 하여 제1 어플리케이션 프로그램에 전송하는 단계(S30)와, 인증 데이터베이스 서버에서 전송받은 인증토큰과 함께 사이트 URL(UNIFORM Rsource Locator)을 이용하여 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램에 싱글사인온(SSO) 인증을 요청하는 단계(S40)와, 제2 어플리케이션 프로그램에서 제1 어플리케이션 프로그램의 싱글사인온(SSO) 인증 요청을 접수하는 단계(S50)와, 제2 어플리케이션 프로그램에서 인증토큰을 확인하는 단계(S60)와, 제2 어플리케이션 프로그램에서 제1 어플리케이션 프로그램에 인증토큰 검증을 요청하는 단계(S70)와, 제1 어플리케이션 프로그램에서 인증 데이터베이스 서버에 인증토큰 검증을 요청하는 단계(S80)와, 인증 데이터베이스 서버에서 인증토큰을 검증하여 그 결과를 제1 어플리케이션 프로그램에 전송하는 단계(S90)와, 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램에 인증토큰 검증결과를 전송하는 단계(S100)와, 제1 어플리케이션 프로그램에서 전송받은 검증결과를 이용하여 제2 어플리케이션 프로그램에서 사용자 단말기의 싱글사인온(SSO) 로그인을 허용하거나 반려하는 단계(S110)와, 제1 어플리케이션 프로그램에서 사용자 단말기로부터 제2 어플리케이션 프로그램에 대한 에이피아이(API) 서비스 요청이 있는지를 확인하는 단계(S120)와, 사용자 단말기로부터 제2 어플리케이션 프로그램에 대한 API 서비스 요청이 있는 경우에, 제1 어플리케이션 프로그램에서 공유 데이터베이스 서버에 인증토큰 생성을 요청하는 단계(S130)와, 공유 데이터베이스 서버에서 인증토큰 생성을 하여 제1 어플리케이션 프로그램에 전송하는 단계(S140)와, 공유 데이터베이스 서버에서 전송받은 인증토큰을 이용하여 제1 어플리케이션 프로그램이 제2 어플리케이션 프로그램에 에이피아이(API) 서비스를 요청하는 단계(S150)와, 제2 어플리케이션 프로그램에서 제1 어플리케이션 프로그램의 에이피아이(API) 서비스 요청을 접수하는 단계(S160)와, 제2 어플리케이션 프로그램에서 인증토큰을 확인하는 단계(S170)와, 제2 어플리케이션 프로그램에서 공유 데이터베이스 서버에 인증토큰 검증을 요청하는 단계(S180)와, 공유 데이터베이스 서버에서 인증토큰을 검증하여 그 결과를 제2 어플리케이션 프로그램에 전송하는 단계(S190)와, 인증토큰 검증결과에 따라 제2 어플리케이션 프로그램에서 에이피아이(API) 데이터를 제공 또는 반려하는 단계(S200)와, 제2 어플리케이션 프로그램에서 제공받은 에이피아이(API) 데이터를 이용하여 제1 어플리케이션 프로그램에서 에이피아이(API) 서비스를 처리하는 단계(S210)를 포함하여 이루어진다.As shown in FIG. 2, the single sign-on (SSO) authentication and API service method using an authentication token API and a shared database according to an embodiment of the present invention, the user in the first application program Step (S10) of confirming whether there is a login request from the terminal to the second application program, and when there is a login request from the user terminal to the second application program, the first application program requests the authentication database server to generate an authentication token (S20), generating an authentication token from the authentication database server and transmitting it to the first application program (S30), and using the site URL (UNIFORM Source Locator) together with the authentication token received from the authentication database server The step of requesting single sign-on (SSO) authentication from the first application program to the second application program (S40), and the step of receiving the single sign-on (SSO) authentication request of the first application program from the second application program (S50); Confirming the authentication token in the second application program (S60), requesting the authentication token verification from the first application program in the second application program (S70), and verifying the authentication token from the authentication database server in the first application program requesting (S80), verifying the authentication token in the authentication database server and transmitting the result to the first application program (S90), and transmitting the authentication token verification result from the first application program to the second application program step (S100), allowing or rejecting single sign-on (SSO) login of the user terminal in the second application program using the verification result transmitted from the first application program (S110), and the user in the first application program Checking whether there is an API service request for the second application program from the terminal (S120), and the second application program from the user terminal (S120) 2 When there is an API service request for the application program, the step of requesting generation of an authentication token from the shared database server in the first application program (S130), and generating an authentication token from the shared database server and transmitting it to the first application program Step (S140), the first application program requesting an API service to the second application program using the authentication token transmitted from the shared database server (S150), and the first application in the second application program Steps of receiving the API service request of the program (S160), checking the authentication token in the second application program (S170), and requesting the authentication token verification from the shared database server in the second application program (S180), the step of verifying the authentication token in the shared database server and transmitting the result to the second application program (S190), and according to the authentication token verification result, the second application program provides API data or The step of rejecting (S200) and the step of processing the API (API) service in the first application program using the API data provided by the second application program (S210) are included.

상기 제1 어플리케이션 프로그램은 인사관리 프로그램, 생산관리 프로그램중 어느 하나이고, 상기 제2 어플리케이션 프로그램은 인사관리 프로그램, 생산관리 프로그램중 상기 제1 어플리케이션 프로그램과 다른 어느 하나이다.The first application program is any one of a personnel management program and a production management program, and the second application program is any one different from the first application program among the personnel management program and the production management program.

만약, 제2 어플리케이션 프로그램에서 에이피아이(API) 데이터를 반려하는 경우에는, 제1 어플리케이션 프로그램은 제2 어플리케이션 프로그램과 동종의 웹사이트에서 웹크롤링을 이용하여 자료를 획득하는 단계를 더 포함하여 이루어질 수 았다.If the second application program rejects API data, the first application program may further include the step of obtaining data by web crawling from a website of the same type as the second application program. it was

상기한 구성에 의한, 이 발명의 일실시예에 따른 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 시스템 및 방법의 작용은 다음과 같다.The operation of the single sign-on (SSO) authentication and API service system and method using an authentication token API and a shared database according to an embodiment of the present invention by the above configuration is as follows.

사용자 단말기(50)가 네트워크(10)를 통하여 제1 시스템 서버(20)에서 제공하는 제1 어플리케이션 프로그램(51)에 접속한 뒤에, 제1 어플리케이션 프로그램(51)을 이용하여 작업을 하다가, 제1 어플리케이션 프로그램(51)에 링크되어 있는 제2 어플리케이션 프로그램(52)에 접속하기를 희망하는 경우에 제2 어플리케이션 프로그램(52)으로 로그인 요청을 하게 된다.After the user terminal 50 connects to the first application program 51 provided by the first system server 20 through the network 10 , while working using the first application program 51 , the first When it is desired to access the second application program 52 linked to the application program 51 , a login request is made to the second application program 52 .

상기 제1 어플리케이션 프로그램(51)은 예를 들면 인사관리 프로그램이고, 상기 제2 어플리케이션 프로그램(52)은 예를 들면 생산관리 프로그램으로서, 상기 제1 어플리케이션 프로그램(51)은 제1 시스템 서버(20)에서 제공되고, 상기 제2 어플리케이션 프로그램(52)은 제2 시스템 서버(30)에서 제공된다. The first application program 51 is, for example, a personnel management program, the second application program 52 is, for example, a production management program, and the first application program 51 is the first system server 20 . , and the second application program 52 is provided by the second system server 30 .

제1 어플리케이션 프로그램(51)에서는 사용자 단말기(50)로부터 제2 어플리케이션 프로그램(52)으로의 로그인 요청이 있는지를 확인하여(S10), 사용자 단말기(50)로부터 제2 어플리케이션 프로그램(52)으로의 로그인 요청이 있는 경우에 제1 어플리케이션 프로그램(51)에서는 인증 데이터베이스 서버(21)에 인증토큰 생성을 요청한다(S20).The first application program 51 checks whether there is a login request from the user terminal 50 to the second application program 52 (S10), and logs in from the user terminal 50 to the second application program 52 (S10). When there is a request, the first application program 51 requests the authentication database server 21 to generate an authentication token (S20).

제1 어플리케이션 프로그램(51)으로부터 인증토큰 생성요청이 있는 경우에, 인증 데이터베이스 서버(21)에서는 인증 데이터베이스(22)의 인증토큰 테이블로부터 인증토큰 생성을 하여 제1 어플리케이션 프로그램(51)에 전송한다(S30).When there is a request for generating an authentication token from the first application program 51, the authentication database server 21 generates an authentication token from the authentication token table of the authentication database 22 and transmits it to the first application program 51 ( S30).

제1 어플리케이션 프로그램(51)에서는 인증 데이터베이스 서버(21)에서 전송받은 인증토큰과 함께 사이트 URL(Uniform Rsource Locator)을 이용하여 제2 어플리케이션 프로그램(52)에 싱글사인온(SSO) 인증을 요청한다(S40). The first application program 51 requests single sign-on (SSO) authentication to the second application program 52 by using the site URL (Uniform Source Locator) together with the authentication token transmitted from the authentication database server 21 (S40). ).

제2 어플리케이션 프로그램(52)에서는 제1 어플리케이션 프로그램(51)의 싱글사인온(SSO) 인증 요청을 접수한 뒤에(S50), 제1 어플리케이션 프로그램(51)으로부터 전송받은 인증토큰을 확인한다(S60). The second application program 52 checks the authentication token received from the first application program 51 after receiving the single sign-on (SSO) authentication request of the first application program 51 (S50) (S60).

다음에, 제2 어플리케이션 프로그램(52)은 제1 어플리케이션 프로그램(51)에 인증토큰 검증을 요청한다(S70). Next, the second application program 52 requests the first application program 51 to verify the authentication token (S70).

제2 어플리케이션 프로그램(52)으로부터의 인증토큰 검증 요청이 접수되면, 제1 어플리케이션 프로그램(51)은 인증 데이터베이스 서버(21)에 인증토큰 검증을 요청한다(S80). When the authentication token verification request from the second application program 52 is received, the first application program 51 requests the authentication database server 21 to verify the authentication token (S80).

제1 어플리케이션 프로그램(51)으로부터의 인증토큰 검증 요청이 접수되면,인증 데이터베이스 서버(21)는 인증 데이터 베이스(22)의 인증토큰 테이블로부터 인증토큰을 검증하여 그 결과를 제1 어플리케이션 프로그램(51)에 전송한다(S90). When the authentication token verification request from the first application program 51 is received, the authentication database server 21 verifies the authentication token from the authentication token table of the authentication database 22 and returns the result to the first application program 51 . to (S90).

인증 데이터베이스 서버(21)로부터 인증토큰 검증결과가 접수되면, 제1 어플리케이션 프로그램(51)은 제2 어플리케이션 프로그램(52)에 인증토큰 검증결과를 전송한다(S100). When the authentication token verification result is received from the authentication database server 21, the first application program 51 transmits the authentication token verification result to the second application program 52 (S100).

제2 어플리케이션 프로그램(52)은 제1 어플리케이션 프로그램(51)에서 전송받은 인증토큰 검증결과를 이용하여 사용자 단말기(50)의 로그인을 허용하거나 반려한다(S110).The second application program 52 permits or rejects the login of the user terminal 50 using the authentication token verification result transmitted from the first application program 51 (S110).

제2 어플리케이션 프로그램(52)에서 사용자 단말기(50)의 로그인이 허용되는 경우에, 사용자 단말기(50)는 제1 어플리케이션 프로그램(51)으로부터 제2 어플리케이션 프로그램(52)으로 새로운 가입이나 로그인 절차를 거치지 않고도 제2 어플리케이션 프로그램에 로그인함으로써 싱글사인온(SSO) 인증을 할 수 있게 된다.When the login of the user terminal 50 is permitted in the second application program 52 , the user terminal 50 does not go through a new registration or login procedure from the first application program 51 to the second application program 52 . It is possible to perform single sign-on (SSO) authentication by logging in to the second application program without any need.

한편, 사용자 단말기(50)가 제1 어플리케이션 프로그램(51)을 이용하여 작업을 하는 도중에, 제2 어플리케이션 프로그램(52)에서 제공하는 에이파아이(API) 자료를 이용하기를 희망하는 경우에, 예를 들면 인사관리 프로그램에서 작업을 하다가 생산관리 프로그램에서 제공하는 에이피아이(API) 생산관리 자료가 필요한 경우에, 에이피아이(API) 서비스 요청을 하게 된다.On the other hand, when the user terminal 50 desires to use API data provided by the second application program 52 while working using the first application program 51 , yes For example, when working in the personnel management program and needing API production management data provided by the production management program, API service requests are made.

제1 어플리케이션 프로그램(51)은 사용자 단말기(50)로부터 제2 어플리케이션 프로그램에 대한 에이피아이(API) 서비스 요청이 있는지를 확인하여(S120), 사용자 단말기(50)로부터 제2 어플리케이션 프로그램(52)에 대한 에이피아이(API) 서비스 요청이 있는 경우에, 제1 어플리케이션 프로그램(51)에서는 공유 데이터베이스 서버(40)에 인증토큰 생성을 요청한다(S130).The first application program 51 checks whether there is an API service request for the second application program from the user terminal 50 (S120), When there is a request for an API service, the first application program 51 requests the shared database server 40 to generate an authentication token (S130).

제1 어플리케이션 프로그램(51)으로부터 인증토큰 생성 요청이 있는 경우에, 공유 데이터베이스 서버(40)에서는 공유 데이터베이스(41)의 인증토큰 테이블로부터 인증토큰 생성을 하여 제1 어플리케이션 프로그램(51)에 전송한다(S140).When there is a request for generating an authentication token from the first application program 51, the shared database server 40 generates an authentication token from the authentication token table of the shared database 41 and transmits it to the first application program 51 ( S140).

제1 어플리케이션 프로그램(51)에서는 공유 데이터베이스 서버(40)에서 전송받은 인증토큰과 함께 사이트 URL(UNIFORM Rsource Locator)을 이용하여 제2 어플리케이션 프로그램(52)에 에이피아이(API) 서비스를 요청한다(S150). The first application program 51 requests an API service to the second application program 52 using a UNIFORM Resource Locator (URL) together with the authentication token transmitted from the shared database server 40 (S150). ).

제2 어플리케이션 프로그램(52)에서는 제1 어플리케이션 프로그램(51)의 에이피아이(API) 서비스 요청을 접수한 뒤에(S160), 제1 어플리케이션 프로그램(51)으로부터 전송받은 인증토큰을 확인한다(S170). After receiving the API service request of the first application program 51 ( S160 ), the second application program 52 checks the authentication token received from the first application program 51 ( S170 ).

다음에, 제2 어플리케이션 프로그램(52)은 공유 데이터베이스 서버(40)에 직접 인증토큰 검증을 요청한다(S180). Next, the second application program 52 directly requests the authentication token verification to the shared database server 40 (S180).

제2 어플리케이션 프로그램(52)으로부터의 인증토큰 검증 요청이 접수되면, 공유 데이터베이스 서버(40)는 공유 데이터베이스(41)의 인증토큰 테이블로부터 인증토큰을 검증하여 그 결과를 제2 어플리케이션 프로그램(52)에 전송한다(S190).When the authentication token verification request from the second application program 52 is received, the shared database server 40 verifies the authentication token from the authentication token table of the shared database 41 and sends the result to the second application program 52 transmit (S190).

제2 어플리케이션 프로그램(52)은 제1 어플리케이션 프로그램(51)에서 전송받은 인증토큰 검증결과에 따라 제1 어플리케이션 프로그램(51)에 에이피아이(API) 데이터를 제공하거나 반려한다(S200). The second application program 52 provides or rejects API data to the first application program 51 according to the verification result of the authentication token received from the first application program 51 ( S200 ).

제2 어플리케이션 프로그램(51)으로부터 에이피아이(API) 데이터가 제공되면, 제1 어플리케이션 프로그램(51)은 이를 이용하여 에이피아이(API) 서비스를 처리할 수 있게 된다(S210).When API data is provided from the second application program 51, the first application program 51 can process the API service by using the data (S210).

만약, 제2 어플리케이션 프로그램에서 에이피아이(API) 데이터를 반려하는 경우에는, 제1 어플리케이션 프로그램은 제2 어플리케이션 프로그램과 동종의 웹사이트에서 웹크롤링을 이용하여 자료를 획득할 수 있다.If the second application program rejects API data, the first application program may acquire data from a website of the same type as the second application program by web crawling.

10 : 네트워크 20 : 제1 시스템 서버
21 : 인증 데이터베이스 서버 22 : 인증 데이터 베이스
30 : 제2 시스템 서버 40 : 공유 데이터베이스 서버
41 : 공유 데이터베이스 50 : 사용자 단말기
51 : 제1 어플리케이션 프로그램 52 : 제2 어플리케이션 프로그램
10: network 20: first system server
21: authentication database server 22: authentication database
30: second system server 40: shared database server
41: shared database 50: user terminal
51: first application program 52: second application program

Claims (6)

삭제delete 제1 어플리케이션 프로그램에서 사용자 단말기로부터 제2 어플리케이션 프로그램으로의 로그인 요청이 있는지를 확인하는 단계와,
사용자 단말기로부터 제2 어플리케이션 프로그램으로의 로그인 요청이 있는 경우에 제1 어플리케이션 프로그램에서 인증 데이터베이스 서버에 인증토큰 생성을 요청하는 단계와,
인증 데이터베이스 서버에서 인증토큰 생성을 하여 제1 어플리케이션 프로그램에 전송하는 단계와,
인증 데이터베이스 서버에서 전송받은 인증토큰과 함께 사이트 URL(Uniform Rsource Locator)을 이용하여 제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램에 싱글사인온(SSO) 인증을 요청하는 단계와,
제2 어플리케이션 프로그램에서 제1 어플리케이션 프로그램의 싱글사인온(SSO) 인증 요청을 접수하는 단계와,
제2 어플리케이션 프로그램에서 인증토큰을 확인하는 단계와,
제2 어플리케이션 프로그램에서 제1 어플리케이션 프로그램에 인증토큰 검증을 요청하는 단계와,
제1 어플리케이션 프로그램에서 인증 데이터베이스 서버에 인증토큰 검증을 요청하는 단계와,
인증 데이터베이스 서버에서 인증토큰을 검증하여 그 결과를 제1 어플리케이션 프로그램에 전송하는 단계와,
제1 어플리케이션 프로그램에서 제2 어플리케이션 프로그램에 인증토큰 검증결과를 전송하는 단계와,
제1 어플리케이션 프로그램에서 전송받은 검증결과를 이용하여 제2 어플리케이션 프로그램에서 사용자 단말기의 싱글사인온(SSO) 로그인을 허용하거나 반려하는 단계를 포함하며,
제1 어플리케이션 프로그램에서 사용자 단말기로부터 제2 어플리케이션 프로그램에 대한 에이피아이(API) 서비스 요청이 있는지를 확인하는 단계와,
사용자 단말기로부터 제2 어플리케이션 프로그램에 대한 API 서비스 요청이 있는 경우에, 제1 어플리케이션 프로그램에서 공유 데이터베이스 서버에 인증토큰 생성을 요청하는 단계와,
공유 데이터베이스 서버에서 인증토큰 생성을 하여 제1 어플리케이션 프로그램에 전송하는 단계와,
공유 데이터베이스 서버에서 전송받은 인증토큰을 이용하여 제1 어플리케이션 프로그램이 제2 어플리케이션 프로그램에 에이피아이(API) 서비스를 요청하는 단계와,
제2 어플리케이션 프로그램에서 제1 어플리케이션 프로그램의 에이피아이(API) 서비스 요청을 접수하는 단계와,
제2 어플리케이션 프로그램에서 인증토큰을 확인하는 단계와,
제2 어플리케이션 프로그램에서 공유 데이터베이스 서버에 인증토큰 검증을 요청하는 단계와,
공유 데이터베이스 서버에서 인증토큰을 검증하여 그 결과를 제2 어플리케이션 프로그램에 전송하는 단계와,
인증토큰 검증결과에 따라 제2 어플리케이션 프로그램에서 에이피아이(API) 데이터를 제공 또는 반려하는 단계와,
제2 어플리케이션 프로그램에서 제공받은 에이피아이(API) 데이터를 이용하여 제1 어플리케이션 프로그램에서 에이피아이(API) 서비스를 처리하는 단계를 포함하여 이루어지는 것을 특징으로 하는 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 방법.
Checking whether there is a login request from the user terminal to the second application program in the first application program;
When there is a login request from the user terminal to the second application program, the step of requesting to generate an authentication token from the authentication database server in the first application program;
Generating an authentication token in the authentication database server and transmitting it to the first application program;
requesting single sign-on (SSO) authentication from a first application program to a second application program using a site URL (Uniform Source Locator) together with an authentication token transmitted from an authentication database server;
Receiving a single sign-on (SSO) authentication request of the first application program in the second application program;
Checking the authentication token in the second application program;
requesting verification token verification from the first application program in the second application program;
A step of requesting authentication token verification from the authentication database server in the first application program;
Verifying the authentication token in the authentication database server and transmitting the result to the first application program;
transmitting the authentication token verification result from the first application program to the second application program;
Comprising the step of allowing or rejecting single sign-on (SSO) login of the user terminal in a second application program using the verification result transmitted from the first application program,
Checking whether there is an API service request for a second application program from the user terminal in the first application program;
When there is an API service request for the second application program from the user terminal, requesting the generation of an authentication token from the first application program to the shared database server;
Generating an authentication token in the shared database server and transmitting it to the first application program;
A first application program requesting an API service to a second application program using the authentication token received from the shared database server;
Receiving the API service request of the first application program in the second application program;
Checking the authentication token in the second application program;
Requesting authentication token verification from the shared database server in the second application program;
Verifying the authentication token in the shared database server and transmitting the result to a second application program;
providing or rejecting API data in the second application program according to the authentication token verification result;
An authentication token API and a shared database comprising the step of processing an API service in a first application program using API data provided by a second application program Single sign-on (SSO) authentication and API service method using.
제 2항에 있어서,
상기 제1 어플리케이션 프로그램은 인사관리 프로그램, 생산관리 프로그램중 어느 하나이고,
상기 제2 어플리케이션 프로그램은 인사관리 프로그램, 생산관리 프로그램중 상기 제1 어플리케이션 프로그램과 다른 어느 하나인 것을 특징으로 하는 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 방법.
3. The method of claim 2,
The first application program is any one of a personnel management program, a production management program,
The second application program is a single sign-on (SSO) authentication using an authentication token API (API) and a shared database, characterized in that it is different from the first application program among the personnel management program and the production management program. API) service method.
제 2항에 있어서,
제2 어플리케이션 프로그램에서 에이피아이(API) 데이터를 반려하는 경우에는, 제1 어플리케이션 프로그램은 제2 어플리케이션 프로그램과 동종의 웹사이트에서 웹크롤링을 이용하여 자료를 획득하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 방법.
3. The method of claim 2,
In the case where the second application program rejects API data, the first application program further comprises the step of acquiring data by using web crawling from a website of the same type as the second application program. Single sign-on (SSO) authentication and API service method using the authentication token API and shared database.
제 2항의 방법을 수행하며,
네트워크에 연결되어 있으며 제1 어플리케이션 프로그램을 제공하는 제1 시스템 서버와,
상기 제1 시스템 서버에 연결되어 있는 인증 데이터베이스 서버와,
상기 인증 데이터베이스 서버에 연결되어 있으며 싱글사인온(SSO) 인증을 위한 인증토큰 테이블을 가지고 있는 인증 데이터베이스와,
네트워크에 연결되어 있으며 제2 어플리케이션 프로그램을 제공하는 제2 시스템 서버와,
네트워크에 연결되어 있는 공유 데이터베이스 서버와,
상기 공유 데이터베이스 서버에 연결되어 있으며 으며 API 서비스를 위한 인증토큰 테이블을 가지고 있는 공유 데이터베이스와,
제1 어플리케이션 프로그램과 제2 어플리케이션 프로그램을 통하여 네트워크에 연결되어 있는 사용자 단말기를 포함하여 이루어지는 것을 특징으로 하는 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 시스템.
Carrying out the method of claim 2,
A first system server connected to the network and providing a first application program;
an authentication database server connected to the first system server;
an authentication database connected to the authentication database server and having an authentication token table for single sign-on (SSO) authentication;
a second system server connected to the network and providing a second application program;
a shared database server connected to the network;
A shared database connected to the shared database server and having an authentication token table for API services,
Single sign-on (SSO) authentication and API using an authentication token API and a shared database, characterized in that it includes a user terminal connected to a network through a first application program and a second application program service system.
제 5항에 있어서,
상기 공유 데이터베이스는 이중화되어 있어서, 하나의 데이터 베이스가 활성상태로 서비스하고 있으면 다른 데이터 베이스는 대기상태에 있다가, 활성화 데이터 베이스에 장애가 발생되면 대기상태에 있던 데이터 베이스가 자동으로 활성상태가 되는 것을 특징으로 하는 인증토큰 에이피아이(API)와 공유 데이터베이스를 이용한 싱글사인온(SSO) 인증 및 에이피아이(API) 서비스 시스템.
6. The method of claim 5,
The shared database is duplicated, so that if one database is servicing in an active state, the other database is in a standby state, and when a failure occurs in the active database, the database in standby automatically becomes active. Single sign-on (SSO) authentication and API service system using the authentication token API (API) and shared database.
KR1020210129366A 2021-09-30 2021-09-30 SSO authentication and API service system and method using authentication token API and shared database Active KR102389714B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210129366A KR102389714B1 (en) 2021-09-30 2021-09-30 SSO authentication and API service system and method using authentication token API and shared database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210129366A KR102389714B1 (en) 2021-09-30 2021-09-30 SSO authentication and API service system and method using authentication token API and shared database

Publications (1)

Publication Number Publication Date
KR102389714B1 true KR102389714B1 (en) 2022-04-21

Family

ID=81437304

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210129366A Active KR102389714B1 (en) 2021-09-30 2021-09-30 SSO authentication and API service system and method using authentication token API and shared database

Country Status (1)

Country Link
KR (1) KR102389714B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140069426A (en) * 2012-11-29 2014-06-10 이니텍(주) Single Sign On Method at Mobile Device
KR20170067527A (en) 2015-12-08 2017-06-16 한국전자통신연구원 Apparatus and Method for Providing API Authentication using Two API Tokens

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140069426A (en) * 2012-11-29 2014-06-10 이니텍(주) Single Sign On Method at Mobile Device
KR20170067527A (en) 2015-12-08 2017-06-16 한국전자통신연구원 Apparatus and Method for Providing API Authentication using Two API Tokens

Similar Documents

Publication Publication Date Title
JP4608579B2 (en) Secure ID management
CN1514569B (en) Method and system used for checking in different united environment
US7747856B2 (en) Session ticket authentication scheme
CN100461667C (en) Method and system for proof-of-possession operations associated with authentication assertions in a heterogeneous federated environment
US9438633B1 (en) System, method and computer program product for providing unified authentication services for online applications
US8495720B2 (en) Method and system for providing multifactor authentication
US7337468B2 (en) Methods, apparatuses and systems facilitating seamless, virtual integration of online membership models and services
US7240362B2 (en) Providing identity-related information and preventing man-in-the-middle attacks
CN102638454B (en) A plug-in single sign-on integration method for HTTP authentication protocol
US9124606B2 (en) Methods, apparatuses and systems facilitating seamless, virtual integration of online membership models and services
US20200106766A1 (en) Method and system for security assertion markup language (saml) service provider-initiated single sign-on
US20070156592A1 (en) Secure authentication method and system
JP2005516533A (en) Single sign-on on the Internet using public key cryptography
TW200810460A (en) Authentication of a principal in a federation
JP2008523486A (en) Method and system for securely combining name identifier registration profiles
JP4960738B2 (en) Authentication system, authentication method, and authentication program
JP2005011098A (en) Proxy authentication program, proxy authentication method, and proxy authentication device
WO2021107755A1 (en) A system and method for digital identity data change between proof of possession to proof of identity
CN102083066A (en) Unified safety authentication method and system
CN106357669B (en) A kind of Web system login method and log in auxiliary system
KR102389714B1 (en) SSO authentication and API service system and method using authentication token API and shared database
Sharif et al. SoK: A Survey on Technological Trends for (pre) Notified eIDAS Electronic Identity Schemes
US11716331B2 (en) Authentication method, an authentication device and a system comprising the authentication device
KR100993333B1 (en) User Authentication Method and System Considering Internet Access Tool
JP2002245008A (en) Method and apparatus for verifying right using certificate, program and recording medium

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20210930

PA0201 Request for examination
PA0302 Request for accelerated examination

Patent event date: 20211001

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20210930

Patent event code: PA03021R01I

Comment text: Patent Application

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20211213

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20220411

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20220419

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20220419

End annual number: 3

Start annual number: 1

PG1601 Publication of registration