이번 강의에서는 Keycloak 인증 서버에 외부 클라이언트 애플리케이션을 등록하는 과정을 다루겠습니다. 여기서 외부 클라이언트 애플리케이션은 우리 Easy Bank 마이크로서비스 네트워크와 통신하려는 애플리케이션을 의미합니다. 이 애플리케이션은 Keycloak 인증 서버로부터 액세스 토큰을 받아 이를 통해 게이트웨이 서버(리소스 서버)를 호출하게 됩니다.
외부 클라이언트 애플리케이션 등록 절차
-
Keycloak 관리자 콘솔에 로그인:
- 이전 강의에서 설정한 관리자 계정(
admin
)으로 Keycloak 관리자 콘솔에 로그인합니다.
-
올바른 Realm 선택:
- Keycloak에서 클라이언트 애플리케이션을 등록하려면 해당 Realm 아래에서 작업해야 합니다. 기본적으로 master Realm이 제공되며, 이 Realm을 사용하거나 필요에 따라 새로운 Realm을 생성할 수 있습니다.
-
클라이언트 등록:
- 관리자 콘솔의 왼쪽 메뉴에서 Clients(클라이언트) 옵션을 클릭합니다.
- 이미 Keycloak에 의해 생성된 몇 가지 기본 클라이언트들이 표시될 것입니다.
- 새로운 클라이언트를 등록하려면, Create(생성) 버튼을 클릭합니다.
-
클라이언트 정보 입력:
- Client Type(클라이언트 유형): OpenID Connect를 선택합니다. 이 옵션은 OAuth2 프레임워크와 OpenID Connect를 사용하여 클라이언트를 인증합니다.
- Client ID(클라이언트 ID): 클라이언트 애플리케이션의 식별자입니다. 예를 들어,
easybank-callcenter-CC
라고 입력하여, Easy Bank 콜센터 애플리케이션을 위한 클라이언트 ID를 생성할 수 있습니다.
- Name(이름) 및 Description(설명): 클라이언트 애플리케이션에 대한 설명을 입력합니다.
-
클라이언트 인증 및 흐름 설정:
- Client Authentication(클라이언트 인증): 이 옵션을 활성화하여, 클라이언트가 인증 서버와 통신할 때 클라이언트 자격 증명을 사용하여 인증할 수 있도록 설정합니다.
- Standard Flow Enabled(표준 흐름 활성화) 및 Direct Access Grants Enabled(직접 액세스 부여 활성화): 이 옵션들을 비활성화합니다. 현재 시나리오에서는 백엔드 애플리케이션 간의 통신을 위해 Client Credentials Grant Type Flow를 사용하므로, 이들 옵션이 필요하지 않습니다.
- Service Account Roles Enabled(서비스 계정 역할 활성화): 이 옵션을 활성화합니다. 이 옵션은 Client Credentials Grant Type Flow를 지원합니다.
-
클라이언트 생성 완료:
- Save(저장) 버튼을 클릭하여 클라이언트를 생성합니다.
- 클라이언트가 생성되면,
easybank-callcenter-CC
라는 이름의 새로운 클라이언트가 생성됩니다.
-
클라이언트 자격 증명 확인:
- Credentials(자격 증명) 탭을 클릭하여 생성된 클라이언트의 비밀 키를 확인합니다.
- Client Secret(클라이언트 비밀 키): Keycloak이 자동으로 생성한 비밀 키를 확인할 수 있습니다. 이 비밀 키는 클라이언트 애플리케이션이 액세스 토큰을 요청할 때 인증 서버에 제공해야 하는 정보입니다.
요약 및 다음 단계
이제 Easy Bank 마이크로서비스 네트워크에서 Keycloak 인증 서버에 외부 클라이언트 애플리케이션을 성공적으로 등록했습니다. 다음 강의에서는 클라이언트 애플리케이션이 이 자격 증명을 사용하여 인증 서버로부터 액세스 토큰을 받아오는 방법을 실습해 보겠습니다.
감사합니다, 다음 강의에서 뵙겠습니다. 안녕히 계세요!