Keycloak 인증 서버에 클라이언트와 사용자 정보를 설정하는 방법

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

Setting Up Client and User Details in Keycloak for Authorization Code Grant Flow

이번 강의에서는 Authorization Code Grant Flow를 구현하기 위해 Keycloak 인증 서버에 클라이언트와 사용자 정보를 설정하는 방법을 살펴보겠습니다. 이 설정은 Easy Bank 마이크로서비스 네트워크에서 인증 흐름을 구현하는 데 필수적입니다.


1. 클라이언트 애플리케이션 생성

1.1 기존 클라이언트 재사용 불가

이전에 Client Credentials Grant Flow를 위해 easy-bank-callcenter-cc 클라이언트를 생성했습니다. 하지만 Authorization Code Grant Flow에서는 별도의 설정이 필요하기 때문에 새로운 클라이언트를 생성해야 합니다.

1.2 새로운 클라이언트 생성

  1. Keycloak 관리 콘솔에서 Clients 섹션으로 이동한 후 Create Client 버튼을 클릭합니다.
  2. Client Type으로 OpenID Connect를 선택합니다.
  3. Client ID에는 easybank-callcenter-ac를 입력합니다. 여기서 acAuthorization Code를 나타냅니다.
  4. NameDescription을 입력합니다. 예: Easy Bank Call Center UI App
  5. Next 버튼을 클릭합니다.
  6. Client Authentication을 활성화하고, Standard Flow를 선택합니다. 이 옵션은 Authorization Code Grant Flow를 활성화합니다.
  7. 나머지 흐름 옵션은 비활성화합니다.

1.3 URL 설정

  1. Valid Redirect URI에 클라이언트 애플리케이션이 사용자를 리다이렉트할 유효한 URI를 입력합니다. 이는 사용자가 인증된 후 리다이렉션될 페이지를 지정합니다.
  2. Web Origins에는 *을 입력해 모든 도메인과 포트에서의 요청을 허용하도록 설정합니다. 실제 프로젝트에서는 클라이언트 애플리케이션이 배포된 실제 도메인을 지정하는 것이 좋습니다.
  3. Save 버튼을 클릭해 설정을 저장합니다.

이제 클라이언트 ID와 비밀 키(Client Secret)가 생성되었습니다. 이 정보는 후속 단계에서 필요합니다.


2. 사용자 생성

2.1 사용자 생성

  1. Keycloak 관리 콘솔에서 Users 섹션으로 이동한 후 Add User 버튼을 클릭합니다.
  2. Username에는 madan을 입력하고, Email에는 tutor@eazybytes.com을 입력합니다.
  3. First NameLast Name에 각각 MadanReddy를 입력합니다.
  4. Email Verified를 활성화한 후 Create 버튼을 클릭합니다.

2.2 사용자 비밀번호 설정

  1. 생성된 사용자 세부 정보에서 Credentials 탭으로 이동합니다.
  2. Password12345로 설정하고, Confirm Password에도 동일한 값을 입력합니다.
  3. Temporary 옵션을 비활성화하여 사용자가 처음 로그인할 때 비밀번호 변경을 요구하지 않도록 합니다.
  4. Save 버튼을 클릭해 비밀번호를 저장합니다.

2.3 사용자 생성의 실제 시나리오

실제 프로젝트에서는 관리자가 매번 사용자를 생성하지 않습니다. 대신, Keycloak은 REST API를 통해 사용자 생성과 같은 작업을 자동화할 수 있습니다. 웹 애플리케이션의 회원가입 페이지에서 사용자가 입력한 정보를 REST API를 통해 Keycloak에 전달하여 사용자를 생성할 수 있습니다.

Keycloak이 지원하는 REST API에 대한 자세한 내용은 Keycloak 공식 문서에서 확인할 수 있습니다.


요약

이제 Keycloak 인증 서버에 클라이언트와 사용자 정보를 모두 설정했습니다. 다음 단계에서는 이러한 설정을 활용하여 Authorization Code Grant Flow를 마이크로서비스 네트워크에 구현할 것입니다.

감사합니다. 다음 강의에서 뵙겠습니다!

profile
무슨 생각하며 사니

0개의 댓글

관련 채용 정보