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

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

이번 강의에서는 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개의 댓글