전체 글

Spring Security와 Keycloak을 활용한 OAuth2 인증·인가 구현
개념OAuth2 (Open Authorization 2.0) : 사용자 인증, 인가(권한 부여)를 안전하게 처리하는 표준 프로토콜제3자 애플리케이션이 내 계정 정보를 직접 받지 않고, 대신 안전한 Access Token을 사용하도록 하는 방식ex) 네이버 로그인을 이용해 카카오톡에 로그인-> 카카오톡이 네이버 ID/PW를 직접 알 필요 없이 OAuth2를 이용해 로그인할 수 있음-> 네이버가 "사용자에게 Access Token을 발급" 하는 방식 OAuth2 주요 구성 요소Authorization Server : 인증을 처리하고 Access Token을 발급하는 서버Resource Server : 보호된 API를 제공하는 서버Access Token : 사용자가 인증되었음을 증명하는 토큰여기서는 각 요소는..

[Keycloak] 외부 DB 인증·인가 이력 저장 및 조회 방법
Keycloak을 통해 외부 DB를 연결한 경우 인증, 인가 이력을 외부 DB에서 확인하는 방법을 알아보겠습니다. 이력을 남기기 위해 Keycloak 설정을 아래와 같이 합니다.1. Keycloak 관리 콘솔에 로그인2. 왼쪽 메뉴에서 Events > configs 클릭3. Save Events 옵션을 ON으로 전환 및 Expiration(이벤트 저장기간), Event saved type(저장할 이벤트 유형)을 설정하고 Save 버튼을 클릭합니다. 이렇게 설정하면 지정한 이벤트들이 Keycloak과 연결한 외부 DB의 EVENT_ENTITY 테이블에 저장되기 시작합니다.EVENT_ENTITY 테이블은 사용자 인증, 인가(권한 부여)와 관련된 이벤트를 저장하는 테이블입니다.이 테이블은 다음과 같은 주요 컬..
Jenkins에서 Docker 이미지 캐싱으로 빌드 시간 절약하는 법
Jenkins 파이프라인 프로젝트 빌드 시 dockerfile을 build 하는 부분이 오래 걸리는 이슈를 발견했습니다.#6 [1/2] FROM docker.io/library/eclipse-temurin:21@sha256:cfbadec14ecc0b8f20edc8fee5136d7ffa1baf6fa8767eb2c99b84aa010f7ceb#6 sha256:8e5cb34610f826408a51969df7d92582461560064a6430e5e84aa9ad7c4640c7#6 resolve docker.io/library/eclipse-temurin:21@sha256:cfbadec14ecc0b8f20edc8fee5136d7ffa1baf6fa8767eb2c99b84aa010f7ceb#6 resolve docke..
Javascript로 Div 태그 드래그 이동 기능 구현
Openlayers로 map에 띄운 Overlay를 마우스 드래그로 이동하는 기능을 추가할 필요가 생겼습니다.아래 코드는 Overlay로 띄운 popup을 마우스 드래그로 이동시키는 Javascript 소스 입니다.const popupElement = document.getElementById('popup');let isDragging = false;let startPixel = null; // 드래그 시작 좌표popupElement.addEventListener('mousedown', (event) => { isDragging = true; startPixel = [event.clientX, event.clientY]; // 마우스 클릭 좌표(초기위치) popupElement.style..