SDK를 사용하여 애플리케이션을 인증하는 방법 학습

Oracle Identity Cloud Service는 애플리케이션에 대한 ID 관리, SSO(Single Sign-On) 및 ID 거버넌스를 제공합니다. 또한 Oracle Cloud용 보안 플랫폼을 제공하므로 애플리케이션을 안전하고 쉽게 액세스, 개발 및 배포할 수 있습니다.

Oracle Identity Cloud Service는 ID 제공자로 기능하여 인증 방식을 중앙 집중화하고 모든 비밀번호 관리 책임을 처리하며 애플리케이션에 SSO를 제공할 수 있습니다. 또한 MFA(다중 요소 인증)를 사용으로 설정하고 응용 프로그램에 대한 사용자 액세스 허용 또는 거부와 같은 수정 작업을 강제로 수행하는 정책을 구현하여 응용 프로그램의 보안을 향상시킬 수 있습니다.

Oracle Identity Cloud Service 인증 방식을 사용하는 애플리케이션을 개발하려는 경우 SDK를 사용합니다. Oracle Identity Cloud Service의 SDK는 OAuth 2.0 및 OpenID Connect 1.0과 같은 산업 표준 프로토콜 및 계층을 기반으로 합니다. SDK를 사용하면 Oracle Identity Cloud Service로 사용자를 인증하는 데 필요한 모든 REST API 엔드포인트 호출을 캡슐화하여 작업을 보다 쉽게 수행할 수 있습니다.

Oracle Identity Cloud Service SDK는 OAuth 2.0 및 OpenID Connect 1.0에 대해 다음 플로우를 지원합니다.

  • 3단계 플로우: 사용자가 Oracle Identity Cloud Service와 직접 상호 작용합니다. 사용자가 사인인하면 Oracle Identity Cloud Service는 SDK에서 사용자 액세스 토큰과 교환되는 권한 부여 코드를 발행합니다. 이 액세스 토큰은 애플리케이션의 보호된 리소스에 대한 액세스 권한을 사용자에게 부여하는 데 사용됩니다. 3단계 플로우는 권한 부여 코드를 사용합니다.

    Oracle은 인증을 위해 3단계 플로우를 사용하여 웹 애플리케이션을 Oracle Identity Cloud Service와 통합할 것을 권장합니다. 또한 권한 부여 유형을 사용하면 재인증 없이도 Oracle Identity Cloud Service로 보호되는 다른 애플리케이션에 액세스할 수 있습니다.

  • 2단계 플로우: 사용자는 Oracle Identity Cloud Service와 직접 상호 작용하지 않습니다. 대신 신뢰할 수 있는 애플리케이션과 Oracle Identity Cloud Service 간에 모든 통신이 이루어집니다. 이러한 애플리케이션은 Oracle Identity Cloud Service에서 사용자 액세스 토큰을 요청하고 수신하여 애플리케이션의 보호된 리소스에 대한 액세스 권한을 사용자에게 부여합니다. 두 단계 플로우는 클라이언트 자격 증명 또는 리소스 소유자 권한 부여 유형을 사용합니다.

구조

다음 아키텍처 다이어그램은 SDK 라이브러리를 사용하여 OAuth 2.0 및 OpenID Connect 1.0에 대해 두 개의 레그 및 세 개의 레그 인증 플로우를 수행하는 웹 애플리케이션을 보여줍니다. 3단계 플로우는 권한 부여 코드 부여 유형을 사용하고, 2단계 플로우는 클라이언트 인증서 및 리소스 소유자 권한 부여 유형을 사용합니다.

승인 코드 부여 유형

다음은 authorization-code-grant-type.png에 대한 설명입니다.
그림 authorization-code-grant-type.png에 대한 설명

데이터 플로우는 다음 단계로 구성됩니다.

  1. 사용자가 보호된 URL을 요청합니다.

  2. Oracle Identity Cloud Service는 사인인 페이지를 표시합니다.

  3. 사용자가 자신의 로그인 인증서를 제출합니다.

  4. Oracle Identity Cloud Service는 웹 브라우저를 통해 웹 애플리케이션에 권한 부여 코드를 발행합니다.

  5. 웹 애플리케이션은 SDK를 사용하여 사용자 액세스 토큰에 대한 권한 부여 코드를 교환합니다.

  6. 웹 애플리케이션은 사용자의 콘텐츠를 표시합니다.

클라이언트 자격증명 부여 유형

다음은 client-credentials-grant-type.png에 대한 설명입니다.
그림 client-credentials-grant-type.png에 대한 설명

데이터 플로우는 다음 단계로 구성됩니다.

  1. 사용자가 보호된 URL을 요청합니다.

  2. 요청이 웹 애플리케이션으로 전달됩니다.

  3. 웹 애플리케이션은 SDK를 사용하여 검증을 위해 클라이언트 ID 및 암호를 Oracle Identity Cloud Service에 제출합니다.

  4. Oracle Identity Cloud Service가 웹 애플리케이션에 대한 액세스 토큰을 발행합니다.

  5. 웹 애플리케이션은 사용자의 콘텐츠를 표시합니다.

웹 애플리케이션이 Oracle Identity Cloud Service의 REST API에 액세스해야 하는 경우 클라이언트 인증서 권한 부여 유형을 사용할 수도 있습니다. Oracle Identity Cloud Service에서 발행한 사용자 액세스 토큰에 사용자 정보가 없습니다.

자원 소유자 부여 유형

다음은 resource-owner-grant-type.png에 대한 설명입니다.
그림 resource-owner-grant-type.png에 대한 설명

데이터 플로우는 다음 단계로 구성됩니다.

  1. 사용자가 보호된 URL을 요청합니다.

  2. 애플리케이션이 로그인 페이지를 표시합니다.

  3. 사용자가 자신의 로그인 인증서를 제출합니다.

  4. 애플리케이션은 SDK를 사용하여 검증을 위해 사용자의 인증서와 애플리케이션의 클라이언트 ID 및 암호를 Oracle Identity Cloud Service에 제출합니다.

  5. Oracle Identity Cloud Service가 애플리케이션에 대한 사용자 액세스 토큰을 발행합니다.

  6. 응용 프로그램이 사용자의 컨텐트를 표시합니다.

리소스 소유자 권한 부여 유형은 3단계 권한 부여 유형과 비슷하지만, 애플리케이션은 사용자의 인증서를 수집하여 애플리케이션의 클라이언트 ID 및 클라이언트 암호와 함께 사용하여 Oracle Identity Cloud Service에서 사용자 액세스 토큰을 요청합니다.

주:

리소스 소유자 권한 부여 유형에서 애플리케이션은 Oracle Identity Cloud Service에서 제공하는 SSO 프로세스에 참여할 수 없습니다. 애플리케이션에서 Oracle Identity Cloud Service 인증 방식을 사용하도록 하려면 3단계 권한 부여 코드 권한 부여 유형을 사용합니다.

필수 서비스 및 역할 정보

이 솔루션을 사용하려면 Oracle Identity Cloud Service가 필요합니다.

필요한 역할입니다.

다음 작업 필요...
Security administrator Oracle Identity Cloud Service 콘솔의 다운로드 페이지에 접근합니다. 이 페이지에서 Java SDK를 다운로드할 수 있습니다.
Application administrator Oracle Identity Cloud Service에서 애플리케이션을 관리합니다. 여기에는 샘플 Java 애플리케이션을 Oracle Identity Cloud Service에 등록하는 작업이 포함됩니다.

필요한 내용은 Oracle 제품, 솔루션 및 서비스를 참조하십시오.