KR102232763B1 - Single-sign-on method and system for multi-domain services - Google Patents
Single-sign-on method and system for multi-domain services Download PDFInfo
- Publication number
- KR102232763B1 KR102232763B1 KR1020190077914A KR20190077914A KR102232763B1 KR 102232763 B1 KR102232763 B1 KR 102232763B1 KR 1020190077914 A KR1020190077914 A KR 1020190077914A KR 20190077914 A KR20190077914 A KR 20190077914A KR 102232763 B1 KR102232763 B1 KR 102232763B1
- Authority
- KR
- South Korea
- Prior art keywords
- service
- authentication
- token
- server
- login
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/41—User authentication where a single sign-on provides access to a plurality of computers
Abstract
멀티 도메인 서비스들의 단일 인증을 주관하는 주관 인증 서버가, 상기 멀티 도메인 서비스들의 인증 서버들과 연동하여 단일 인증하는 방법으로서, 클라이언트의 로그인 요청에 포함된 주 계정에 대해 인증하고, 인증 성공한 상기 클라이언트로 로그인 토큰을 발급하는 단계, 상기 멀티 도메인 서비스들 중에서, 상기 로그인 토큰이 발급된 상기 주 계정에 연결된 서비스들을 제1 서비스 리스트로 생성하고, 상기 제1 서비스 리스트와 함께 단일 인증 토큰을 상기 클라이언트에게 발급하는 단계, 상기 제1 서비스 리스트에 포함된 임의 서비스의 인증 서버로부터, 단일 인증 토큰 검증 요청을 수신하면, 상기 단일 인증 토큰 검증 요청에 포함된 토큰이 상기 클라이언트로 발급한 상기 단일 인증 토큰인지 검증하는 단계, 그리고 검증 성공한 경우, 상기 임의 서비스를 상기 주 계정의 세션에 추가하고, 상기 세션의 키를 상기 임의 서비스의 인증 서버로 전달하는 단계를 포함한다. 상기 클라이언트는 사용자 단말의 브라우저이다. 상기 임의 서비스의 인증 서버는 상기 클라이언트를 위한 상기 세션의 키를 설정하고, 상기 클라이언트에 상기 임의 서비스를 이용할 수 있는 인증 쿠키를 생성할 수 있다.A method in which a host authentication server in charge of single authentication of multi-domain services performs single authentication by interworking with authentication servers of the multi-domain services. Issuing a login token, among the multi-domain services, generating a first service list of services connected to the main account to which the login token was issued, and issuing a single authentication token to the client along with the first service list The step of, when receiving a single authentication token verification request from an authentication server of an arbitrary service included in the first service list, verifying whether the token included in the single authentication token verification request is the single authentication token issued to the client. And if the verification is successful, adding the random service to the session of the main account, and passing the key of the session to the authentication server of the random service. The client is a browser of a user terminal. The authentication server of the arbitrary service may set a key of the session for the client and generate an authentication cookie that enables the client to use the arbitrary service.
Description
본 발명은 단일 인증(Single Sign On, SSO) 기술에 관한 것이다.The present invention relates to a single sign-on (SSO) technology.
SSO(Single Sign On)는 하나의 계정 로그인으로 여러 서비스들을 이용 가능하게 하는 기술로서, 단일 인증, 통합 인증, 싱글사인온, 단일 계정 로그인 등으로 부른다. Single Sign On (SSO) is a technology that enables multiple services to be used with one account login, and is referred to as single authentication, integrated authentication, single sign-on, and single account login.
SSO는 다양하게 구현될 수 있다. 예를 들어, 단말의 브라우저는 로그인 시 발급된 고유키를 쿠키로 생성하고, 쿠키를 통해 각 서비스 사이트에 접속하며, 로그아웃 시 쿠키를 삭제한다. 대체로 복수의 서비스 사이트들이 동일 도메인에서 제공되는 경우, 쿠키를 통해 SSO를 쉽게 구현할 수 있다.SSO can be implemented in various ways. For example, the browser of the terminal generates a unique key issued when logging in as a cookie, accesses each service site through the cookie, and deletes the cookie when logging out. In general, if multiple service sites are provided in the same domain, SSO can be easily implemented through cookies.
최근에는 서로 다른 도메인에서 제공되는 서비스간 연동 시도나 기업 합병 등으로, 이미 개별적인 인증 체계로 구축된 복수의 서비스 사이트들을 통합하고 단일 인증할 필요가 생기고 있다. 하지만, 다른 도메인에서 제공되는 서비스 사이트들의 경우, 크로스 도메인(cross domain) 문제가 있고, 크로스 도메인 문제를 해결하기 위한 CORS(Cross Origin Resource Sharing)는 쿠키 발급 제한 등의 제약이 존재하여 SSO 구현이 쉽지 않다. 또한, 각 서비스 사이트가 고유의 인증 서버에 의해 접근 관리되는 상황에서, 멀티 도메인 서비스들의 서로 다른 인증 서버들을 통합 인증하고, 통합적으로 세션 관리하는 것이 쉽지 않다.In recent years, due to attempts to link services provided in different domains or mergers of companies, there is a need to integrate multiple service sites already established with individual authentication systems and perform single authentication. However, in the case of service sites provided in other domains, there is a cross domain problem, and CORS (Cross Origin Resource Sharing) to solve the cross domain problem has restrictions such as cookie issuance restrictions, so it is easy to implement SSO. not. In addition, in a situation in which each service site is accessed and managed by its own authentication server, it is not easy to perform integrated authentication and integrated session management of different authentication servers of multi-domain services.
해결하고자 하는 과제는 멀티 도메인 서비스들의 단일 인증 로그인 및 로그아웃, 그리고 로그인 복구 절차 또는 재인증 절차에 사용되는 느린(lazy) 단일 인증 로그인을 제공하고, 단일 인증된 멀티 도메인 서비스들의 세션을 통합 관리하는 방법 및 그리고 이를 구현한 시스템을 제공하는 것이다. The problem to be solved is to provide a single authentication login and logout of multi-domain services, and a lazy single authentication login used in the login recovery procedure or re-authentication procedure, and integrated management of sessions of single authenticated multi-domain services. It is to provide a method and a system implementing the same.
한 실시예에 따라, 멀티 도메인 서비스들의 단일 인증을 주관하는 주관 인증 서버가, 상기 멀티 도메인 서비스들의 인증 서버들과 연동하여 단일 인증하는 방법으로서, 클라이언트의 로그인 요청에 포함된 주 계정에 대해 인증하고, 인증 성공한 상기 클라이언트로 로그인 토큰을 발급하는 단계, 상기 멀티 도메인 서비스들 중에서, 상기 로그인 토큰이 발급된 상기 주 계정에 연결된 서비스들을 제1 서비스 리스트로 생성하고, 상기 제1 서비스 리스트와 함께 단일 인증 토큰을 상기 클라이언트에게 발급하는 단계, 상기 제1 서비스 리스트에 포함된 임의 서비스의 인증 서버로부터, 단일 인증 토큰 검증 요청을 수신하면, 상기 단일 인증 토큰 검증 요청에 포함된 토큰이 상기 클라이언트로 발급한 상기 단일 인증 토큰인지 검증하는 단계, 그리고 검증 성공한 경우, 상기 임의 서비스를 상기 주 계정의 세션에 추가하고, 상기 세션의 키를 상기 임의 서비스의 인증 서버로 전달하는 단계를 포함한다. 상기 클라이언트는 사용자 단말의 브라우저이다. 상기 임의 서비스의 인증 서버는 상기 클라이언트를 위한 상기 세션의 키를 설정하고, 상기 클라이언트에 상기 임의 서비스를 이용할 수 있는 인증 쿠키를 생성한다.According to an embodiment, as a method in which a subject authentication server in charge of single authentication of multi-domain services performs single authentication by interworking with authentication servers of the multi-domain services, and authenticates a main account included in a login request of a client. , Issuing a login token to the client who has successfully authenticated, among the multi-domain services, generating services connected to the main account to which the login token is issued as a first service list, and performing single authentication together with the first service list Issuing a token to the client, upon receiving a single authentication token verification request from an authentication server of an arbitrary service included in the first service list, the token included in the single authentication token verification request is issued to the client. Verifying whether it is a single authentication token, and if the verification is successful, adding the random service to the session of the main account, and passing the key of the session to the authentication server of the random service. The client is a browser of a user terminal. The authentication server of the arbitrary service sets a key of the session for the client, and generates an authentication cookie that enables the client to use the arbitrary service.
상기 단일 인증 토큰인지 검증하는 단계는 상기 제1 서비스 리스트에 포함된 각 서비스의 인증 서버로부터, 비동기적으로 상기 단일 인증 토큰 검증 요청을 수신할 수 있다.In the step of verifying whether the single authentication token is the single authentication token, the single authentication token verification request may be asynchronously received from an authentication server of each service included in the first service list.
상기 단일 인증 방법은 상기 클라이언트의 로그아웃 요청을 전달받는 단계, 그리고 상기 주 계정의 로그인 시 생성된 상기 세션에 추가된 서비스들을 제2 서비스 리스트로 생성하고, 상기 제2 서비스 리스트를 상기 클라이언트에게 전달하는 단계를 더 포함할 수 있다. 상기 클라이언트는 상기 제2 서비스 리스트에 포함된 각 서비스의 인증 서버로 해당 서비스의 로그아웃을 요청할 수 있다.In the single authentication method, receiving a logout request from the client, generating services added to the session created when logging in to the main account as a second service list, and delivering the second service list to the client. It may further include the step of. The client may request logout of a corresponding service to an authentication server of each service included in the second service list.
상기 단일 인증 방법은 상기 클라이언트의 로그아웃 요청을 전달받는 단계, 그리고 상기 주 계정의 로그인 시 생성된 상기 세션을 삭제하여 단일 인증 로그아웃하는 단계를 더 포함할 수 있다. 상기 세션은 상기 세션의 키를 받은 서비스들이 추가된 공용 세션일 수 있다.The single authentication method may further include receiving a logout request from the client, and deleting the session created when logging in to the main account to logout single authentication. The session may be a public session to which services that have received the key of the session are added.
상기 단일 인증 방법은 상기 클라이언트에 상기 로그인 토큰을 발급한 이후, 상기 클라이언트로부터 특정 서비스에 대한 느린(lazy) 단일 인증 시작 요청을 수신하는 단계, 그리고 상기 단일 인증 토큰 또는 신규 단일 인증 토큰을 상기 클라이언트에게 발급하는 단계를 더 포함할 수 있다. 상기 클라이언트는 상기 특정 서비스의 서버에 접속한 상태에서, 상기 주관 인증 서버에 관련된 서비스 서버에서 제공하는 로그인 확인 인터페이스를 호출하여 상기 느린 단일 인증 시작을 요청할 수 있다. 또는 상기 클라이언트는 상기 특정 서비스의 서버에 접속한 상태에서, 상기 주관 인증 서버에 관련된 서비스 서버에서 제공하는 단일 인증 로그인 페이지로 이동(redirect)하여 호출하여 상기 느린 단일 인증 시작을 요청할 수 있다.The single authentication method, after issuing the login token to the client, receiving a single lazy authentication start request for a specific service from the client, and the single authentication token or a new single authentication token to the client It may further include the step of issuing. The client may request the start of the slow single authentication by calling a login confirmation interface provided by a service server related to the host authentication server while being connected to the server of the specific service. Alternatively, the client may request the slow single authentication start by redirecting to and calling a single authentication login page provided by a service server related to the host authentication server while accessing the server of the specific service.
다른 실시예에 따라, 멀티 도메인 서비스들 중 특정 서비스의 인증 서버가, 상기 멀티 도메인 서비스들의 단일 인증을 주관하는 주관 인증 서버와 연동하여, 단일 인증하는 방법으로서, 클라이언트로부터 단일 인증 토큰을 포함하는 단일 인증 요청을 수신하는 단계, 상기 주관 인증 서버로 상기 클라이언트가 상기 단일 인증 토큰에 대한 소유권을 가지는 지 소유권 검증을 요청하는 단계, 상기 주관 인증 서버로부터, 소유권 검증 결과를 수신하고, 상기 소유권 검증 결과가 성공인 경우, 상기 클라이언트를 위해 상기 소유권 검증 결과에 포함된 세션 키를 설정하는 단계, 그리고 상기 클라이언트에 상기 특정 서비스를 이용할 수 있는 인증 쿠키를 생성하는 단계를 포함한다. 상기 클라이언트는 사용자 단말의 브라우저이다. 상기 특정 서비스의 계정은 주 계정에 연결되어 있으며, 상기 단일 인증 토큰은 상기 주관 인증 서버가 상기 클라이언트에서 요청한 상기 주 계정에 대한 로그인 성공 후, 상기 클라이언트에게 발급한 토큰이다. 상기 세션 키는 상기 주 계정의 로그인 시 생성된 세션의 키이다.According to another embodiment, an authentication server of a specific service among multi-domain services interlocks with a host authentication server that manages single authentication of the multi-domain services to perform single authentication, including a single authentication token from a client. Receiving an authentication request, requesting the subject authentication server to verify ownership whether the client has ownership of the single authentication token, receiving an ownership verification result from the subject authentication server, and the ownership verification result If successful, setting a session key included in the ownership verification result for the client, and generating an authentication cookie that enables the client to use the specific service. The client is a browser of a user terminal. The account of the specific service is linked to the main account, and the single authentication token is a token issued to the client after the host authentication server successfully logs in to the main account requested by the client. The session key is a key of a session created when the main account is logged in.
상기 클라이언트는 iFrame을 이용하여 상기 특정 서비스의 인증 서버로 상기 단일 인증 요청할 수 있다.The client may request the single authentication to the authentication server of the specific service using an iFrame.
상기 단일 인증 방법은 상기 인증 쿠키를 생성한 이후, 상기 클라이언트로부터 로그아웃 요청을 수신하는 단계, 그리고 상기 클라이언트에 대한 로그아웃 처리하고, 상기 클라이언트로 로그아웃 응답하는 단계를 더 포함할 수 있다. 상기 클라이언트는 상기 주관 인증 서버로 로그아웃 요청하여 수신한 서비스 리스트를 기초로 상기 단일 인증 요청을 전송할 수 있다.The single authentication method may further include receiving a logout request from the client after generating the authentication cookie, processing logout for the client, and responding to logout to the client. The client may request logout to the host authentication server and transmit the single authentication request based on a received service list.
또 다른 실시예에 따라. 사용자 단말의 브라우저가 멀티 도메인 서비스들로 단일 인증하는 방법으로서, 멀티 도메인 서비스들의 단일 인증을 주관하는 주관 서비스 시스템으로, 주 계정에 대한 로그인 요청하고, 상기 주관 서비스 시스템으로부터 상기 주 계정에 대한 로그인 토큰을 발급받는 단계, 상기 주관 서비스 시스템으로, 상기 로그인 토큰 및 클라이언트 정보를 포함하는 단일 인증 시작 요청을 전송하고, 상기 주관 서비스 시스템으로부터 상기 주 계정에 연결된 서비스들을 포함하는 제1 서비스 리스트와 함께 단일 인증 토큰을 발급받는 단계, 그리고 상기 제1 서비스 리스트에 포함된 각 서비스의 인증 서버로, 상기 단일 인증 토큰을 포함하는 단일 인증 요청을 전송하고, 해당 서비스의 인증 서버로부터 발급된 해당 서비스의 인증 쿠키를 설정하는 단계를 포함한다.According to another embodiment. A method in which a browser of a user terminal performs single authentication with multi-domain services, which is a host service system that manages single authentication of multi-domain services, requests login for a main account, and a login token for the main account from the host service system. Issuing, to the host service system, sending a single authentication start request including the login token and client information, and single authentication with a first service list including services connected to the primary account from the host service system Issuing a token, and transmitting a single authentication request including the single authentication token to the authentication server of each service included in the first service list, and sending an authentication cookie of the corresponding service issued from the authentication server of the corresponding service. Including the step of setting.
상기 단일 인증 방법은 상기 주관 서비스 시스템으로 로그아웃 요청하고, 상기 주관 서비스 시스템으로부터 상기 주 계정의 로그인 시 생성된 상기 세션에 추가된 서비스들을 포함하는 제2 서비스 리스트를 수신하는 단계, 그리고 상기 제2 서비스 리스트에 포함된 각 서비스의 인증 서버로 해당 서비스의 로그아웃을 요청하는 단계를 더 포함할 수 있다.The single authentication method includes the steps of requesting logout to the host service system and receiving a second service list including services added to the session created when the main account is logged in from the host service system, and the second The step of requesting logout of the corresponding service to the authentication server of each service included in the service list may be further included.
상기 단일 인증 방법은 상기 멀티 도메인 서비스들 중 특정 서비스의 서비스 서버에 접속한 상태에서, 상기 서비스 서버로부터 로그인 필요 응답을 수신하는 단계, 상기 주관 서비스 시스템으로 상기 특정 서비스에 대한 느린(lazy) 단일 인증 시작을 요청하는 단계, 상기 주관 서비스 시스템으로부터 상기 단일 인증 토큰 또는 신규 단일 인증 토큰을 발급받는 단계, 그리고 상기 특정 서비스의 인증 서버로 상기 특정 서비스에 대해 발급받은 토큰을 포함하는 단일 인증 요청을 전송하고, 상기 특정 서비스의 인증 서버로부터 발급된 상기 특정 서비스의 인증 쿠키를 설정하는 단계를 더 포함할 수 있다.The single authentication method includes receiving a login request response from the service server while accessing a service server of a specific service among the multi-domain services, and lazy single authentication for the specific service with the host service system. Requesting a start, receiving the single authentication token or a new single authentication token from the host service system, and transmitting a single authentication request including the token issued for the specific service to the authentication server of the specific service, And setting an authentication cookie of the specific service issued from the authentication server of the specific service.
상기 느린 단일 인증 시작을 요청하는 단계는 상기 로그인 토큰을 JSONP로 전달함으로써 상기 느린 단일 인증 시작을 요청할 수 있다.The step of requesting the slow single authentication start may request the slow single authentication start by passing the login token to JSONP.
상기 느린 단일 인증 시작을 요청하는 단계는 상기 특정 서비스의 서비스 페이지에서 상기 주관 서비스 시스템의 단일 인증 로그인 페이지로 이동(redirect)한 후, 상기 로그인 토큰을 상기 주관 서비스 시스템으로 전달함으로써 상기 느린 단일 인증 시작을 요청할 수 있다.The step of requesting the start of the slow single authentication may include redirecting from the service page of the specific service to the single authentication login page of the host service system, and then transferring the login token to the host service system to start the slow single authentication. Can be requested.
상기 느린 단일 인증 시작을 요청하는 단계는 상기 로그인 토큰을 JSONP로 전달할 수 없는 경우, 상기 특정 서비스의 서비스 페이지에서 상기 주관 서비스 시스템의 단일 인증 로그인 페이지로 이동(redirect)한 후, 상기 로그인 토큰을 상기 주관 서비스 시스템으로 전달함으로써 상기 느린 단일 인증 시작을 요청할 수 있다.In the step of requesting the start of the slow single authentication, when the login token cannot be delivered to JSONP, after redirecting from the service page of the specific service to the single authentication login page of the host service system, the login token is transferred to the The slow single authentication start can be requested by passing it to the host service system.
실시예에 따르면 사용자는 주 계정에 대한 로그인만으로 주 계정에 연결된 멀티 도메인 서비스들을 이용할 수 있다.According to an embodiment, a user can use multi-domain services linked to the primary account only by logging in to the primary account.
실시예에 따르면 서비스 제공자는 서로 다른 도메인에서 개별적인 인증 체계로 구현된 복수의 서비스들을 단일 인증 체계로 통합할 수 있다. 실시예에 따르면 단일 인증 시스템은 복수 인증 서버들의 연동을 통해 단일 인증 로그인 및 단일 인증 로그아웃할 수 있고, 단일 인증된 서비스들을 주 계정의 로그인 세션에 통합 관리할 수 있다.According to an embodiment, a service provider may integrate a plurality of services implemented as individual authentication schemes in different domains into a single authentication scheme. According to an embodiment, a single authentication system can perform single authentication login and single authentication logout through interworking of multiple authentication servers, and can integrate and manage single authenticated services in the login session of the main account.
실시예에 따르면 단일 인증 시스템은 느린(lazy) 단일 인증 로그인 방법을 통해, 로그인 시점에 단일 인증에 실패한 서비스에 대한 로그인 복구를 제공할 수 있고, 재인증이 요구되는 서비스에 대한 재인증 절차를 제공할 수 있다. 특히 단일 인증 로그인 단계에서 서비스 사이트에 접속 장애가 있거나, 단말에 설치된 브라우저(클라이언트)의 문제로 일부 서비스에 대한 단일 인증이 실패하더라도, 브라우저는 비동기적인 느린 단일 인증 로그인을 통해, 해당 서비스의 로그인 절차를 복구할 수 있다. 실시예에 따르면 단일 인증 가능한 복수의 서비스들 중에서, 로그인이 필요한 이벤트가 발생하면 로그인을 요구하는 서비스나 주기적으로 재인증을 요구하는 서비스가 있다면, 브라우저는 비동기적인 느린 단일 인증 로그인을 통해, 해당 서비스의 로그인 절차를 진행할 수 있다.According to an embodiment, the single authentication system can provide login recovery for a service that fails single authentication at the time of login through a lazy single authentication login method, and provides a re-authentication procedure for a service requiring re-authentication. can do. In particular, even if there is a connection failure to the service site during the single authentication login phase or a single authentication for some services fails due to a problem with the browser (client) installed on the terminal, the browser performs the login procedure of the service through asynchronous slow single authentication login. Can be recovered. According to an embodiment, among a plurality of services capable of single authentication, if there is a service that requires a login when an event requiring login occurs or a service that periodically requests re-authentication, the browser performs an asynchronous slow single authentication login. You can proceed with the login process.
도 1은 한 실시예에 따른 단일 인증 시스템 구성도이다.
도 2는 한 실시예에 따른 단일 인증 로그인 흐름도이다.
도 3은 한 실시예에 따른 단일 인증 로그아웃 흐름도이다.
도 4와 도 5 각각은 한 실시예에 따른 느린(lazy) 단일 인증 로그인의 흐름도이다.1 is a block diagram of a single authentication system according to an embodiment.
2 is a flowchart illustrating a single authentication login according to an embodiment.
3 is a flowchart illustrating a single authentication logout according to an embodiment.
4 and 5 each is a flow diagram of a lazy single authentication login according to one embodiment.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary. In addition, terms such as "... unit", "... group", and "module" described in the specification mean a unit that processes at least one function or operation, which can be implemented by hardware or software or a combination of hardware and software. have.
단말은 컴퓨터 판독 가능한 저장 매체에 저장되는 프로그램, 그리고 프로세서, 메모리, 디스플레이, 통신 모듈 등의 하드웨어를 포함한다. 프로세서는 하드웨어들과 협력하여 프로그램을 구동한다. 디스플레이는 프로그램에서 제공하는 사용자 인터페이스 화면을 표시하고, 사용자 입력을 수신한다. 통신 모듈은 통신망을 통해 본 발명에 설명하는 각종 서버와 통신한다. 설명에서, 프로그램은 서버에서 제공하는 정보를 화면에 표시하고, 입력 정보를 서버에 전송하는 브라우저(Browser) 프로그램일 수 있다.The terminal includes a program stored in a computer-readable storage medium, and hardware such as a processor, a memory, a display, and a communication module. The processor runs the program in cooperation with the hardware. The display displays a user interface screen provided by the program and receives user input. The communication module communicates with various servers described in the present invention through a communication network. In the description, the program may be a browser program that displays information provided by a server on a screen and transmits input information to the server.
단말은 다양한 형태로 구현될 수 있고, 랩탑 컴퓨터, 데스크탑 컴퓨터, 모바일 단말 등 각종 형태의 컴퓨터, 웨어러블 디바이스, TV 단말 등의 형태로 구현될 수 있다. The terminal may be implemented in various forms, and may be implemented in the form of various types of computers such as laptop computers, desktop computers, and mobile terminals, wearable devices, and TV terminals.
도 1은 한 실시예에 따른 단일 인증 시스템 구성도이다.1 is a block diagram of a single authentication system according to an embodiment.
도 1을 참고하면, 단일 인증 시스템은 다양한 서비스들 각각을 개별적으로 제공하는 서비스 시스템들이 연동하도록 구축된다. 여기에서는 3개의 서비스 시스템들(10, 20, 30)을 가정하여 설명한다. 사용자 단말(40)은 브라우저를 통해, 다양한 서비스 사이트들(예를 들면, kakao.com, daum.net, melon.com)에 접속한다. 서비스 사이트들은 다른 도메인들에 존재할 수 있다. Referring to FIG. 1, a single authentication system is constructed so that service systems that individually provide each of various services are interlocked. Here, three
각 서비스 시스템은 서비스 이용에 요구되는 로그인 등의 각종 인증처리를 담당하는 인증 서버(100, 200, 300), 해당 서비스를 사용자 단말에 제공하는 서비스 서버(130, 230, 330), 그리고 해당 서비스에 필요한 데이터를 저장하는 데이터베이스(150, 250, 350)를 포함할 수 있고, 각 서비스 시스템을 구성하는 서버와 데이터베이스는 다양하게 설계될 수 있다. Each service system includes an authentication server (100, 200, 300) in charge of various authentication processes such as login required for service use, a service server (130, 230, 330) that provides the service to the user terminal, and the corresponding service.
설명에서는 각 서비스 시스템이 서비스 고유의 인증 서버(100, 200, 300)를 가지고 있고, 각 인증 서버가 각 서비스 가입자에 대한 접속 인증을 개별적으로 수행한다고 가정한다. 인증 서버(100)는 주(main) 계정을 통해 다른 서비스들에서 발급된 계정들의 연결 정보를 관리하고, 사용자 단말(40)의 브라우저에서 입력된 주 계정을 통해 서비스 시스템들(10, 20, 30)이 제공하는 복수의 서비스들로의 단일 인증 로그인, 단일 인증 로그아웃 등의 단일 인증 절차를 주관할 수 있다. 여기서, 서비스 서버(130)가 사용자 단말(40)의 브라우저에 표시되는 로그인 페이지를 제공하고, 로그인 페이지에서 입력된 주 계정 정보를 인증 서버(100)로 전달한다. 앞으로 인증 서버(100)를 주관 인증 서버, 서비스 서버(130)를 주관 서비스 서버, 그리고 데이터베이스(150)를 주관 서비스 데이터베이스라고 부르고, 이들을 포함하는 서비스 시스템(10)을 주관 서비스 시스템이라고 부를 수 있다. 사용자 단말(40) 또는 사용자 단말(40)의 브라우저는 인증 서버(100, 200, 300), 서비스 서버(130, 230, 330)와 통신하는 클라이언트(client)이다. 브라우저는 사용자 단말(40)에 설치된 프로그램으로서, 브라우저의 종류는 다양할 수 있고, 브라우저 개발사에서 제공하는 범용 브라우저일 수 있다.In the description, it is assumed that each service system has service-
멀티 도메인 서비스들을 예로 들면, 주관 인증 서버(100)가 주 계정(예를 들면, 카카오 계정) 기반의 인증 및 세션 관리 서버이고, 인증 서버(200)가 서비스A(예를 들면, daum.net)로의 접속을 관리하는 서버이며, 인증 서버(300)가 서비스B(예를 들면, melon.com)로의 접속을 관리하는 서버일 수 있다. 예를 들어, 카카오 계정이 다음 서비스 계정 및 멜론 서비스 계정과 연결된 주 계정인 경우, 카카오 계정으로 로그인된 상태에서, 브라우저와 인증 서버들(100, 200, 300) 사이의 연동을 통해 다음 서비스와 멜론 서비스의 단일 인증이 진행된다. 따라서, 사용자는 다음 서비스와 멜론 서비스로 별도 로그인할 필요 없이, 해당 서비스들을 이용할 수 있다. Taking multi-domain services as an example, the
서비스 계정들이 통합되면, 단일 인증은 주관 인증 서버(100) 및 주관 서비스 서버(130)에서 시작한다. 서비스A 및 서비스B의 인증 서버(200, 300)는 주관 인증 서버(100)와 연동하여, 브라우저에서 전달받은 값들을 검증하고, 검증 결과를 통해 해당 서비스 사이트로의 접속(로그인)을 허용한다. 구체적으로, 주관 인증 서버(100)가 주 계정(예를 들면, 카카오 계정)에 대해 로그인 토큰 및 로그인 세션을 생성한 후, 주 계정에 연결된 서비스A 및 서비스B가 있으면, 단일 인증을 위한 토큰(SSO 토큰)을 발급한다. 이후, 서비스A 및 서비스B의 인증 서버(200, 300)는 사용자 단말의 브라우저로부터 전달된 SSO 토큰을 주관 인증 서버(100)로부터 검증받고, 검증 결과를 기초로 SSO 토큰을 발급받은 사용자 단말의 브라우저를 통해 접속을 허용한다. 여기서, SSO 토큰은 비동기적으로 해당 서비스의 인증 서버로 전달될 수 있고, 전달되는 방식은 브라우저의 특성에 맞게 결정될 수 있다.When the service accounts are integrated, single authentication starts with the
한편, 데이터베이스(150)는 주관 인증 서버(100)에서 생성된 인증 및 세션 관리 정보를 저장한다. 특히, 로그인된 주 계정 및 주 계정에 대응하여 생성된 로그인 세션을 공용 세션(글로벌 세션)으로 관리한다. 데이터베이스(150)는 주 계정 및 연결 계정을 저장할 수 있다. 공용 세션은 로그인 세션에 연결된 여러 서비스들을 추가한 세션이다. 따라서, 주관 인증 서버(100)는 공용 세션을 삭제(expire)함으로서, 단일 인증 로그아웃할 수 있다. Meanwhile, the
계정 및 세션 정보 이외에도, 데이터베이스(150)는 표 1과 같이, 주관 인증 서버(100)가 클라이언트에 발급한 로그인 토큰, SSO 토큰 및 클라이언트 식별을 위한 클라이언트 정보(예를 들면, IP 주소, 브라우저 정보, OS 정보 등) 등을 관리할 수 있다. In addition to account and session information, the
계정서비스(kakao.com)
서비스A(daum.net)
서비스B(melon.com)Public session key1;
Account service (kakao.com)
Service A (daum.net)
Service B (melon.com)
계정서비스(kakao.com)
서비스B(melon.com)Public session key2;
Account service (kakao.com)
Service B (melon.com)
사용자 단말(40)에 탑재된 브라우저(클라이언트)는 다양한 프로토콜로 인증 서버들과 통신할 수 있다. 특히, 동일-출처 정책(same-origin policy)과 같이 크로스 도메인(cross domain) 문제가 있어, 도메인간 호출이나 접근 제약이 브라우저에 존재한다. 이를 해결하기 위해, 브라우저는 특정 포맷(예를 들면, JSONP)으로 로그인 요청, 로그아웃 요청, SSO 인증 요청하고, 쿠키를 전송할 수 있다. 브라우저는 서비스들의 로그인 페이지들을 특정 태그(예를 들면, iFrame)로 호출하고, 특정 태그를 통해 본 발명의 단일 인증 절차를 구현할 수 있다. 또는 브라우저는 리디렉션(redirection)을 통해 본 발명의 단일 인증 절차를 구현할 수 있다.도 2는 한 실시예에 따른 단일 인증 로그인 흐름도이다.A browser (client) mounted on the
도 2를 참고하면, 사용자 단말(40)의 브라우저가 단일 인증을 주관하는 주관 서비스 서버(130)에 접속하고, 계정에 대한 로그인 요청을 한다(S110). 로그인 요청은 이메일, 전화번호 또는 비밀번호 등의 계정 정보를 포함할 수 있다. 주관 서비스 서버(130)는 사용자 단말(40)의 브라우저에 단일 인증용 로그인 페이지를 제공한다. Referring to FIG. 2, the browser of the
주관 서비스 서버(130)는 주관 인증 서버(100)에게 로그인 요청에 포함된 계정 인증을 요청한다(S112). 계정 인증 요청은 로그인 요청에 포함된 계정 정보를 포함할 수 있다.The
주관 인증 서버(100)는 계정 인증 요청에 포함된 계정을 확인하고, 계정 인증 성공 시, 계정에 대한 로그인 토큰을 주관 서비스 서버(130)로 전달한다(S114). 또한 주관 인증 서버(100)는 인증 성공 시, 계정에 대한 로그인 세션을 생성한다. 계정 인증 실패 시, 사용자 단말(40)의 브라우저는 로그인 요청을 재시도할 수 있도록 로그인 페이지를 표시한다.The
주관 서비스 서버(130)는 로그인 토큰을 사용자 단말(40)의 브라우저에 전달한다(S116). 계정 로그인 토큰은 브라우저에 쿠키로 설정된다.The
계정 인증을 완료한 사용자 단말(40)의 브라우저는 주관 서비스 서버(130)에 단일 인증(SSO) 시작 요청을 한다(S120). SSO 시작 요청은 로그인 토큰, 그리고 클라이언트 정보를 포함할 수 있다. 클라이언트 정보는 사용자 단말(40) 또는 브라우저의 정보로서, 예를 들면, IP 주소, 브라우저 정보 또는 OS 정보 등을 적어도 하나 포함할 수 있다.The browser of the
주관 서비스 서버(130)는 SSO 시작 요청에 대응하여, 주관 인증 서버(100)에게 단일 인증을 위한 SSO 토큰 발급을 요청한다(S122). SSO 토큰 발급 요청은 SSO 요청에 포함된 로그인 토큰, 클라이언트 정보를 포함할 수 있다. In response to the SSO start request, the
주관 인증 서버(100)는 로그인 토큰을 발급한 계정의 연결 서비스들을 확인한다(S124). The
주관 인증 서버(100)는 계정에 연결된 서비스A와 서비스B를 SSO 서비스 리스트로 생성하고, SSO 서비스 리스트와 SSO 토큰을 주관 서비스 서버(130)로 전달한다(S126). 주관 인증 서버(100)는 발급한 SSO 토큰 소유권을 관리하는데, SSO 토큰 발급을 요청한 클라이언트 정보에 SSO 토큰을 매핑한 후, SSO 토큰 소유권 검증 시, 매핑된 클라이언트 정보를 이용할 수 있다. SSO 서비스 리스트는 서비스 API url 주소 또는 서비스 심볼 스트링으로 작성될 수 있다. 이때, 주관 인증 서버(100)는 계정에 연결된 복수의 서비스들이 존재하는 경우, 각 서비스가 SSO 인증 가능한 상태인지 확인하고, SSO 인증이 가능한 서비스들만을 SSO 서비스 리스트로 생성할 수 있다. 만약, 계정에 연결된 복수의 서비스들이 존재하더라도, SSO 인증 가능한 서비스가 없는 경우, 주관 인증 서버(100)는 SSO 토큰을 발급하지 않고, 주관 서비스 서버(130)에게 SSO 인증 불필요를 통보할 수 있다. The
주관 서비스 서버(130)는 SSO 시작 요청의 응답으로, SSO 서비스 리스트와 SSO 토큰을 사용자 단말(40)의 브라우저에 전달한다(S128). SSO 서비스 리스트는 서비스A의 인증 서버(200)의 접속 주소, 서비스B의 인증 서버(300)의 접속 주소를 포함할 수 있다. SSO 토큰은 브라우저에 쿠키로 설정될 수 있다.The
SSO 토큰을 발급받은 사용자 단말(40)의 브라우저는 SSO 서비스 리스트에 포함된 서비스B의 인증 서버(300)와 서비스A의 인증 서버(200)로 SSO 인증 요청을 한다(S130, S140). SSO 인증 요청은 발급받은 SSO 토큰을 포함하고, 비동기적으로 진행되며, S130과 S140의 진행 순서는 바뀔 수 있다. 이때, 사용자 단말(40)의 브라우저는 인증 서버(200)와 인증 서버(300) 각각의 로그인 인터페이스를, SSO 토큰을 담은 특정 태그(예를 들면, iFrame)로 호출하는 방식으로 SSO 인증 요청할 수 있다. 브라우저가 비동기적으로 SSO 인증 요청하므로, SSO 인증 과정에서 일부 서비스의 장애 또는 클라이언트에 문자가 있더라도 다른 서비스의 SSO 인증에 영향을 주지 않을 수 있다. 또한, 브라우저가 비동기적으로 SSO 인증 요청하므로, SSO 인증이 필요한 시점에 해당 서비스로 SSO 인증 요청을 할 수 있는 유연한 인증 체계를 구현할 수 있다.The browser of the
서비스B의 인증 서버(300)는 SSO 인증 요청한 클라이언트가 SSO 토큰에 대한 소유권을 가지는지 주관 인증 서버(100)에 SSO 토큰의 소유권 검증을 요청한다(S132). 소유권 검증 요청은 SSO 토큰, 그리고 SSO 토큰을 전송한 클라이언트 정보를 포함할 수 있다.The
주관 인증 서버(100)는 발급한 SSO 토큰에 매핑된 클라이언트 정보를 기초로, 소유권 검증 요청에 포함된 SSO 토큰의 소유권 검증하고, 소유권 검증 성공인 경우, 서비스B를 SSO 토큰이 발급된 계정의 공용 세션에 추가한다(S134).The
주관 인증 서버(100)는 SSO 토큰의 소유권 검증 결과를 서비스B의 인증 서버(300)로 응답한다(S136). SSO 토큰을 전송한 클라이언트가 소유자로 검증된 경우, SSO 토큰의 소유권 검증 결과는 소유권 검증 성공과 함께, 공용 세션 키를 포함할 수 있다. SSO 토큰을 전송한 클라이언트가 소유자가 아닌 경우, SSO 토큰의 소유권 검증 결과는 소유권 검증 실패를 포함한다.The
서비스B의 인증 서버(300)는 사용자 단말(40)의 브라우저(클라이언트)를 위한 공용 세션 키를 설정한다(S138). 서비스B의 인증 서버(300)는 주관 인증 서버(100)로부터 공용 세션 키를 얻을 수 있다. 한편, SSO 토큰에 공용 세션 키가 포함되는 경우, 서비스B의 인증 서버(300)는 SSO 토큰의 소유권 검증 결과가 성공인 경우, SSO 토큰에 포함된 세션 키를 설정할 수 있다. The service
서비스B의 인증 서버(300)는 사용자 단말(40)의 브라우저에 서비스B 인증 쿠키를 생성한다(S139). 서비스B 인증 쿠키는 서비스B의 인증 서버(300)가 고유한 방식으로 생성한다.The service
서비스B의 인증 서버(300)와 마찬가지로, 서비스A의 인증 서버(200)는 주관 인증 서버(100)에 SSO 토큰의 소유권 검증을 요청한다(S142). Like the
주관 인증 서버(100)는 발급한 SSO 토큰들에 매핑된 클라이언트 정보들을 기초로, 소유권 검증 요청에 포함된 SSO 토큰의 소유권 검증하고, 소유권 검증 성공인 경우, 서비스A를 SSO 토큰이 발급된 계정의 공용 세션에 추가한다(S144). The
주관 인증 서버(100)는 소유권 검증 성공과 공용 세션 키를 포함하는 소유권 검증 결과를 서비스A의 인증 서버(200)로 응답한다(S146). The
서비스A의 인증 서버(200)는 사용자 단말(40)의 브라우저(클라이언트)를 위한 글로벌 세션 키를 설정(S148)하고, 사용자 단말(40)의 브라우저에 서비스A 인증 쿠키를 생성한다(S149). 서비스A 인증 쿠키는 서비스A의 인증 서버(200)가 고유한 방식으로 생성한다. The service
사용자 단말(40)의 브라우저는 타겟 페이지로 이동하거나, 서비스A 인증 쿠키와 서비스B 인증 쿠키를 이용하여 서비스A와 서비스B의 페이지로 이동할 수 있다. 즉, 사용자는 서비스A와 서비스B의 페이지에서 추가적인 로그인 절차를 거칠 필요 없이, 해당 서비스를 이용할 수 있다.The browser of the
이와 같이, 단일 인증 시스템은 서비스A의 인증 서버(200)와 서비스B의 인증 서버(300)가 개별적으로 존재하더라도, 인증 서버간의 연동을 통해 인증 체계를 통합하고 단일 인증할 수 있다. 특히, 각 인증 서버가 인증 쿠키를 고유의 방식으로 브라우저에 설정하도록 함으로써, 각 인증 서버가 이미 존재하는 인증 체계를 유지하면서도 단일 인증할 수 있다. 이러한 방법에 따라 로그인 시점에 계정에 연결된 서비스 사이트들이 인증 쿠키를 발급할 수 있다. Javascript를 사용한 비동기 방식이 사용될 수 있으나, 비동기 단일 인증은 다양한 기술로 구현될 수 있다.In this way, even if the
한편, 동기적 단일 인증 로그인도 가능하다. 주관 인증 서버(100)는 로그인 계정에 연결된 서비스A 및 서비스B의 상태를 체크해서, 단일 인증 처리가 가능한 서비스들만을 SSO 서비스 리스트로 생성한다. 주관 인증 서버(100)는 계정에 연결된 서비스들 중에서 서비스A와 서비스B를 SSO 서비스 리스트로 생성하고, SSO 서비스 리스트와 SSO 토큰을 사용자 단말(40)의 브라우저로 전달한다. SSO 토큰은 로그인 세션 키(공용 세션 키)를 포함할 수 있고, SSO 서비스 리스트에 포함된 서비스 순서대로 해당 서비스의 인증 서버로 전달된다. SSO 토큰은 해당 서비스의 인증 쿠키 발급 후, SSO 서비스 리스트에 포함된 서비스들의 인증이 완료될 때까지, 다음 서비스로 순차 이동할 수 있다. On the other hand, synchronous single authentication login is also possible. The
도 3은 한 실시예에 따른 단일 인증 로그아웃 흐름도이다.3 is a flowchart illustrating a single authentication logout according to an embodiment.
도 3을 참고하면, 사용자 단말(40)의 브라우저가 도 2의 단일 인증 로그인한 이후, 주관 서비스 서버(130)로 로그 아웃 요청한다(S210). 사용자 단말(40)의 브라우저는 사용자로부터 로그인 세션에 대한 로그아웃 동작을 입력받거나, 지정된 로그아웃 상황이 되면, 주관 서비스 서버(130)에서 제공하는 로그아웃 페이지로 진입할 수 있다. Referring to FIG. 3, after the browser of the
주관 서비스 서버(130)는 주관 인증 서버(100)에게 클라이언트의 로그아웃 요청에 대한 인증을 요청한다(S212).The
주관 인증 서버(100)는 로그아웃 요청에 포함된 클라이언트 정보를 기초로 로그아웃 요청을 인증하고, 인증 결과를 주관 서비스 서버(130)로 전달한다(S214). 인증 성공인 경우, 인증 결과는 인증 성공 및 공용 세션에 추가된 SSO 서비스 리스트(서비스 API url 주소 또는 서비스 심볼 스트링)를 포함할 수 있다. 공용 세션에 추가된 SSO 서비스 리스트는 SSO 토큰을 기초로 사용자 단말(40)의 브라우저에 대해 공용 세션 생성한 서비스들을 포함한다. 인증 결과에 인증 실패가 포함된 경우, 주관 서비스 서버(130)는 사용자 단말(40)의 브라우저로 로그아웃 실패 페이지를 제공한다.The
인증 성공인 경우, 주관 서비스 서버(130)는 사용자 단말(40)의 브라우저로 로그아웃 페이지를 제공하고, 공용 세션에 추가된 SSO 서비스 리스트를 전달한다(S216).If authentication is successful, the
사용자 단말(40)의 브라우저는 공용 세션에 추가된 SSO 서비스 리스트를 기초로 해당 서비스의 인증 서버로 로그아웃 요청한다(S220, S230). 로그아웃 요청은 비동기적으로 진행된다.The browser of the
서비스A의 인증 서버(200)는 로그아웃 요청에 대해 로그아웃 처리하고 사용자 단말(40)의 브라우저로 로그아웃 응답한다(S222). 서비스A의 인증 서버(200)는 사용자 단말(40)의 브라우저에 발급한 서비스A 인증 쿠키를 삭제할 수 있다. 서비스B의 인증 서버(300)는 사용자 단말(40)의 브라우저에 생성한 세션을 삭제할 수 있다. 서비스B의 인증 서버(300)는 별도의 로그아웃 처리 절차가 필요하지 않은 경우, 서비스B 인증 쿠키만 삭제할 수 있다.The
서비스B의 인증 서버(300)는 로그아웃 요청에 대해 로그아웃 처리하고 사용자 단말(40)의 브라우저로 로그아웃 응답한다(S232). 서비스B의 인증 서버(300)는 사용자 단말(40)의 브라우저에 발급한 서비스B 인증 쿠키를 삭제한다. 서비스B의 인증 서버(300)는 사용자 단말(40)의 브라우저에 생성한 세션을 삭제할 수 있다. 서비스B의 인증 서버(300)는 별도의 로그아웃 처리 절차가 필요하지 않은 경우, 서비스B 인증 쿠키만 삭제할 수 있다.The
단일 로그아웃 절차를 완료한 사용자 단말(40)의 브라우저는 타겟 페이지로 이동한다.After completing the single logout procedure, the browser of the
다른 실시예에 따르면, 리디렉션(redirection)으로 단일 인증 로그아웃할 수 있다. 로그아웃 요청에 대한 인증 성공 시, 사용자 단말(40)의 브라우저는 공용 세션에 추가된 SSO 서비스 리스트를 반환받는다. SSO 서비스 리스트가 return url에 묶여서 전달되면, SSO 서비스 리스트에 남아있는 서비스가 없을 때까지, 로그아웃 요청이 각 서비스의 인증 서버로 이동(redirect)하면서, 로그아웃 절차가 반복될 수 있다.According to another embodiment, a single authentication logout may be performed by redirection. Upon successful authentication of the logout request, the browser of the
또 다른 실시예에 따르면, 공용 세션 삭제 방식으로 단일 인증 로그아웃할 수 있다. 예를 들면, 주관 인증 서버(100)는 로그아웃 요청에 포함된 클라이언트 정보를 기초로 로그아웃 요청을 인증하고, 로그아웃 요청에 대한 인증 성공 시, 데이터베이스(150)에서 로그아웃 대상의 정보(예를 들면, 공용 세션 정보)를 삭제(파기)할 수 있다. 그리고, 주관 인증 서버(100)는 로그아웃 인증 성공인 경우, 인증 결과를 주관 서비스 서버(130)로 전달하고, 주관 서비스 서버(130)가 사용자 단말(40)의 브라우저로 로그아웃 성공 페이지를 제공할 수 있다. According to another embodiment, a single authentication logout may be performed using a common session deletion method. For example, the
이와 같이, 단일 인증 시스템은 사용자 단말(40)의 브라우저가 단일 인증 로그인한 이후, 로그인 계정에 대한 로그아웃 요청하면, 단일 인증으로 로그인된 멀티 도메인 서비스들까지 한꺼번에 로그아웃할 수 있다. 즉, 단일 인증 시스템은 로그인된 클라이언트의 로그인 세션을 여러 도메인들의 서비스들이 추가되는 공용 세션으로 관리하기 때문에, 로그인 계정에 대해 생성된 로그인 세션이 종료하면, 로그인 세션에 추가된 서비스들까지 한꺼번에 종료(expire)시킬 수 있다.In this way, when the browser of the
도 4와 도 5 각각은 한 실시예에 따른 느린(lazy) 단일 인증 로그인의 흐름도이다.4 and 5 each is a flow diagram of a lazy single authentication login according to one embodiment.
도 4를 참고하면, 로그인 계정(예를 들면, 카카오 계정)에 연결된 적어도 하나의 서비스가 있더라도, 어느 서비스(예를 들면, 서비스B)는 도 2와 같이, 계정 인증 성공 시 바로 SSO 인증을 진행하지 않을 수 있다. 즉, 로그인 계정에 대한 인증 성공 후, 특정 서비스에 대해 선택적으로 진행되는 단일 인증 로그인을 느린(lazy) 단일 인증 로그인이라고 부른다. Referring to FIG. 4, even if there is at least one service connected to a login account (eg, Kakao account), any service (eg, service B) proceeds to SSO authentication immediately when account authentication is successful, as shown in FIG. 2. I can't. That is, after successful authentication for the login account, a single authentication login selectively proceeding for a specific service is called a lazy single authentication login.
예를 들면, 서비스B의 인증 서버(300)는 사용자가 로그인이 필요한 특정 이벤트(예를 들면, 댓글달기, 자주 듣는 음악 등록 등)를 요청하는 경우에 로그인하도록 설정되거나, 사용자가 명시적 로그인 시도를 하는 경우에 로그인하도록 설정된 경우, 서비스B는 연결된 주 계정의 인증 성공 시 바로 SSO 인증할 필요 없이, 느린 단일 인증 로그인하도록 설정될 수 있다. 또는, 서비스B의 인증 서버(300)는 주기적으로 재인증하도록 설정된 경우, 서비스B는 연결된 주 계정의 로그인 세션이 유지된 상태에서, 느린 단일 인증 로그인으로 SSO 재인증할 수 있다.For example, the
사용자 단말(40)의 브라우저가 계정에 대한 로그인 인증 후 발급된 계정 로그인 토큰을 저장하고 있다고 가정하고, 서비스B가 느린(lazy) 단일 인증 로그인한다고 가정한다. 여기서, 계정 로그인 토큰은 도 2의 단계(S110~S116)에 의해 사용자 단말(40)의 브라우저에 쿠키로 설정된다. It is assumed that the browser of the
사용자 단말(40)의 브라우저는 서비스B의 서비스 서버(330)로 로그인 요청하거나, 로그인이 필요한 특정 이벤트를 요청한다(S310). 로그인 요청은 명시적인 로그인 시도 동작으로서, 사용자 단말(40)의 브라우저가 서비스B의 서비스 서버(330)가 제공하는 웹페이지에서 사용자에 의한 로그인 요청을 입력받거나, 사용자 단말(40)의 브라우저가 서비스B의 서비스 서버(330)가 제공하는 웹페이지로 이동한 경우일 수 있다. 로그인이 필요한 특정 이벤트는 예를 들면, 댓글달기, 자주 듣는 음악 등록 등일 수 있다.The browser of the
서비스B의 서비스 서버(330)는 사용자 단말(40)의 브라우저의 요청을 기초로 로그인 필요 여부를 판단하는데, 요청에 자신이 발급한 유효한 서비스B 인증 쿠키가 없으므로, 로그인 필요 응답을 한다(S312). 서비스B의 서비스 서버(330)는 인증 쿠키가 없거나 유효하지 않은(invalid) 인증 쿠키인 경우, 로그인이 필요하다는 응답을 반환한다. The
로그인 필요 응답을 수신한 사용자 단말(40)의 브라우저는 주관 서비스 서버(130)에 느린(lazy) 단일 인증(SSO) 시작 요청을 한다(S320). 느린 SSO 시작 요청은 로그인 토큰, 그리고 클라이언트 정보를 포함할 수 있다. 이때, 사용자 단말(40)의 브라우저는 특정 포맷(예를 들면, JSONP)을 이용하여 쿠키로 설정된 로그인 토큰을 주관 서비스 서버(130)로 전달함으로써, 느린 SSO 시작 요청할 수 있다. 주관 서비스 서버(130)가 로그인 확인 인터페이스(API)를 제공하는 경우, 사용자 단말(40)의 브라우저는 특정 포맷(예를 들면, JSONP)을 이용하여 주관 서비스 서버(130)에 로그인 확인 API를 호출할 수 있다.The browser of the
주관 서비스 서버(130)는 주관 인증 서버(100)에게 느린 SSO 시작 요청한 서비스B를 위한 SSO 토큰 발급을 요청한다(S322). 이때, 주관 서비스 서버(130)는 SSO 토큰 발급 요청 전에, 주관 인증 서버(100)에게 느린 SSO 시작 요청에 포함된 정보(예를 들면, 로그인 토큰, 서비스B, 클라이언트 정보 등)의 검증을 요청하고, 검증 성공 시, 주관 인증 서버(100)에게 서비스B를 위한 SSO 토큰 발급을 요청할 수 있다.The
주관 인증 서버(100)는 서비스B의 단일 인증을 위해 발급된 SSO 토큰을 주관 서비스 서버(130)로 전달한다(S324). 주관 인증 서버(100)는 SSO 토큰을 신규 발급하는 경우, 클라이언트 정보에 SSO 토큰을 매핑해 둔다. 이미 주 계정으로 로그인된 사용자 단말(40)인 경우, 사용자 단말(40)의 브라우저로 SSO 토큰이 반환된다. 만약, 주 계정으로 로그인된 사용자 단말(40)이 아니라면, 주 계정으로 로그인이 필요하므로, 도 2의 로그인 절차로 이동한다.The
주관 서비스 서버(130)는 느린 SSO 시작 요청의 응답으로, SSO 토큰을 사용자 단말(40)의 브라우저에 전달한다(S326). The
사용자 단말(40)의 브라우저는 서비스B의 인증 서버(300)로 SSO 토큰을 포함한SSO 인증 요청을 한다(S330). The browser of the
서비스B의 인증 서버(300)는 SSO 인증 요청한 클라이언트가 SSO 토큰에 대한 소유권을 가지는지 주관 인증 서버(100)에 SSO 토큰의 소유권 검증을 요청한다(S332). 소유권 검증 요청은 SSO 토큰, 그리고 SSO 토큰을 전송한 클라이언트 정보를 포함할 수 있다.The
주관 인증 서버(100)는 발급한 SSO 토큰에 매핑된 클라이언트 정보를 기초로, 소유권 검증 요청에 포함된 SSO 토큰의 소유권 검증하고, 소유권 검증 성공인 경우, 서비스B를 SSO 토큰이 발급된 계정의 공용 세션에 추가한다(S334).The
주관 인증 서버(100)는 SSO 토큰의 소유권 검증 결과를 서비스B의 인증 서버(300)로 응답한다(S336). SSO 토큰의 소유권 검증 결과는 소유권 검증 성공과 함께, 공용 세션 키를 포함할 수 있다.The
서비스B의 인증 서버(300)는 사용자 단말(40)의 브라우저를 위한 공용 세션 키를 설정한다(S338). The service
서비스B의 인증 서버(300)는 사용자 단말(40)의 브라우저에 서비스B 인증 쿠키를 생성한다(S339). The service
이후, 사용자 단말(40)의 브라우저는 서비스B 인증 쿠키를 통해 서비스B의 서비스 서버(330)의 각종 로그인 서비스들을 접근할 수 있다.Thereafter, the browser of the
한편, 도 4의 단계(S320)은 사용자 단말(40)의 브라우저가 쿠키로 설정된 계정 로그인 토큰을 특정 포맷(예를 들면, JSONP)을 이용하여 주관 서비스 서버(130)로 전달함으로써, 느린 SSO 시작 요청하는데, 일부 브라우저는 특정 포맷(예를 들면, JSONP)을 호출 시, 쿠키를 전달하지 않도록 기본 설정되어 있을 수 있다. 이 경우, 다음 도 5와 같이, 리디렉션(redirection) 방식으로 로그인 토큰이 전달될 수 있다. Meanwhile, in step S320 of FIG. 4, the browser of the
도 5를 참고하면, 서비스B의 서비스 서버(330)로부터 로그인 필요 응답을 수신하는 도 4의 단계(S312) 이후, 사용자 단말(40)의 브라우저는 서비스B의 페이지에서 주관 서비스 서버(130)의 단일 인증 로그인 페이지로 이동(redirect)한 후, 느린(lazy) 단일 인증(SSO) 시작 요청을 한다(S410). 사용자 단말(40)의 브라우저는 리디렉션 방식으로 주관 서비스 서버(130)의 단일 인증 로그인 페이지(sso login url)로 이동한다. 리디렉션 방식에 의한 느린 SSO 시작 요청은, 도 4의 특정 포맷(예를 들면, JSONP)을 이용한 호출 방식에 의한 느린 SSO 시작 요청의 실패 후, 진행될 수 있다. 또는 느린 SSO 시작 요청은 특정 포맷(예를 들면, JSONP) 호출 방식과 리디렉션 방식 중에서 선택될 수 있다.Referring to FIG. 5, after step S312 of FIG. 4 of receiving a login required response from the
주관 서비스 서버(130)는 주관 인증 서버(100)에게 느린 SSO 시작 요청한 서비스B를 위한 SSO 토큰 발급을 요청한다(S412). 이때, 주관 서비스 서버(130)는 주관 인증 서버(100)에게 계정 로그인 토큰의 검증을 요청하고, 계정 로그인 토큰의 검증 성공 시, 주관 인증 서버(100)에게 서비스B를 위한 SSO 토큰 발급을 요청할 수 있다.The
주관 인증 서버(100)는 서비스B의 단일 인증을 위해 발급된 SSO 토큰을 주관 서비스 서버(130)로 전달한다(S414). 주관 인증 서버(100)는 SSO 토큰을 신규 발급하는 경우, SSO 토큰에 클라이언트 정보를 매핑해 둔다.The
주관 서비스 서버(130)는 SSO 토큰을 담아 사용자 단말(40)의 브라우저를 서비스B의 페이지로 이동(redirect)시킨다(S416).The
사용자 단말(40)의 브라우저는 서비스B의 인증 서버(300)로 SSO 토큰을 포함한SSO 인증 요청을 한다(S420). The browser of the
서비스B의 인증 서버(300)는 SSO 인증 요청한 클라이언트가 SSO 토큰에 대한 소유권을 가지는지 주관 인증 서버(100)에 SSO 토큰의 소유권 검증을 요청한다(S422). 소유권 검증 요청은 SSO 토큰, 그리고 SSO 토큰을 전송한 클라이언트 정보를 포함할 수 있다.The
주관 인증 서버(100)는 발급한 SSO 토큰에 매핑된 클라이언트 정보를 기초로, 소유권 검증 요청에 포함된 SSO 토큰의 소유권 검증하고, 소유권 검증 성공인 경우, 서비스B를 SSO 토큰이 발급된 계정의 공용 세션에 추가한다(S424).The
주관 인증 서버(100)는 SSO 토큰의 소유권 검증 결과를 서비스B의 인증 서버(300)로 응답한다(S426). SSO 토큰의 소유권 검증 결과는 소유권 검증 성공과 함께, 공용 세션 키를 포함할 수 있다.The
서비스B의 인증 서버(300)는 사용자 단말(40)의 브라우저를 위한 공용 세션 키를 설정한다(S428). The service
서비스B의 인증 서버(300)는 사용자 단말(40)의 브라우저에 서비스B 인증 쿠키를 생성한다(S429). The service
이후, 사용자 단말(40)의 브라우저는 서비스B 인증 쿠키를 통해 서비스B의 서비스 서버(330)의 각종 로그인 필요 서비스들에 접근할 수 있다.Thereafter, the browser of the
이와 같이, 도 4와 도 5를 참고하면, 단일 인증 시스템은 주 계정으로의 로그인 즉시 적용되는 active SSO와 주 계정으로의 로그인 후 개별 서비스에 접속하기 위해 적용되는 passive SSO를 구현할 수 있다. 주 계정으로의 로그인 시, 주 계정에 연결된 일부 서비스가 장애 상태라고 하더라도, 느린 단일 인증 절차를 통해 단일 인증이 정상적으로 이루어질 수 있다. 특히, 주관 인증 서버(100)는 느린 단일 인증 절차를 통해, 로그인 세션에 단일 인증된 서비스들을 저장하여 로그인 이후에도 단일 인증에 의한 세션을 통합 관리할 수 있고, 개별 서비스의 인증 만료/미인증시 인증세션 복구 프로세스를 제공할 수 있다.As described above, referring to FIGS. 4 and 5, the single authentication system may implement active SSO applied immediately after login to the main account and passive SSO applied to access individual services after logging in to the main account. When logging in to the main account, even if some services connected to the main account are in a failed state, single authentication can be performed normally through a slow single authentication procedure. In particular, the
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present invention described above are not implemented only through an apparatus and a method, but may be implemented through a program that realizes a function corresponding to the configuration of the embodiment of the present invention or a recording medium in which the program is recorded.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention defined in the following claims are also provided. It belongs to the scope of rights.
Claims (14)
클라이언트의 로그인 요청에 포함된 주 계정에 대해 인증하고, 인증 성공한 상기 클라이언트로 로그인 토큰을 발급하는 단계,
상기 멀티 도메인 서비스들 중에서, 상기 로그인 토큰이 발급된 상기 주 계정에 연결된 서비스들을 제1 서비스 리스트로 생성하는 단계,
상기 제1 서비스 리스트와 함께 단일 인증 토큰을 상기 클라이언트에게 발급하는 단계,
상기 제1 서비스 리스트에 포함된 각 서비스의 인증 서버로부터, 단일 인증 토큰 검증 요청을 수신하면, 상기 단일 인증 토큰 검증 요청에 포함된 토큰이 상기 클라이언트로 발급한 상기 단일 인증 토큰인지 검증하는 단계,
검증 성공한 각 서비스를 상기 주 계정의 세션에 추가하고, 상기 세션의 키를 해당 서비스의 인증 서버로 전달하는 단계,
상기 클라이언트의 로그아웃 요청을 전달받으면, 상기 주 계정의 세션에 추가된 서비스들을 제2 서비스 리스트로 생성하고, 상기 제2 서비스 리스트를 상기 클라이언트에게 전달하는 단계, 그리고
상기 주 계정의 세션에 추가된 서비스들의 단일 인증 로그아웃을 위해 상기 주 계정의 세션을 삭제하는 단계를 포함하고,
상기 클라이언트는 사용자 단말의 브라우저이고,
상기 제1 서비스 리스트에 포함된 각 서비스의 인증 서버는 상기 클라이언트를 위한 상기 세션의 키를 설정하고, 상기 클라이언트에 해당 서비스를 이용할 수 있는 인증 쿠키를 생성하며,
상기 제2 서비스 리스트에 포함된 각 서비스의 인증 서버는 상기 클라이언트로부터 해당 서비스의 로그아웃을 요청받는, 단일 인증 방법.A method in which a host authentication server in charge of single authentication of multi-domain services performs single authentication in connection with authentication servers of the multi-domain services,
Authenticating the main account included in the client's login request, and issuing a login token to the client who successfully authenticated,
Generating, among the multi-domain services, services connected to the main account to which the login token was issued, as a first service list,
Issuing a single authentication token to the client together with the first service list,
When receiving a single authentication token verification request from the authentication server of each service included in the first service list, verifying whether the token included in the single authentication token verification request is the single authentication token issued to the client,
Adding each service successfully verified to the session of the main account, and transferring the session key to the authentication server of the corresponding service,
Upon receiving the logout request from the client, generating services added to the session of the main account as a second service list, and transmitting the second service list to the client, and
Deleting the session of the main account for single authentication logout of services added to the session of the main account,
The client is a browser of a user terminal,
The authentication server of each service included in the first service list sets a key of the session for the client, and generates an authentication cookie that enables the client to use the service,
The authentication server of each service included in the second service list receives a request to log out of the service from the client.
상기 단일 인증 토큰인지 검증하는 단계는
상기 제1 서비스 리스트에 포함된 각 서비스의 인증 서버로부터, 비동기적으로 상기 단일 인증 토큰 검증 요청을 수신하는, 단일 인증 방법.In claim 1,
The step of verifying whether the single authentication token is
A single authentication method for asynchronously receiving the single authentication token verification request from an authentication server of each service included in the first service list.
상기 클라이언트에 상기 로그인 토큰을 발급한 이후, 상기 클라이언트로부터 특정 서비스에 대한 느린(lazy) 단일 인증 시작 요청을 수신하는 단계, 그리고
상기 단일 인증 토큰 또는 신규 단일 인증 토큰을 상기 클라이언트에게 발급하는 단계를 더 포함하고,
상기 클라이언트는
상기 특정 서비스의 서버에 접속한 상태에서, 상기 주관 인증 서버에 관련된 서비스 서버에서 제공하는 로그인 확인 인터페이스를 호출하여 상기 느린 단일 인증 시작을 요청하거나,
상기 특정 서비스의 서버에 접속한 상태에서, 상기 주관 인증 서버에 관련된 서비스 서버에서 제공하는 단일 인증 로그인 페이지로 이동(redirect)하여 상기 느린 단일 인증 시작을 요청하는, 단일 인증 방법.In claim 1,
After issuing the login token to the client, receiving a single lazy authentication start request for a specific service from the client, and
Issuing the single authentication token or a new single authentication token to the client, further comprising,
The client
In a state in which the server of the specific service is connected, a login confirmation interface provided by a service server related to the host authentication server is called to request the slow single authentication start, or
In a state of being connected to the server of the specific service, redirecting to a single authentication login page provided by a service server related to the host authentication server and requesting the start of the slow single authentication.
멀티 도메인 서비스들의 단일 인증을 주관하는 주관 서비스 시스템으로, 주 계정에 대한 로그인 요청하고, 상기 주관 서비스 시스템으로부터 상기 주 계정에 대한 로그인 토큰을 발급받는 단계,
상기 주관 서비스 시스템으로, 상기 로그인 토큰 및 클라이언트 정보를 포함하는 단일 인증 시작 요청을 전송하고, 상기 주관 서비스 시스템으로부터 상기 주 계정에 연결된 서비스들을 포함하는 제1 서비스 리스트와 함께 단일 인증 토큰을 발급받는 단계, 그리고
상기 제1 서비스 리스트에 포함된 각 서비스의 인증 서버로, 상기 단일 인증 토큰을 포함하는 단일 인증 요청을 전송하고, 해당 서비스의 고유한 인증 서버로부터 발급된 해당 서비스의 인증 쿠키를 설정하는 단계를 포함하며,
상기 주관 서비스 시스템으로 로그아웃 요청하고, 상기 주관 서비스 시스템으로부터 상기 주 계정의 로그인 시 생성된 세션에 추가된 서비스들을 포함하는 제2 서비스 리스트를 수신하는 단계, 그리고
상기 제2 서비스 리스트에 포함된 각 서비스의 인증 서버로 해당 서비스의 로그아웃을 요청하는 단계
를 더 포함하는, 단일 인증 방법.As a method for single authentication by a browser of a user terminal with multi-domain services,
A host service system that manages single authentication of multi-domain services, requesting a login for a main account, and receiving a login token for the main account from the host service system,
Transmitting a single authentication start request including the login token and client information to the host service system, and issuing a single authentication token together with a first service list including services connected to the main account from the host service system , And
Transmitting a single authentication request including the single authentication token to an authentication server of each service included in the first service list, and setting an authentication cookie for the service issued from the unique authentication server of the service. And
Requesting logout to the host service system, and receiving a second service list including services added to a session created when logging into the main account from the host service system, and
Requesting logout of the service to the authentication server of each service included in the second service list
Further comprising, a single authentication method.
상기 멀티 도메인 서비스들 중 특정 서비스의 서비스 서버에 접속한 상태에서, 상기 서비스 서버로부터 로그인 필요 응답을 수신하는 단계,
상기 주관 서비스 시스템으로 상기 특정 서비스에 대한 느린(lazy) 단일 인증 시작을 요청하는 단계,
상기 주관 서비스 시스템으로부터 상기 단일 인증 토큰 또는 신규 단일 인증 토큰을 발급받는 단계, 그리고
상기 특정 서비스의 인증 서버로 상기 특정 서비스에 대해 발급받은 토큰을 포함하는 단일 인증 요청을 전송하고, 상기 특정 서비스의 인증 서버로부터 발급된 상기 특정 서비스의 인증 쿠키를 설정하는 단계
를 더 포함하는, 단일 인증 방법.In claim 9,
Receiving a login request response from the service server while being connected to a service server of a specific service among the multi-domain services,
Requesting the host service system to start a single lazy authentication for the specific service,
Issuing the single authentication token or a new single authentication token from the host service system, and
Transmitting a single authentication request including a token issued for the specific service to the authentication server of the specific service, and setting an authentication cookie for the specific service issued from the authentication server of the specific service
Further comprising, a single authentication method.
상기 느린 단일 인증 시작을 요청하는 단계는
상기 로그인 토큰을 JSONP로 전달함으로써 상기 느린 단일 인증 시작을 요청하는, 단일 인증 방법.In clause 11,
The step of requesting the start of the slow single authentication
A single authentication method for requesting the start of the slow single authentication by passing the login token to JSONP.
상기 느린 단일 인증 시작을 요청하는 단계는
상기 특정 서비스의 서비스 페이지에서 상기 주관 서비스 시스템의 단일 인증 로그인 페이지로 이동(redirect)한 후, 상기 로그인 토큰을 상기 주관 서비스 시스템으로 전달함으로써 상기 느린 단일 인증 시작을 요청하는, 단일 인증 방법.In clause 11,
The step of requesting the start of the slow single authentication
After redirecting from the service page of the specific service to the single authentication login page of the host service system, the single authentication method is requested to start the slow single authentication by passing the login token to the host service system.
상기 느린 단일 인증 시작을 요청하는 단계는
상기 로그인 토큰을 JSONP로 전달할 수 없는 경우, 상기 특정 서비스의 서비스 페이지에서 상기 주관 서비스 시스템의 단일 인증 로그인 페이지로 이동(redirect)한 후, 상기 로그인 토큰을 상기 주관 서비스 시스템으로 전달함으로써 상기 느린 단일 인증 시작을 요청하는, 단일 인증 방법.In claim 13,
The step of requesting the start of the slow single authentication
When the login token cannot be delivered to JSONP, the slow single authentication is performed by redirecting from the service page of the specific service to the single authentication login page of the host service system, and then passing the login token to the host service system. A single authentication method that asks for initiation.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180075238 | 2018-06-29 | ||
KR20180075238 | 2018-06-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200002680A KR20200002680A (en) | 2020-01-08 |
KR102232763B1 true KR102232763B1 (en) | 2021-03-26 |
Family
ID=69154339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190077914A KR102232763B1 (en) | 2018-06-29 | 2019-06-28 | Single-sign-on method and system for multi-domain services |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102232763B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102146940B1 (en) * | 2020-03-16 | 2020-08-24 | 주식회사 스태비 | Method for verifying fogery of token |
CN113312571B (en) * | 2021-05-12 | 2022-04-26 | 武汉联影医疗科技有限公司 | Page management method and device, computer equipment and storage medium |
KR102449740B1 (en) * | 2022-07-01 | 2022-10-04 | 주식회사 악어디지털 | E-mail processing method and e-mail processing apparatus |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040053720A (en) * | 2003-01-13 | 2004-06-24 | 이창화 | Method and system for processing user authentification to multiple webservers |
KR100953092B1 (en) * | 2007-11-06 | 2010-04-19 | 한국전자통신연구원 | Method and system for serving single sign on |
KR20100040413A (en) * | 2008-10-10 | 2010-04-20 | 주식회사 케이티 | Method for authenticating single sign on id supporting openid |
KR102244523B1 (en) * | 2014-03-26 | 2021-04-27 | 에스케이플래닛 주식회사 | System and method for user certification in using web service |
-
2019
- 2019-06-28 KR KR1020190077914A patent/KR102232763B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20200002680A (en) | 2020-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7827318B2 (en) | User enrollment in an e-community | |
US11665146B2 (en) | Migrating authenticated content towards content consumer | |
US10887313B2 (en) | Systems and methods for controlling sign-on to web applications | |
JP4782986B2 (en) | Single sign-on on the Internet using public key cryptography | |
US9021570B2 (en) | System, control method therefor, service providing apparatus, relay apparatus and computer-readable medium | |
US8117649B2 (en) | Distributed hierarchical identity management | |
KR102232763B1 (en) | Single-sign-on method and system for multi-domain services | |
US20100049790A1 (en) | Virtual Identity System and Method for Web Services | |
CN104378376A (en) | SOA-based single-point login method, authentication server and browser | |
US9413751B2 (en) | Cooperation system, cooperation method thereof, information processing system, and storage medium | |
US9916308B2 (en) | Information processing system, document managing server, document managing method, and storage medium | |
CN110753045A (en) | Single sign-on method between different domains | |
JP2005346570A (en) | Authentication system, authentication method and computer program | |
CA2431311C (en) | Distributed hierarchical identity management | |
JP2000106552A (en) | Authentication method | |
CN111245791B (en) | Single sign-on method for realizing management and IT service through reverse proxy | |
CN103069741A (en) | Credential authentication method and single sign-on server | |
CN113411324B (en) | Method and system for realizing login authentication based on CAS and third-party server | |
CN101969426A (en) | Distributed user authentication system and method | |
CA2458257A1 (en) | Distributed hierarchical identity management | |
JP2018037025A (en) | Program, authentication system, and authentication cooperative system | |
US10623396B2 (en) | System and method for controlling system | |
JP2005346571A (en) | Authentication system and authentication method | |
JP2015191508A (en) | Single sign-on system and single sign-on method | |
JP2005293088A (en) | Authentication system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |