KR102508770B1 - 인증 방법, 보조 인증 컴포넌트, 관리 서버 및 컴퓨터 판독 가능 매체 - Google Patents

인증 방법, 보조 인증 컴포넌트, 관리 서버 및 컴퓨터 판독 가능 매체 Download PDF

Info

Publication number
KR102508770B1
KR102508770B1 KR1020217007876A KR20217007876A KR102508770B1 KR 102508770 B1 KR102508770 B1 KR 102508770B1 KR 1020217007876 A KR1020217007876 A KR 1020217007876A KR 20217007876 A KR20217007876 A KR 20217007876A KR 102508770 B1 KR102508770 B1 KR 102508770B1
Authority
KR
South Korea
Prior art keywords
authentication
login
source host
application
information
Prior art date
Application number
KR1020217007876A
Other languages
English (en)
Other versions
KR20210037722A (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
Priority claimed from CN202010097872.XA external-priority patent/CN111259356B/zh
Application filed by 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 filed Critical 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드
Publication of KR20210037722A publication Critical patent/KR20210037722A/ko
Application granted granted Critical
Publication of KR102508770B1 publication Critical patent/KR102508770B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

이 개시는 인증 방법을 제공하고, 컴퓨터 기술 분야에 관련되고, 클라우드 플랫폼 기술 분야에서 사용될 수 있으며, 그 인증 방법은 보조 인증 컴포넌트에 적용되고, 보조 인증 컴포넌트는 오픈 소스 호스트 애플리케이션 내에 통합되며, 인증 방법은: 개발자 애플리케이션이 전송한 로그인 요청에 응답하여, 사용자의 로그인 인증 정보를 획득하고; 오픈 소스 호스트 애플리케이션의 계정 관리자에게 로그인 인증 요청을 전송하고, 로그인 인증 요청은 로그인 인증 정보를 포함하고; 로그인 인증 정보의 검증이 통과된 후, 계정 관리자가 피드백한 인증 성공 정보를 수신하고, 인증 성공 정보는 인증 코드를 포함하며; 그리고, 인증 코드를 상기 개발자 애플리케이션에 전송하여, 개발자 애플리케이션이 인증 코드에 대응하는 세션 키를 관리 서버로부터 교환하도록 하는 것을 포함한다. 이 개시는 또한 보조 인증 컴포넌트, 관리 서버 및 컴퓨터 판독 가능 매체를 제공한다.

Description

인증 방법, 보조 인증 컴포넌트, 관리 서버 및 컴퓨터 판독 가능 매체
이 개시는 컴퓨터 기술 분야에 관련되고, 클라우드 플랫폼 기술 분야에서 사용될 수 있으며, 특히 인증 방법, 보조 인증 컴포넌트, 관리 서버 및 컴퓨터 판독 가능 매체에 관련된다.
현재 코드 변환 도구를 기반으로 하거나 통합 개발 프레임워크를 사용하여, 개발자 애플리케이션(예: 스마트 미니 프로그램)을 한 번의 개발로 멀티 엔드에서 실행하게 할 수 있다. 즉, 개발자 애플리케이션은 크로스 플랫폼 실행을 지원할 수 있다. 일반적으로, 플랫폼 별로 사용하는 계정 관리 시스템이 다르기 때문에, 개발자 애플리케이션이 크로스 플랫폼에서 실행될 때, 새로운 호스트 플랫폼은 사용자 정보 인증을 수행해야 한다. 이러한 이유로, 개발자 애플리케이션의 크로스 플랫폼 실행을 진정으로 실현하려면, 크로스 플랫폼 인증 문제를 해결하는 것이 필요하다.
제1 양태에서, 이 개시의 실시예는 인증 방법을 제공한다. 그 중에서, 그 인증 방법은 보조 인증 컴포넌트에 적용되고, 상기 보조 인증 컴포넌트는 오픈 소스 호스트 애플리케이션 내에 통합되며, 상기 인증 방법은:
개발자 애플리케이션이 전송한 로그인 요청에 응답하여, 사용자의 로그인 인증 정보를 획득하고;
상기 오픈 소스 호스트 애플리케이션의 계정 관리자에게 로그인 인증 요청을 전송하고, 상기 로그인 인증 요청은 상기 로그인 인증 정보를 포함하고;
상기 로그인 인증 정보의 검증이 통과된 후, 상기 계정 관리자가 피드백한 인증 성공 정보를 수신하고, 상기 인증 성공 정보는 인증 코드를 포함하며; 그리고,
상기 인증 코드를 상기 개발자 애플리케이션에 전송하여, 개발자 애플리케이션이 상기 인증 코드에 대응하는 세션 키를 관리 서버로부터 교환하도록 하는 것을 포함한다.
일부 실시예에서, 상기 인증 코드를 상기 개발자 애플리케이션에 전송하는 단계 이후에, 상기 인증 방법은:
상기 개발자 애플리케이션이 전송한 사용자 정보 획득 요청에 응답하여, 상기 사용자 정보 획득 요청을 상기 계정 관리자에게 전달하며; 그리고,
상기 계정 관리자가 피드백한 암호화된 사용자 정보를 수신하고, 또한 상기 사용자 정보를 상기 개발자 애플리케이션에 전달하여, 상기 개발자 애플리케이션이 상기 세션 키에 기반하여 상기 사용자 정보를 해독하도록 하는 것을 더 포함한다.
일부 실시예에서, 상기 로그인 요청은: 상기 오픈 소스 호스트 애플리케이션의 호스트 식별자를 포함하며;
상기 사용자의 로그인 인증 정보를 획득하는 단계 이후에, 또한 상기 오픈 소스 호스트 애플리케이션의 계정 관리자에게 로그인 인증 요청을 전송하는 단계 이전에, 상기 인증 방법은:
상기 호스트 식별자에 따라 상기 오픈 소스 호스트 애플리케이션의 계정 관리자를 결정하는 것을 더 포함한다.
일부 실시예에서, 상기 계정 관리자는: 상기 관리 서버 또는 상기 오픈 소스 호스트 애플리케이션 내의 오픈 소스 호스트 플랫폼을 포함한다.
제2 양태에서, 이 개시의 실시예는 인증 방법을 더 제공한다. 그 중에서, 상기 인증 방법은 관리 서버에 적용되며, 상기 인증 방법은:
개발자 애플리케이션이 전송한 키 획득 요청을 수신한 경우, 상기 키 획득 요청 중의 인증 코드에 따라 대응하는 세션 키를 획득하며; 그리고,
상기 세션 키를 상기 개발자 애플리케이션에 피드백하는 것을 포함한다.
일부 실시예에서, 상기 키 획득 요청 중의 인증 코드에 따라 대응하는 세션 키를 획득하는 단계는:
상기 인증 코드에 대응하는 사용자의 계정 관리자를 결정하며;
상기 계정 관리자가 상기 관리 서버인 경우, 상기 인증 코드에 대응하는 세션 키를 생성하고;
상기 계정 관리자가 타사 오픈 소스 호스트 플랫폼인 경우, 상기 키 획득 요청을 상기 타사 오픈 소스 호스트 플랫폼으로 전달하여, 상기 타사 오픈 소스 호스트 플랫폼이 상기 인증 코드에 대응하는 세션 키를 생성하도록 하고; 또한, 상기 타사 오픈 소스 호스트 플랫폼이 피드백한 상기 세션 키를 수신하는 것을 포함한다.
일부 실시예에서, 상기 개발자 애플리케이션이 전송한 키 획득 요청을 수신하는 단계 이전에, 상기 인증 방법은:
보조 인증 컴포넌트가 전송한 로그인 인증 요청에 응답하여, 상기 로그인 인증 요청 중의 로그인 인증 정보를 검증하며: 그리고,
상기 로그인 인증 정보의 검증이 통과된 후, 상기 보조 인증 컴포넌트로 인증 성공 정보를 피드백하는 것을 더 포함하며, 상기 인증 성공 정보는 상기 인증 코드를 포함한다.
일부 실시예에서, 상기 세션 키를 상기 개발자 애플리케이션에 피드백하는 단계 이후에, 상기 인증 방법은:
보조 인증 컴포넌트가 전송한 사용자 정보 획득 요청에 응답하여, 요청된 사용자 정보를 획득하고;
상기 세션 키를 사용하여 상기 사용자 정보를 암호화하며; 그리고,
암호화된 상기 사용자 정보를 상기 보조 인증 컴포넌트에 피드백하는 것을 더 포함한다.
제3 양태에서, 이 개시의 실시예는 또한 보조 인증 컴포넌트를 제공한다. 그 중에서, 상기 보조 인증 컴포넌트는 오픈 소스 호스트 애플리케이션 내에 통합되고, 상기 보조 인증 컴포넌트는:
개발자 애플리케이션이 전송한 로그인 요청에 응답하여, 사용자의 로그인 인증 정보를 획득하도록 구성되는, 제1 획득 모듈;
상기 오픈 소스 호스트 애플리케이션의 계정 관리자에게 로그인 인증 요청을 전송하도록 구성되며, 상기 로그인 인증 요청은 상기 로그인 인증 정보를 포함하는, 제1 전송 모듈;
상기 로그인 인증 정보의 검증이 통과된 후, 상기 계정 관리자가 피드백한 인증 성공 정보를 수신하도록 구성되며, 상기 인증 성공 정보는 인증 코드를 포함하는, 제1 수신 모듈; 그리고,
상기 인증 코드를 상기 개발자 애플리케이션에 전송하도록 구성되어, 개발자 애플리케이션이 상기 인증 코드에 대응하는 세션 키를 관리 서버로부터 교환하도록 하는, 제2 전송 모듈;을 포함한다.
일부 실시예에서, 그 보조 인증 컴포넌트는:
상기 개발자 애플리케이션이 전송한 사용자 정보 획득 요청에 응답하여, 상기 사용자 정보 획득 요청을 상기 계정 관리자에게 전달하도록 구성되는, 제3 전송 모듈; 그리고,
상기 계정 관리자가 피드백한 암호화된 사용자 정보를 수신하고, 또한 상기 사용자 정보를 상기 개발자 애플리케이션에 전달하도록 구성되어, 상기 개발자 애플리케이션이 상기 세션 키에 기반하여 상기 사용자 정보를 해독하도록 하는, 제2 수신 모듈;을 더 포함한다.
일부 실시예에서, 상기 로그인 요청은: 상기 오픈 소스 호스트 애플리케이션의 호스트 식별자를 포함하며;
상기 보조 인증 컴포넌트는:
상기 호스트 식별자에 따라 상기 오픈 소스 호스트 애플리케이션의 계정 관리자를 결정하도록 구성되는, 결정 모듈을 더 포함한다.
일부 실시예에서, 상기 계정 관리자는: 상기 관리 서버 또는 상기 오픈 소스 호스트 애플리케이션 내의 오픈 소스 호스트 플랫폼을 포함한다.
제4 양태에서, 이 개시의 실시예는 또한 관리 서버를 제공하며,
개발자 애플리케이션이 전송한 키 획득 요청에 응답하여, 상기 키 획득 요청 중의 인증 코드에 따라 대응하는 세션 키를 획득하도록 구성되는, 제2 획득 모듈;
상기 세션 키를 상기 개발자 애플리케이션에 피드백하도록 구성되는, 제4 전송 모듈;을 포함한다.
일부 실시예에서, 상기 제2 획득 모듈은:
상기 인증 코드에 대응하는 사용자의 계정 관리자를 결정하도록 구성되는, 결정 유닛;
상기 계정 관리자가 상기 관리 서버인 경우, 상기 인증 코드에 대응하는 세션 키를 생성하도록 구성되는, 생성 유닛;
상기 계정 관리자가 타사 오픈 소스 호스트 플랫폼인 경우, 상기 키 획득 요청을 상기 타사 오픈 소스 호스트 플랫폼으로 전달하도록 구성되어, 상기 타사 오픈 소스 호스트 플랫폼이 상기 인증 코드에 대응하는 세션 키를 생성하도록 하는, 전송 유닛; 그리고,
상기 타사 오픈 소스 호스트 플랫폼이 피드백한 상기 세션 키를 수신하도록 구성되는, 수신 유닛;을 포함한다.
일부 실시예에서, 상기 관리 서버는:
보조 인증 컴포넌트가 전송한 로그인 인증 요청에 응답하여, 상기 로그인 인증 요청 중의 로그인 인증 정보를 검증하도록 구성되는, 검증 모듈; 그리고,
상기 로그인 인증 정보의 검증이 통과된 후, 상기 보조 인증 컴포넌트로 인증 성공 정보를 피드백하도록 구성되고, 상기 인증 성공 정보는 상기 인증 코드를 포함하는, 제5 전송 모듈;을 더 포함한다.
일부 실시예에서, 상기 관리 서버는:
보조 인증 컴포넌트가 전송한 사용자 정보 획득 요청에 응답하여, 요청된 사용자 정보를 획득하도록 구성되는, 제3 획득 모듈;
상기 세션 키를 사용하여 상기 사용자 정보를 암호화하도록 구성되는, 암호화 모듈; 그리고,
암호화된 상기 사용자 정보를 상기 보조 인증 컴포넌트에 피드백하도록 구성되는, 제6 전송 모듈;을 더 포함한다.
제5 양태에서, 이 개시의 실시예는 또한 인증 시스템을 제공하며, 상기 제3 양태에서 어느 하나의 실시예에 의해 제공되는 보조 인증 컴포넌트와 상기 제4 양태에서 어느 하나의 실시예에 의해 제공되는 관리 서버를 포함한다.
제6 양태에서, 이 개시의 실시예는 또한 컴퓨터 판독 가능 매체를 제공하며, 그 위에 컴퓨터 프로그램이 저장되고, 상기 프로그램이 프로세서에 의해 실행될 때 제1 양태 및 제2 양태 중 어느 하나의 실시예에 의해 제공되는 상기 인증 방법을 구현한다.
이 개시의 실시예는 인증 방법, 보조 인증 컴포넌트, 관리 서버 및 컴퓨터 판독 가능 매체를 제공하며, 사용자가 오픈 소스 호스트 애플리케이션에서 자신의 사용자 정보의 일부 또는 전부를 개발자 애플리케이션에게 사용하도록 인증하는 것을 구현할 수 있다.
첨부 도면은 이 개시의 실시예에 대한 이해를 돕기 위해 제공되고, 명세서의 일부를 구성하며, 이 개시의 실시예와 함께 이 개시를 해석하기 위해 사용되는 것으로, 이 개시를 제한하는 것이 아니다. 첨부 도면을 참조하여 상세한 예시적인 실시예를 설명함으로써, 상기 내용과 기타 특징 및 장점이 이 분야의 기술자에게 더욱 명백해질 것이다. 첨부 도면에서:
도 1은 이 개시의 실시예에 의해 제공되는 크로스 플랫폼 인증의 각 참여자의 개략도이다.
도 2는 이 개시의 실시예에 의해 제공되는 인증 방법의 흐름도이다.
도 3 은 이 개시의 실시예에 의해 제공되는 다른 인증 방법의 흐름도이다.
도 4는 이 개시의 실시예에 의해 제공되는 또 다른 방법의 흐름도이다.
도 5는 이 개시의 실시예에 의해 제공되는 또 다른 인증 방법의 흐름도이다.
도 6 은 이 개시의 실시예에 의해 제공되는 인증 방법을 구현하는 시그널링 상호 작용 다이어그램이다.
도 7은 이 개시의 실시예에 의해 제공되는 다른 인증 방법을 구현하는 시그널링 상호 작용 다이어그램이다.
도 8은 이 개시의 실시예에 의해 제공되는 보조 인증 컴포넌트의 구조 블록도이다.
도 9는 이 개시의 실시예에 의해 제공되는 관리 서버의 구성 블록도이다.
이 분야의 기술자가 이 개시의 기술 방안을 보다 잘 이해할 수 있도록 하기 위해, 다음은 첨부 도면을 참조하여 이 개시에 의해 제공되는 인증 방법, 보조 인증 컴포넌트, 관리 서버 및 컴퓨터 판독 가능 매체에 대해 상세하게 설명한다.
이하에서 첨부 도면을 참조하여 예시적인 실시예를 보다 상세하게 설명하지만, 상기 예시적인 실시예는 다른 형태로 구현될 수 있으며, 여기에서 설명하는 실시예로 제한하는 것으로 해석해서는 안 된다. 달리 말하면, 이러한 실시예를 제공하는 목적은 이 개시를 철저하고 완전하게 만들고, 또한 이 분야의 기술자가 이 개시의 범위를 완전히 이해할 수 있도록 하는 것이다.
상충되지 않는 한, 이 개시의 실시예 및 실시예 중의 각 특징은 서로 결합될 수 있다.
이 명세서에서 사용되는 용어 "및/또는"은 하나 이상의 관련된 나열된 항목의 임의의 조합 및 모든 조합을 포함한다.
이 명세서에서 사용된 용어는 특정 실시예를 설명하기 위해서만 사용되며, 이 개시를 제한하려는 의도는 아니다. 이 명세서에서 사용된 바와 같이, 단수 형태의 "하나" 및 "그"는 문맥 상 명백하게 달리 지시하지 않는 한 복수 형태를 포함하도록 의도된다. 또한 이 명세서에서 "포함하는" 및/또는 "구성되는"이라는 용어가 사용될 때, 설명된 특징, 전체, 단계, 조작, 요소 및/또는 구성 요소의 존재를 지정하는 것이지만, 하나 이상의 다른 특징, 전체, 단계, 조작, 요소, 구성 요소 및/또는 그 그룹의 존재 또는 추가를 배제하지 않는다는 것을 이해할 것이다.
달리 정의되지 않는 한, 여기서 사용되는 모든 용어의 의미(기술 용어 및 과학 용어를 포함)는 이 분야의 기술자가 일반적으로 이해하는 것과 동일하다. 또한 일반적으로 사용되는 사전에서 정의된 용어와 같은 용어는 관련 기술 및 이 개시의 배경에서의 의미와 일치되는 의미를 갖는 것으로 해석되어야 하며, 또한 이 명세서가 명확하게 정의하지 않는 한 이상화되거나 과도하게 형식적인 의미를 갖는 것으로 해석하지 않아야 한다는 것을 이해할 것이다.
도 1은 이 개시의 실시예에서 크로스 플랫폼 인증의 각 참여자의 개략도이다. 도 1에 도시된 바와 같이, 교차 플랫폼 인증 과정의 참여자는: 개발자 애플리케이션, 오픈 소스 호스트 애플리케이션 및 관리 서버를 포함한다.
그 중에서, "개발자"는 오픈 소스 개발 플랫폼을 기반으로 애플리케이션(App, Mini Program 이라고도 할 수 있음)을 개발하는 개발자를 가리키며, "개발자 애플리케이션"은 개발자가 오픈 소스 개발 플랫폼을 기반으로 개발한 애플리케이션을 의미하며, 그 애플리케이션은 크로스 플랫폼 실행을 지원할 수 있다. "Baidu Smart Mini Program" 플랫폼을 예로 들면, 이는 오픈 소스의 미니 프로그램 개발 플랫폼으로서, 다른 각 플랫폼과의 장벽을 허물기 위해, Baidu 스마트 미니 프로그램은 완전히 개방되어 있으며, Baidu 계열 애플리케이션(App) 및 외부 APP 실행(예를 들어, Qutoutiao, Kuaishou 등)을 지원하여, 한 번의 개발로 멀티 엔드 실행을 구현한다.
"오픈 소스 호스트 애플리케이션"은 모바일 Baidu App 및 WIFI 스마트 키 App과 같이, 개발자 애플리케이션의 실행을 호스팅하고, 개발자 애플리케이션의 호스트 역할을 할 수 있는 로컬 애플리케이션(Native App, 타사 애플리케이션이라고도 함)이다. 이 개시의 실시예에서, 오픈 소스 호스트 애플리케이션은 애플리케이션의 기능을 지원하는 오픈 소스 호스트 플랫폼을 포함할 뿐만 아니라 보조 인증 컴포넌트도 통합한다. 보조 인증 컴포넌트에 대해서는 나중에 자세히 설명한다.
"관리 서버"는 오픈 소스 개발 플랫폼의 백엔드 서버로서, 그는 오픈 소스 호스트 애플리케이션이 액세스하고 등록하는데 사용할 수 있는 오픈 소스 개발 플랫폼의 계정 시스템을 관리하며(오픈 소스 호스트 애플리케이션이 보조 인증 컴포넌트를 통합하고, 또한 오픈 소스 개발 플랫폼을 기반으로 개발된 개발자 애플리케이션을 호스팅할 수 있도록 함), 액세스하여 등록을 완료한 각 오픈 소스 호스트 애플리케이션의 계정 인증을 관리할 수도 있다. 또한, 관리 서버는 자체 독립 계정 시스템이 없는 오픈 소스 호스트 애플리케이션을 위해 자신의 계정 시스템을 공유할 수도 있다. 즉, 사용자는 오픈 소스 개발 플랫폼의 계정을 기반으로, 그 오픈 소스 호스트 애플리케이션에 로그인 할 수 있다.
도 2는 이 개시의 실시예에 의해 제공되는 인증 방법의 흐름도이다. 도 2에 도시된 바와 같이, 그 인증 방법은 사용자가 오픈 소스 호스트 애플리케이션에서 자신의 사용자 정보의 일부 또는 전부를 개발자 애플리케이션에게 사용하도록 인증하는 것을 구현하는데 사용된다. 인증 방법의 실행 주체는 보조 인증 컴포넌트이고, 보조 인증 컴포넌트는 오픈 소스 호스트 애플리케이션 내에 통합되며, 그 인증 방법은 다음을 포함한다.
S101 단계: 개발자 애플리케이션이 전송한 로그인 요청에 응답하여, 사용자의 로그인 인증 정보를 획득한다.
이 개시의 실시예에서, 상이한 오픈 소스 호스트 애플리케이션에는 모두 동일한 보조 인증 컴포넌트가 통합된다. 개발자 애플리케이션이 전송한 로그인 요청에는 액세스할 오픈 소스 호스트 애플리케이션의 호스트 식별자와 사용자 인증을 요청한 인증 항목(예: 사용자 아바타, 사용자 계정, 사용자 휴대폰 번호, 사용자 비즈니스 데이터 등)이 포함된다. 그 중에서, 호스트 식별자를 기반으로 보조 인증 컴포넌트는 사용자가 로그인할 오픈 소스 호스트 플랫폼이 그와 동일한 오픈 소스 호스트 애플리케이션에 속한 오픈 소스 호스트 플랫폼인지 여부를 결정할 수 있다. 만약 그렇지 않다면, 개발자 애플리케이션에 로그인 요청 실패를 직접 보고하고; 만약 그렇다면, 사용자가 로그인 계정, 암호/검증 코드 등과 같은 로그인 정보를 입력할 수 있는 미리 설계된 로그인 인터페이스를 제공하고, 또한, 사용자가 로그인 요청의 각 인증 항목을 개발자 애플리케이션에게 인증할지 여부를 확인할 수 있는 인증 인터페이스를 제공한다. 그 중에서, 사용자가 인증을 거부하면, 개발자 애플리케이션에게 사용자가 인증을 거부한 정보를 피드백하고; 사용자가 인증에 동의하면, 사용자가 입력한 로그인 정보와 인증을 확인한 관련 인증 정보를 획득하여 사용자의 로그인 인증 정보로 하며, 이후 S102 단계를 수행한다.
S102 단계: 오픈 소스 호스트 애플리케이션의 계정 관리자에게 로그인 인증 요청을 전송한다.
일부 실시예에서, S102 단계 이전에: 호스트 식별자에 따라 오픈 소스 호스트 애플리케이션의 계정 관리자를 결정하는 단계를 더 포함한다. 이 개시의 실시예에서, 오픈 소스 호스트 애플리케이션의 계정 시스템은 두 가지 상황을 갖는다: 첫째, 오픈 소스 호스트 애플리케이션이 자체 독립된 계정 시스템을 사용하는 경우, 오픈 소스 호스트 애플리케이션의 계정 관리자는 오픈 소스 호스트 애플리케이션 내의 오픈 소스 호스트 플랫폼이고, 보조 인증 컴포넌트는 오픈 소스 호스트 애플리케이션 내의 오픈 소스 호스트 플랫폼으로 로그인 인증 요청을 전송한다; 둘째, 오픈 소스 호스트 애플리케이션이 오픈 소스 개발 플랫폼의 계정 시스템을 공동으로 사용하는 경우, 오픈 소스 호스트 애플리케이션의 계정 관리자는 관리 서버이고, 보조 인증 컴포넌트는 관리 서버로 로그인 인증 요청을 전송한다.
보조 인증 컴포넌트는 오픈 소스 호스트 애플리케이션의 계정 관리자에게 로그인 인증 요청을 전송하여, 계정 관리자가 로그인 인증 요청에 포함된 로그인 인증 정보를 검증하게 한다. 구체적으로, 계정 관리자는 사용자가 입력한 로그인 정보가 정확한지 검증하고, 또한 사용자가 인증을 확인한 인증 항목이 사용자의 권한 범위 내에 있는지 검증한다; 사용자가 입력한 로그인 정보가 정확하고 또한 인증을 확인한 인증 항목이 권한 범위 내에 있으면, 로그인 인증 정보의 검증이 통과된 것을 나타내므로, 계정 관리자는 인증 코드를 생성하고, 또한 보조 인증 컴포넌트로 인증 성공 정보를 전송한다. 그 중에서 인증 성공 정보는 인증 코드를 포함하며, 이후 S103 단계를 실행한다; 반대는, 로그인 인증 정보의 검증이 실패한 것을 나타내므로, 계정 관리자는 보조 인증 컴포넌트에 인증 실패 정보를 피드백하고, 보조 인증 컴포넌트는 인증 실패 정보를 사용자에게 표시한다.
그 중에서, 인증 코드는 사용자가 인증한 식별자이다. 사용자가 애플리케이션에 대한 인증을 완료하고 인증 검증이 통과되면, 계정 관리자는 짧은 시간(예: 10 분) 내에 유효한 인증 식별자를 생성하고, 또한 그 인증 코드는 일반적으로 한 번의 유효한 사용 횟수를 갖는다.
S103 단계: 로그인 인증 정보의 검증이 통과된 후, 계정 관리자가 피드백한 인증 성공 정보를 수신한다.
S103 단계에서, 보조 인증 컴포넌트는 계정 관리자가 피드백한 인증 성공 정보를 수신하고, 그 인증 성공 정보에는 인증 코드가 포함된다.
계정 관리자가 관리 서버인 경우, 인증 성공 정보에는 사용자 로그인 성공을 특징짓는 식별자도 포함된다. 이는 사용자 식별자(필드 네임은 일반적으로 UId), 오픈 소스 호스트 식별자(필드 네임은 일반적으로 Host_Id) 및 현재 시간(필드 네임은 일반적으로 Current_Time) 등의 차원을 사용하여 구성된 사용자 신원의 식별자이다.
S104 단계: 인증 코드를 개발자 애플리케이션에 전송하여, 개발자 애플리케이션이 인증 코드에 대응하는 세션 키를 관리 서버로부터 교환하도록 한다.
S104 단계에서, 보조 인증 컴포넌트는 인증 코드(Code)를 개발자 애플리케이션에 전송하고, 개발자 애플리케이션은 관리 서버에 키 획득 요청을 전송하여, 인증 코드에 대응하는 세션 키(Session Key)를 교환하도록 요청한다. 그 중에서, 키 획득 요청은: 인증 코드, 애플리케이션 식별자(개발자 애플리케이션의 애플리케이션 명칭, 필드 네임은 일반적으로 Client_ID) 및 애플리케이션 키(개발자 애플리케이션의 키, 필드 네임은 일반적으로 Secret_Key)를 포함한다. 인증 코드의 형식에 따라, 관리 서버는 그 인증 코드가 자체적으로 생성된 것인지, 아니면 다른 타사 오픈 소스 호스팅 플랫폼에서 생성된 것인지를 결정한다.
인증 코드가 관리 서버 자체에서 생성된 경우, 관리 서버는 인증 코드의 유효성을 검증하고, 또한 유효성 검증이 통과된 후 인증 코드에 대응하는 세션 키를 생성하고, 또한 개발자 애플리케이션에 사용자 신원 식별자(필드 네임은 일반적으로 openid이고, 개발자의 애플리케이션 식별자 AppID 및 사용자 식별자 UId에 의해 생성됨) 및 세션 키(필드 네임은 일반적으로 Session_Key 임)를 포함한 JSON 텍스트를 피드백한다. 인증 코드의 유효성 검증에 실패하면, 관리 서버는 개발자 애플리케이션에 오류 코드(필드 네임은 일반적으로 error임) 및 오류 설명 정보(필드 네임은 일반적으로 error_description 임)를 포함한 다른 JSON 텍스트를 피드백한다.
인증 코드가 다른 타사 오픈 소스 호스트 플랫폼에서 생성된 경우, 관리 서버는 키 획득 요청을 오픈 소스 호스트 플랫폼으로 전달하고, 오픈 소스 호스트 플랫폼은 인증 코드의 유효성을 검증하고, 또한 유효성 검증이 통과된 후 인증 코드에 대응하는 세션 키를 생성하고, 또한 관리 서버로 사용자 신원 식별자 및 세션 키를 포함하는 JSON 텍스트를 피드백한다. 인증 코드의 유효성 검증이 실패하면, 오픈 소스 호스트 플랫폼은 관리 서버에 오류 코드 및 오류 설명 정보를 포함한 다른 JSON 텍스트를 피드백한다. 관리 서버는 수신된 JSON 텍스트를 개발자 애플리케이션으로 전달한다.
인증 코드에 따라 대응하는 세션 키를 생성하는 과정은 이 분야의 기존 기술이므로, 여기서는 자세히 설명하지 않음을 유의해야 한다.
개발자 애플리케이션이 세션 키를 획득하면, 사용자 인증 성공을 나타낸다.
이 개시의 실시예에 의해 제공되는 인증 방법은, 개발자 애플리케이션에 대한 사용자의 크로스 플랫폼 인증을 실현할 수 있다.
도 3은 이 개시의 실시예에 의해 제공되는 다른 인증 방법의 흐름도이다. 도 3에 도시된 바와 같이, 도 1에 도시된 실시예와 다른 점은, 도 3에 도시된 인증 방법은 상기 S101 단계 내지 S104 단계를 포함할 뿐만 아니라, S104 단계 이후에 S105 단계 및 S106 단계를 더 포함한다. 아래에서는 S105 단계 및 S106 단계에 대해서만 상세히 설명된다.
S105 단계: 개발자 애플리케이션이 전송한 사용자 정보 획득 요청에 응답하여, 사용자 정보 획득 요청을 계정 관리자에게 전달한다.
개발자 애플리케이션은 보조 인증 컴포넌트에 사용자 정보 획득 요청을 전송한다. 사용자 정보 획득 요청에는 개발자 애플리케이션의 애플리케이션 식별자, 인증을 획득한 사용자의 사용자 식별자 및 개발자 애플리케이션에서 요청한 사용자의 사용자 정보(예: 사용자 아바타, 사용자 계정, 사용자 휴대폰 번호, 사용자 비즈니스 데이터 등)를 포함한다. 보조 인증 컴포넌트는 사용자 정보 획득 요청을 오픈 소스 호스트 애플리케이션의 계정 관리자에게 전송하고, 계정 관리자는 자체 데이터베이스에서 사용자 정보 획득 요청에 의해 요청된 사용자 정보를 결정하고, 또한 사용자의 세션 키를 사용하여 결정된 사용자 정보를 암호화하며, 또한 암호화된 사용자 정보를 보조 인증 컴포넌트로 피드백한다.
S106 단계: 계정 관리자가 피드백한 암호화된 사용자 정보를 수신하고, 또한 사용자 정보를 개발자 애플리케이션에 전달하여, 개발자 애플리케이션이 세션 키에 기반하여 사용자 정보를 해독하도록 한다.
보조 인증 컴포넌트는 계정 관리자가 피드백한 암호화된 사용자 정보를 수신하고, 또한 사용자 정보를 개발자 애플리케이션에 전달하며, 개발자 애플리케이션은 이전에 획득한 세션 키에 기반하여 수신된 사용자 정보를 해독하여, 사용자 정보 원문을 획득한다.
도 4는 이 개시의 실시예에 의해 제공되는 다른 인증 방법의 흐름도이다. 도 4에 도시된 바와 같이, 인증 방법의 실행 주체는 관리 서버이고, 그 인증 방법은 다음을 포함한다.
S201 단계: 개발자 애플리케이션이 전송한 키 획득 요청을 수신한 경우, 키 획득 요청 중의 인증 코드에 따라 대응하는 세션 키를 획득한다.
개발자 애플리케이션은 인증 코드를 획득한 후, 관리 서버로 키 획득 요청을 전송하며, 키 획득 요청은: 인증 코드, 애플리케이션 식별자 및 애플리케이션 키를 포함한다. 인증 코드의 형식에 따라, 관리 서버는 인증 코드가 자체적으로 생성된 것인지, 아니면 다른 타사 오픈 소스 호스팅 플랫폼에서 생성된 것인지를 결정한다. 인증 코드가 관리 서버 자체에서 생성된 경우, 관리 서버는 자체에서 생성된 인증 코드에 따라 대응하는 세션 키를 획득한다; 인증 코드가 다른 타사 오픈 소스 호스트 플랫폼에서 생성된 경우, 관리 서버는 키 획득 요청을 오픈 소스 호스트 플랫폼으로 전달하고, 오픈 소스 호스트 플랫폼은 인증 코드에 대응하는 세션 키를 생성하며, 또한 그 세션 키를 관리 서버로 피드백하고, 관리 서버는 타사의 오픈 소스 호스팅 플랫폼이 피드백한 세션 키를 수신한다.
S202 단계: 세션 키를 개발자 애플리케이션에 피드백한다.
관리 서버가 인증 코드에 대응하는 세션 키를 획득하면, 세션 키를 개발자 애플리케이션에 피드백한다.
도 5는 이 개시의 실시예가 제공하는 다른 인증 방법의 흐름도이다. 도 5에 도시된 바와 같이, 이 실시예에서 오픈 소스 호스트 애플리케이션은 자체 독립 계정 시스템을 가지고 있지 않고 오픈 소스 개발 플랫폼의 계정 시스템을 사용한다. 즉, 관리 서버가 오픈 소스 호스트 애플리케이션과 자신의 계정 시스템을 공유한다. 도 4에 도시된 실시예와 다른 점은, 이 인증 방법은 전술한 S201 단계 및 S202단계를 포함할 뿐만 아니라, S201 단계 이전에 S200a 단계 및 S200b단계를 더 포함하고, S202 단계 이후에 S203 단계, S204 단계 및 S205 단계를 포함하는 것이다.
S200a 단계: 보조 인증 컴포넌트가 전송한 로그인 인증 요청에 응답하여, 로그인 인증 요청 중의 로그인 인증 정보를 검증한다.
S200b 단계: 로그인 인증 정보의 검증이 통과된 후, 보조 인증 컴포넌트로 인증 성공 정보를 피드백하고, 인증 성공 정보는: 인증 코드를 포함한다.
S201 단계: 개발자 애플리케이션이 전송한 키 획득 요청을 수신한 경우, 키 획득 요청 중의 인증 코드에 따라 대응하는 세션 키를 획득한다.
S202 단계: 세션 키를 개발자 애플리케이션에 피드백한다.
S203 단계: 보조 인증 컴포넌트가 전송한 사용자 정보 획득 요청에 응답하여, 요청된 사용자 정보를 획득한다.
S204 단계: 세션 키를 사용하여 사용자 정보를 암호화한다.
S205 단계: 암호화된 사용자 정보를 보조 인증 컴포넌트에 피드백한다.
상기 각 단계에 대한 구체적인 설명은, 전술한 실시예의 해당 내용을 참조할 수 있으므로, 여기에서 반복 설명하지 않는다.
도 6은 이 개시의 실시예에서 제공하는 인증 방법을 구현하는 시그널링 상호 작용 다이어그램이다. 도 6에 도시된 바와 같이, 참가자는: 개발자 애플리케이션, 오픈 소스 호스트 애플리케이션 및 관리 서버를 포함하고; 그 중에서, 개발자 애플리케이션은: 개발자 프로그램 프론트엔드 및 개발자 프로그램 백엔드를 포함하며, 오픈 소스 호스트 애플리케이션은: 보조 인증 컴포넌트 및 오픈 소스 호스트 플랫폼을 포함하고, 오픈 소스 호스트 애플리케이션은 자체 독립 계정 시스템이 있다. 즉, 오픈 소스 호스트 애플리케이션의 계정 관리자는 오픈 소스 호스트 플랫폼이며; 그 인증 방법은 다음을 포함한다:
BZ101: 개발자 프로그램 프론트엔드는 보조 인증 컴포넌트에 로그인 요청을 전송한다.
BZ102: 보조 인증 컴포넌트는 사용자에게 로그인 및 인증을 안내하고, 사용자의 로그인 인증 정보를 획득한다.
BZ103: 보조 인증 컴포넌트는 오픈 소스 호스트 플랫폼에 로그인 인증 요청을 전송하고, 로그인 인증 요청은 로그인 인증 정보를 포함한다.
BZ104: 로그인 인증 정보의 검증이 통과된 후, 오픈 소스 호스트 플랫폼은 보조 인증 컴포넌트에 인증 성공 정보를 전송하고, 인증 성공 정보는 인증 코드를 포함한다.
BZ105: 보조 인증 컴포넌트는 인증 코드를 개발자 프로그램 프론트엔드로 전달한다.
BZ106: 개발자 프로그램 프론트엔드는 인증 코드를 개발자 프로그램 백엔드로 전달한다.
BZ107: 개발자 프로그램 백엔드는 관리 서버에 키 획득 요청을 전송하고, 키 획득 요청은 인증 코드를 포함한다.
BZ108: 관리 서버는 인증 코드를 오픈 소스 호스팅 플랫폼에 배포한다.
BZ109: 오픈 소스 호스트 플랫폼은 인증 코드에 대응하는 세션 키를 생성하고, 또한 세션 키를 관리 서버로 전송한다.
BZ110: 관리 서버는 세션 키를 개발자 프로그램 백엔드로 전달한다.
BZ111: 개발자 프로그램 프론트엔드는 보조 인증 컴포넌트로 사용자 정보 획득 요청을 전송한다.
BZ112: 보조 인증 컴포넌트는 사용자 정보 획득 요청을 오픈 소스 호스트 플랫폼으로 전달한다.
BZ113: 오픈 소스 호스트 플랫폼은 보조 인증 컴포넌트에 암호화된 사용자 정보를 피드백한다.
BZ114: 보조 인증 컴포넌트는 사용자 정보를 개발자 프로그램 프론트엔드로 전달한다.
BZ115: 개발자 프로그램 프론트엔드는 사용자 정보를 개발자 프로그램 백엔드로 전달한다.
BZ116: 개발자 프로그램 백엔드는 세션 키를 사용하여 사용자 정보를 해독한다.
도 7은 이 개시의 실시예에 의해 제공되는 다른 인증 방법을 구현하는 시그널링 상호 작용 다이어그램이다. 도 7에 도시된 바와 같이 참가자는: 개발자 애플리케이션, 오픈 소스 호스트 애플리케이션 및 관리 서버를 포함하고; 그 중에서, 개발자 애플리케이션은: 개발자 프로그램 프론트엔드 및 개발자 프로그램 백엔드를 포함하며, 오픈 소스 호스트 애플리케이션은: 보조 인증 컴포넌트 및 오픈 소스 호스트 플랫폼을 포함하고, 오픈 소스 호스트 애플리케이션은 자체 독립 계정 시스템이 없고, 오픈 소스 개발 플랫폼의 계정 관리 시스템을 사용한다. 즉, 오픈 소스 호스트 애플리케이션의 계정 관리자는 관리 서버이며; 그 인증 방법은 다음을 포함한다:
BZ201: 개발자 프로그램 프론트엔드는 보조 인증 컴포넌트에 로그인 요청을 전송한다.
BZ202: 보조 인증 컴포넌트는 사용자에게 로그인 및 인증을 안내하고, 사용자의 로그인 인증 정보를 획득한다.
BZ203: 보조 인증 컴포넌트는 관리 서버에 로그인 인증 요청을 전송하고, 로그인 인증 요청은 로그인 인증 정보를 포함한다.
BZ204: 로그인 인증 정보의 검증이 통과된 후, 관리 서버는 보조 인증 컴포넌트에 인증 성공 정보를 전송하고, 인증 성공 정보는 인증 코드를 포함한다.
BZ205: 보조 인증 컴포넌트는 인증 코드를 개발자 프로그램 프론트엔드로 전달한다.
BZ206: 개발자 프로그램 프론트엔드는 인증 코드를 개발자 프로그램 백엔드로 전달한다.
BZ207: 개발자 프로그램 백엔드는 관리 서버에 키 획득 요청을 전송하고, 키 획득 요청은 인증 코드를 포함한다.
BZ208: 관리 서버는 인증 코드에 대응하는 세션 키를 생성한다.
BZ209: 관리 서버는 세션 키를 개발자 프로그램 백엔드로 전송한다.
BZ210: 개발자 프로그램 프론트엔드는 보조 인증 컴포넌트에 사용자 정보 획득 요청을 전송한다.
BZ211: 보조 인증 컴포넌트는 사용자 정보 획득 요청을 관리 서버로 전달한다.
BZ212: 관리 서버는 보조 인증 컴포넌트에 암호화된 사용자 정보를 피드백한다.
BZ213: 보조 인증 컴포넌트는 사용자 정보를 개발자 프로그램 프론트엔드로 전달한다.
BZ214: 개발자 프로그램 프론트엔드는 사용자 정보를 개발자 프로그램 백엔드로 전달한다.
BZ215: 개발자 프로그램 백엔드는 세션 키를 사용하여 사용자 정보를 해독한다.
도 8은 이 개시의 실시예에 의해 제공되는 보조 인증 컴포넌트의 구조적 블록도이다. 도 8에 도시된 바와 같이, 그 보조 인증 컴포넌트는 전술한 도 2 및 도 3에 도시된 실시예에서의 인증 방법을 실행할 수 있다. 보조 인증 컴포넌트는 오픈 소스 호스트 애플리케이션 내에 통합되고, 보조 인증 컴포넌트는 제1 획득 모듈(101), 제1 전송 모듈(102), 제1 수신 모듈(103) 및 제2 전송 모듈(104)을 포함한다.
그 중에서, 제1 획득 모듈(101)은 개발자 애플리케이션이 전송한 로그인 요청에 응답하여, 사용자의 로그인 인증 정보를 획득하도록 구성된다.
제1 전송 모듈(102)은 오픈 소스 호스트 애플리케이션의 계정 관리자에게 로그인 인증 요청을 전송하도록 구성되며, 로그인 인증 요청은: 로그인 인증 정보를 포함한다.
제1 수신 모듈(103)은 로그인 인증 정보의 검증이 통과된 후, 계정 관리자가 피드백한 인증 성공 정보를 수신하도록 구성되며, 인증 성공 정보는: 인증 코드를 포함한다.
제2 전송 모듈(104)은 인증 코드를 개발자 애플리케이션에 전송하도록 구성되어, 개발자 애플리케이션이 인증 코드에 대응하는 세션 키를 관리 서버로부터 교환하도록 한다.
일부 실시예에서, 보조 인증 컴포넌트는: 제3 전송 모듈(105) 및 제2 수신 모듈(106)을 더 포함한다.
그 중에서, 제3 전송 모듈(105)은 개발자 애플리케이션이 전송한 사용자 정보 획득 요청에 응답하여, 사용자 정보 획득 요청을 계정 관리자에게 전달하도록 구성된다.
제2 수신 모듈(106)은 계정 관리자가 피드백한 암호화된 사용자 정보를 수신하고, 사용자 정보를 개발자 애플리케이션에 전달하도록 구성되어, 개발자 애플리케이션이 세션 키에 기반하여 사용자 정보를 해독할 수 있도록 한다.
일부 실시예에서, 로그인 요청은: 오픈 소스 호스트 애플리케이션의 호스트 식별자를 포함하고, 보조 인증 컴포넌트는: 결정 모듈을 더 포함하고; 결정 모듈은 호스트 식별자에 따라 오픈 소스 호스트 애플리케이션의 계정 관리자를 결정하도록 구성된다.
일부 실시예에서, 계정 관리자는 관리 서버 또는 오픈 소스 호스트 애플리케이션 내의 오픈 소스 호스트 플랫폼을 포함한다.
전술한 모듈과 모듈 간의 상호 작용에 대한 구체적인 설명은, 전술한 실시예의 해당 내용을 참조할 수 있으므로, 여기서는 반복 설명하지 않는다.
도 9는 이 개시의 실시예에 의해 제공되는 관리 서버의 구조 블록도이다. 도 9에 도시된 바와 같이, 관리 서버는 전술한 도 4 및 도 5에 도시된 실시예의 인증 방법을 실행할 수 있으며, 그 관리 서버는: 획득 모듈(201) 및 제4 전송 모듈(202)을 포함한다.
그 중에서, 제2 획득 모듈(201)은 개발자 애플리케이션이 전송한 키 획득 요청에 응답하여, 키 획득 요청 중의 인증 코드에 따라 대응하는 세션 키를 획득하도록 구성된다.
제4 전송 모듈(202)은 세션 키를 개발자 애플리케이션에 피드백하도록 구성된다.
일부 실시예에서, 제2 획득 모듈(201)은: 결정 유닛, 생성 유닛, 전송 유닛 및 수신 유닛을 포함한다.
그 중에서, 결정 유닛은 인증 코드에 대응하는 사용자의 계정 관리자를 결정하도록 구성된다.
생성 유닛은 계정 관리자가 관리 서버인 경우, 인증 코드에 대응하는 세션 키를 생성하도록 구성된다.
전송 유닛은 계정 관리자가 타사 오픈 소스 호스트 플랫폼인 경우, 키 획득 요청을 타사 오픈 소스 호스트 플랫폼으로 전달하도록 구성되어, 타사 오픈 소스 호스트 플랫폼이 인증 코드에 대응하는 세션 키를 생성하도록 한다.
수신 유닛은 타사 오픈 소스 호스트 플랫폼이 피드백한 세션 키를 수신하도록 구성된다.
일부 실시예에서, 관리 서버는: 검증 모듈(200a) 및 제5 전송 모듈(200b)을 더 포함한다.
그 중에서, 검증 모듈(200a)은 보조 인증 컴포넌트가 전송한 로그인 인증 요청에 응답하여, 로그인 인증 요청 중의 로그인 인증 정보를 검증하도록 구성된다.
제5 전송 모듈(200b)은 로그인 인증 정보의 검증이 통과된 후, 보조 인증 컴포넌트로 인증 성공 정보를 피드백하도록 구성되며, 인증 성공 정보는: 인증 코드를 포함한다.
일부 실시예에서, 관리 서버는 제3 획득 모듈(203), 암호화 모듈(204) 및 제6 전송 모듈(205)을 더 포함한다.
그 중에서, 제3 획득 모듈(203)은 보조 인증 컴포넌트가 전송한 사용자 정보 획득 요청에 응답하여, 요청된 사용자 정보를 획득하도록 구성된다.
암호화 모듈(204)은 세션 키를 사용하여 사용자 정보를 암호화하도록 구성된다.
제6 전송 모듈(205)은 암호화된 사용자 정보를 보조 인증 컴포넌트에 피드백하도록 구성된다.
전술한 모듈 및 모듈 간의 상호 작용에 대한 구체적인 설명은, 전술한 실시예의 해당 내용을 참조할 수 있으므로, 여기서는 반복 설명하지 않는다.
이 개시의 실시예는 또한 전술한 실시예에 의해 제공되는 보조 인증 컴포넌트와 전술한 실시예에 의해 제공되는 관리 서버를 포함하는 인증 시스템을 제공한다.
이 개시의 실시예는 또한 그 위에 컴퓨터 프로그램이 저장되고, 프로그램이 프로세서에 의해 실행되는 경우 전술한 실시예에서 제공된 인증 방법을 구현하는 컴퓨터 판독 가능 매체를 제공한다.
이 분야의 기술자는 위에서 개시된 방법 중의 전부 또는 일부 단계와, 시스템 및 장치 중의 기능 모듈/유닛이 소프트웨어, 펌웨어, 하드웨어 및 이들의 적절한 조합으로 구현될 수 있음을 이해할 수 있다. 하드웨어 구현에서, 위 설명에서 언급된 기능 모듈/유닛 간의 구분은 반드시 물리적 구성 요소의 구분과 일치하지는 것은 아니다; 예를 들어, 하나의 물리적 구성 요소는 여러 기능을 가질 수 있거나 하나의 기능 또는 단계가 여러 물리적 구성 요소의 협력에 의해 실행될 수 있다. 일부 물리적 구성 요소 또는 모든 물리적 구성 요소는 중앙 처리 장치, 디지털 신호 프로세서 또는 마이크로 프로세서와 같은 프로세서에 의해 실행되는 소프트웨어로 구현되거나, 하드웨어로 구현되거나 또는 전용 집적 회로와 같은 집적 회로로 구현될 수 있다. 이러한 소프트웨어는 컴퓨터 판독 가능 매체에 배포될 수 있으며, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체(또는 비 일시적 매체) 및 통신 매체(또는 일시적인 매체)를 포함할 수 있다. 이 분야의 기술자에게 잘 알려진 바와 같이, 컴퓨터 저장 매체라는 용어는 정보(예를 들면, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터)를 저장하기 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 이동식 및 비 이동식 매체를 포함한다. 컴퓨터 저장 매체에는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다용도 디스크(DVD) 또는 기타 광 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용되며 컴퓨터에서 액세스 할 수 있는 기타 모든 매체가 포함되지만, 이에 제한되지는 않는다. 또한, 이 분야의 기술자에게 잘 알려진 바와 같이, 통신 매체는 일반적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 반송파 또는 기타 전송 메커니즘과 같은 변조된 데이터 신호의 기타 데이터를 포함하고, 또한 임의의 정보 전달 매체를 포함할 수 있다.
이 명세서에는 예시적인 실시예가 공개되고, 특정 용어가 채택되었지만, 이들은 단지 일반적인 설명적 의미로만 사용되고 해석되어야 하며, 제한적인 목적으로 사용되지는 않는다. 일부 실시예에서, 달리 명확하게 지시되지 않는 한, 특정 실시예와 결합하여 설명된 특징, 특성 및/또는 요소가 단독으로 사용될 수 있거나, 다른 실시예와 결합하여 설명된 특징, 특성 및/또는 요소의 조합이 사용될 수 있다는 것은 이 분야의 기술자에게 명백하다. 따라서, 이 분야의 기술자는 청구 범위에 의해 제시된 이 개시 내용의 범위를 벗어나지 않고 형태 및 세부 사항의 다양한 변경이 이루어질 수 있음을 이해할 수 있을 것이다.

Claims (18)

  1. 보조 인증 컴포넌트에 적용되는 인증 방법에 있어서, 상기 보조 인증 컴포넌트는 오픈 소스 호스트 애플리케이션 내에 통합되고, 또한 상기 인증 방법은:
    개발자 애플리케이션이 전송한 로그인 요청에 응답하여, 사용자의 로그인 인증 정보를 획득하고-상기 로그인 요청은 상기 오픈 소스 호스트 애플리케이션의 호스트 식별자를 포함함-;
    상기 호스트 식별자에 따라 상기 오픈 소스 호스트 애플리케이션의 계정 관리자를 결정하고;
    상기 오픈 소스 호스트 애플리케이션의 계정 관리자에게 로그인 인증 요청을 전송하고, 상기 로그인 인증 요청은 상기 로그인 인증 정보를 포함하고;
    상기 로그인 인증 정보의 검증이 통과된 후, 상기 계정 관리자가 피드백한 인증 성공 정보를 수신하고, 상기 인증 성공 정보는 인증 코드를 포함하며; 그리고,
    상기 인증 코드를 상기 개발자 애플리케이션에 전송하여, 개발자 애플리케이션이 상기 인증 코드에 대응하는 세션 키를 관리 서버로부터 교환하도록 하는 것을 포함하는, 인증 방법.
  2. 청구항 1에 있어서, 상기 인증 코드를 상기 개발자 애플리케이션에 전송하는 단계 이후에,
    상기 개발자 애플리케이션이 전송한 사용자 정보 획득 요청에 응답하여, 상기 사용자 정보 획득 요청을 상기 계정 관리자에게 전달하며; 그리고,
    상기 계정 관리자가 피드백한 암호화된 사용자 정보를 수신하고, 또한 상기 사용자 정보를 상기 개발자 애플리케이션에 전달하여, 상기 개발자 애플리케이션이 상기 세션 키에 기반하여 상기 사용자 정보를 해독하도록 하는 것을 더 포함하는, 인증 방법.
  3. 청구항 1 또는 청구항 2에 있어서, 상기 계정 관리자는: 상기 관리 서버 또는 상기 오픈 소스 호스트 애플리케이션 내의 오픈 소스 호스트 플랫폼을 포함하는, 인증 방법.
  4. 관리 서버에 적용되는 인증 방법에 있어서,
    개발자 애플리케이션이 전송한 키 획득 요청을 수신한 경우, 상기 키 획득 요청 중의 인증 코드에 따라 대응하는 세션 키를 획득하며; 그리고,
    상기 세션 키를 상기 개발자 애플리케이션에 피드백하는 것을 포함하고,
    상기 키 획득 요청 중의 인증 코드에 따라 대응하는 세션 키를 획득하는 단계는:
    상기 인증 코드에 대응하는 사용자의 계정 관리자를 결정하며;
    상기 계정 관리자가 상기 관리 서버인 경우, 상기 인증 코드에 대응하는 세션 키를 생성하고; 그리고
    상기 계정 관리자가 타사 오픈 소스 호스트 플랫폼인 경우, 상기 키 획득 요청을 상기 타사 오픈 소스 호스트 플랫폼으로 전달하여, 상기 타사 오픈 소스 호스트 플랫폼이 상기 인증 코드에 대응하는 세션 키를 생성하도록 하고; 또한, 상기 타사 오픈 소스 호스트 플랫폼이 피드백한 상기 세션 키를 수신하는 것을 포함하는, 인증 방법.
  5. 청구항 4에 있어서, 상기 개발자 애플리케이션이 전송한 키 획득 요청을 수신하는 단계 이전에:
    보조 인증 컴포넌트가 전송한 로그인 인증 요청에 응답하여, 상기 로그인 인증 요청 중의 로그인 인증 정보를 검증하며: 그리고,
    상기 로그인 인증 정보의 검증이 통과된 후, 상기 보조 인증 컴포넌트로 인증 성공 정보를 피드백하는 것을 더 포함하며, 상기 인증 성공 정보는 상기 인증 코드를 포함하는, 인증 방법.
  6. 청구항 4 또는 청구항 5에 있어서, 상기 세션 키를 상기 개발자 애플리케이션에 피드백하는 단계 이후에:
    보조 인증 컴포넌트가 전송한 사용자 정보 획득 요청에 응답하여, 요청된 사용자 정보를 획득하고;
    상기 세션 키를 사용하여 상기 사용자 정보를 암호화하며; 그리고,
    암호화된 상기 사용자 정보를 상기 보조 인증 컴포넌트에 피드백하는 것을 더 포함하는, 인증 방법.
  7. 보조 인증 컴포넌트에 있어서, 상기 보조 인증 컴포넌트는 오픈 소스 호스트 애플리케이션 내에 통합되고, 또한 상기 보조 인증 컴포넌트는:
    개발자 애플리케이션이 전송한 로그인 요청에 응답하여, 사용자의 로그인 인증 정보를 획득하도록 구성되는, 제1 획득 모듈-상기 로그인 요청은 상기 오픈 소스 호스트 애플리케이션의 호스트 식별자를 포함함-;
    상기 호스트 식별자에 따라 상기 오픈 소스 호스트 애플리케이션의 계정 관리자를 결정하도록 구성되는, 결정 모듈;
    상기 오픈 소스 호스트 애플리케이션의 계정 관리자에게 로그인 인증 요청을 전송하도록 구성되며, 상기 로그인 인증 요청은 상기 로그인 인증 정보를 포함하는, 제1 전송 모듈;
    상기 로그인 인증 정보의 검증이 통과된 후, 상기 계정 관리자가 피드백한 인증 성공 정보를 수신하도록 구성되며, 상기 인증 성공 정보는 인증 코드를 포함하는, 제1 수신 모듈; 그리고,
    상기 인증 코드를 상기 개발자 애플리케이션에 전송하도록 구성되어, 개발자 애플리케이션이 상기 인증 코드에 대응하는 세션 키를 관리 서버로부터 교환하도록 하는, 제2 전송 모듈;을 포함하는, 보조 인증 컴포넌트.
  8. 청구항 7에 있어서,
    상기 개발자 애플리케이션이 전송한 사용자 정보 획득 요청에 응답하여, 상기 사용자 정보 획득 요청을 상기 계정 관리자에게 전달하도록 구성되는, 제3 전송 모듈; 그리고,
    상기 계정 관리자가 피드백한 암호화된 사용자 정보를 수신하고, 또한 상기 사용자 정보를 상기 개발자 애플리케이션에 전달하도록 구성되어, 상기 개발자 애플리케이션이 상기 세션 키에 기반하여 상기 사용자 정보를 해독하도록 하는, 제2 수신 모듈;을 더 포함하는, 보조 인증 컴포넌트.
  9. 청구항 7 또는 청구항 8에 있어서, 상기 계정 관리자는: 상기 관리 서버 또는 상기 오픈 소스 호스트 애플리케이션 내의 오픈 소스 호스트 플랫폼을 포함하는, 보조 인증 컴포넌트.
  10. 개발자 애플리케이션이 전송한 키 획득 요청에 응답하여, 상기 키 획득 요청 중의 인증 코드에 따라 대응하는 세션 키를 획득하도록 구성되는, 제2 획득 모듈; 그리고
    상기 세션 키를 상기 개발자 애플리케이션에 피드백하도록 구성되는, 제4 전송 모듈;을 포함하고,
    상기 제2 획득 모듈은:
    상기 인증 코드에 대응하는 사용자의 계정 관리자를 결정하도록 구성되는, 결정 유닛;
    상기 계정 관리자가 관리 서버인 경우, 상기 인증 코드에 대응하는 세션 키를 생성하도록 구성되는, 생성 유닛;
    상기 계정 관리자가 타사 오픈 소스 호스트 플랫폼인 경우, 상기 키 획득 요청을 상기 타사 오픈 소스 호스트 플랫폼으로 전달하도록 구성되어, 상기 타사 오픈 소스 호스트 플랫폼이 상기 인증 코드에 대응하는 세션 키를 생성하도록 하는, 전송 유닛; 그리고,
    상기 타사 오픈 소스 호스트 플랫폼이 피드백한 상기 세션 키를 수신하도록 구성되는, 수신 유닛;을 포함하는, 관리 서버.
  11. 청구항 10에 있어서,
    보조 인증 컴포넌트가 전송한 로그인 인증 요청에 응답하여, 상기 로그인 인증 요청 중의 로그인 인증 정보를 검증하도록 구성되는, 검증 모듈; 그리고,
    상기 로그인 인증 정보의 검증이 통과된 후, 상기 보조 인증 컴포넌트로 인증 성공 정보를 피드백하도록 구성되고, 상기 인증 성공 정보는 상기 인증 코드를 포함하는, 제5 전송 모듈;을 더 포함하는, 관리 서버.
  12. 청구항 10 또는 청구항 11에 있어서,
    보조 인증 컴포넌트가 전송한 사용자 정보 획득 요청에 응답하여, 요청된 사용자 정보를 획득하도록 구성되는, 제3 획득 모듈;
    상기 세션 키를 사용하여 상기 사용자 정보를 암호화하도록 구성되는, 암호화 모듈; 그리고,
    암호화된 상기 사용자 정보를 상기 보조 인증 컴포넌트에 피드백하도록 구성되는, 제6 전송 모듈;을 더 포함하는, 관리 서버.
  13. 컴퓨터 판독 가능 기록매체에 있어서, 컴퓨터 프로그램이 저장되며, 상기 프로그램이 프로세서에 의해 실행될 때 청구항 1 내지 청구항 2 및 청구항 4 내지 청구항 5 중 어느 한 항의 상기 인증 방법을 구현하는, 컴퓨터 판독 가능 기록매체.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
KR1020217007876A 2020-02-17 2020-07-14 인증 방법, 보조 인증 컴포넌트, 관리 서버 및 컴퓨터 판독 가능 매체 KR102508770B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010097872.X 2020-02-17
CN202010097872.XA CN111259356B (zh) 2020-02-17 2020-02-17 授权方法、辅助授权组件、管理服务器和计算机可读介质
PCT/CN2020/101795 WO2021098241A1 (zh) 2020-02-17 2020-07-14 授权方法、辅助授权组件、管理服务器和计算机可读介质

Publications (2)

Publication Number Publication Date
KR20210037722A KR20210037722A (ko) 2021-04-06
KR102508770B1 true KR102508770B1 (ko) 2023-03-10

Family

ID=75473331

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217007876A KR102508770B1 (ko) 2020-02-17 2020-07-14 인증 방법, 보조 인증 컴포넌트, 관리 서버 및 컴퓨터 판독 가능 매체

Country Status (1)

Country Link
KR (1) KR102508770B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094693B (zh) * 2021-04-15 2024-06-07 北京秒针人工智能科技有限公司 用于小程序授权登录方法、系统、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238007A (zh) * 2010-04-20 2011-11-09 阿里巴巴集团控股有限公司 第三方应用获得用户的会话令牌的方法、装置及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238007A (zh) * 2010-04-20 2011-11-09 阿里巴巴集团控股有限公司 第三方应用获得用户的会话令牌的方法、装置及系统

Also Published As

Publication number Publication date
KR20210037722A (ko) 2021-04-06

Similar Documents

Publication Publication Date Title
US11323441B2 (en) System and method for proxying federated authentication protocols
US11711219B1 (en) PKI-based user authentication for web services using blockchain
US10904234B2 (en) Systems and methods of device based customer authentication and authorization
US11218481B2 (en) Personal identity system
US9338156B2 (en) System and method for integrating two-factor authentication in a device
US9053304B2 (en) Methods and systems for using derived credentials to authenticate a device across multiple platforms
US20220255931A1 (en) Domain unrestricted mobile initiated login
US20170244676A1 (en) Method and system for authentication
US8850542B2 (en) Code-based authorization of mobile device
US8769289B1 (en) Authentication of a user accessing a protected resource using multi-channel protocol
CN110365684B (zh) 应用集群的访问控制方法、装置和电子设备
US9690924B2 (en) Transparent two-factor authentication via mobile communication device
JP7159461B2 (ja) 認可方法、補助認可コンポーネント、管理サーバ、及びコンピュータ読み取り可能な媒体
CN104301110A (zh) 应用于智能终端的身份验证方法、身份验证设备和系统
US20180307858A1 (en) Multi-party authentication and authorization
JP7189856B2 (ja) モバイルデバイスを有するユーザがスタンドアロンコンピューティングデバイスの能力にアクセスすることをセキュアに可能にするためのシステム及び方法
KR102508770B1 (ko) 인증 방법, 보조 인증 컴포넌트, 관리 서버 및 컴퓨터 판독 가능 매체
US11595389B1 (en) Secure deployment confirmation of IOT devices via bearer tokens with caveats
CN110781481A (zh) 单点登录方法、客户端、服务器以及存储介质
CN112970017A (zh) 设备到云存储的安全链接
US20230396618A1 (en) Token based identity verification and consent management
US11997207B2 (en) Identifying group membership through discharge macaroon access tokens
US10390229B1 (en) Biometric subscriber account authentication
US20220358251A1 (en) Secure recovery key management for removable drive encryption enforcement
CN106790026B (zh) 一种基于Hadoop的多租户网盘鉴权方法及系统

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