Keycloak에서 외부 클라이언트 애플리케이션 등록하기

날아올라돼지야·2024년 8월 30일

이번 강의에서는 Keycloak 인증 서버에 외부 클라이언트 애플리케이션을 등록하는 과정을 다루겠습니다. 여기서 외부 클라이언트 애플리케이션은 우리 Easy Bank 마이크로서비스 네트워크와 통신하려는 애플리케이션을 의미합니다. 이 애플리케이션은 Keycloak 인증 서버로부터 액세스 토큰을 받아 이를 통해 게이트웨이 서버(리소스 서버)를 호출하게 됩니다.


외부 클라이언트 애플리케이션 등록 절차

  1. Keycloak 관리자 콘솔에 로그인:

    • 이전 강의에서 설정한 관리자 계정(admin)으로 Keycloak 관리자 콘솔에 로그인합니다.
  2. 올바른 Realm 선택:

    • Keycloak에서 클라이언트 애플리케이션을 등록하려면 해당 Realm 아래에서 작업해야 합니다. 기본적으로 master Realm이 제공되며, 이 Realm을 사용하거나 필요에 따라 새로운 Realm을 생성할 수 있습니다.
  3. 클라이언트 등록:

    • 관리자 콘솔의 왼쪽 메뉴에서 Clients(클라이언트) 옵션을 클릭합니다.
    • 이미 Keycloak에 의해 생성된 몇 가지 기본 클라이언트들이 표시될 것입니다.
    • 새로운 클라이언트를 등록하려면, Create(생성) 버튼을 클릭합니다.
  4. 클라이언트 정보 입력:

    • Client Type(클라이언트 유형): OpenID Connect를 선택합니다. 이 옵션은 OAuth2 프레임워크와 OpenID Connect를 사용하여 클라이언트를 인증합니다.
    • Client ID(클라이언트 ID): 클라이언트 애플리케이션의 식별자입니다. 예를 들어, easybank-callcenter-CC라고 입력하여, Easy Bank 콜센터 애플리케이션을 위한 클라이언트 ID를 생성할 수 있습니다.
    • Name(이름)Description(설명): 클라이언트 애플리케이션에 대한 설명을 입력합니다.
  5. 클라이언트 인증 및 흐름 설정:

    • Client Authentication(클라이언트 인증): 이 옵션을 활성화하여, 클라이언트가 인증 서버와 통신할 때 클라이언트 자격 증명을 사용하여 인증할 수 있도록 설정합니다.
    • Standard Flow Enabled(표준 흐름 활성화)Direct Access Grants Enabled(직접 액세스 부여 활성화): 이 옵션들을 비활성화합니다. 현재 시나리오에서는 백엔드 애플리케이션 간의 통신을 위해 Client Credentials Grant Type Flow를 사용하므로, 이들 옵션이 필요하지 않습니다.
    • Service Account Roles Enabled(서비스 계정 역할 활성화): 이 옵션을 활성화합니다. 이 옵션은 Client Credentials Grant Type Flow를 지원합니다.
  6. 클라이언트 생성 완료:

    • Save(저장) 버튼을 클릭하여 클라이언트를 생성합니다.
    • 클라이언트가 생성되면, easybank-callcenter-CC라는 이름의 새로운 클라이언트가 생성됩니다.
  7. 클라이언트 자격 증명 확인:

    • Credentials(자격 증명) 탭을 클릭하여 생성된 클라이언트의 비밀 키를 확인합니다.
    • Client Secret(클라이언트 비밀 키): Keycloak이 자동으로 생성한 비밀 키를 확인할 수 있습니다. 이 비밀 키는 클라이언트 애플리케이션이 액세스 토큰을 요청할 때 인증 서버에 제공해야 하는 정보입니다.

요약 및 다음 단계

이제 Easy Bank 마이크로서비스 네트워크에서 Keycloak 인증 서버에 외부 클라이언트 애플리케이션을 성공적으로 등록했습니다. 다음 강의에서는 클라이언트 애플리케이션이 이 자격 증명을 사용하여 인증 서버로부터 액세스 토큰을 받아오는 방법을 실습해 보겠습니다.

감사합니다, 다음 강의에서 뵙겠습니다. 안녕히 계세요!

profile
무슨 생각하며 사니

0개의 댓글