Keycloak 서버를 구축해보자!

정규호·2025년 2월 13일
0

출처 : [Keycloak] 개념부터 실행까지

3) Realm

Realm은 '영역', '왕국'이라는 뜻인데, Keycloak에서 가장 근본이 되는 데이터 타입이다.
이 Realm 하위에 클라이언트들을 생성할 수 있고, 그 하위에 사용자들이 생성되게 된다.
뭐 예를 들어서, 회사 A라는 Realm 하위에 서비스 A전용 클라이언트, 서비스 B전용클라이언트, 관리자 웹 전용클라이언트를 생성해서 운영할 수 있다.

출처 : [Keycloak] Authorization code방식의 인증 흐름

출처 : Keycloak production mode with Docker : Step by Step guide

출처 : keycloak guides

출처 : Keycloak docker 설치 (v22.0.1) 2 – docker compose 이용하여 서버에 설치 (ssl 인증서 설정 포함)

production mode로 https ssl 인증서와 함께 Keycloak 사용하기 위한 핵심은 SSL Certificate 파일을 keycloak 에게 주는 것! => .crt 파일과 .key 파일을 container에게 주고, 환경 변수 KC_HTTPS_CERTIFICATE_FILE, KC_HTTPS_CERTIFICATE_KEY_FILE 에 해당 파일을 맵핑 해준다!
필자는 Niginx Proxy Manager에서 SSL DNS를 설정 및 맵핑 해주어 커스텀 도메인으로 Keycloak 사용 중!(NPM 사용하는 이유가 SSL 설정 따로 안하기 위함이지만, keycloak 처럼 까다로운 솔루션은 따로 해줘야 함)

version: '3'
services:
  keycloak:
    image: quay.io/keycloak/keycloak:22.0.1
    container_name: keycloak
    restart: always
    ports:
      - 80:8080
      - 443:8443
   
    volumes:
      - /home/keycloak/certs/keycloak_dev.crt:/etc/x509/https/tls.crt
      - /home/keycloak/certs/keycloak_dev.np.key:/etc/x509/https/tls.key
     
    environment:
      - KEYCLOAK_ADMIN=admin
      - KEYCLOAK_ADMIN_PASSWORD=password
      - KC_HOSTNAME=keycloak.test.com
      - KC_HTTPS_CERTIFICATE_FILE=/etc/x509/https/tls.crt
      - KC_HTTPS_CERTIFICATE_KEY_FILE=/etc/x509/https/tls.key
    command:
      - start

Email 설정

출처 : 키클락 구성을 위한 기나긴 사전 작업 한번에 보기

출처 : Keycloak 잠금 해제: 이메일 확인 문제 해결

출처 : [OpenSource] Keycloak 이해하기 -3 : 기본 환경 구성 및 로그인/로그아웃 구현

profile
The Man Who Lift

0개의 댓글

관련 채용 정보