728x90

2025/03/26 3

[Nuxt] 빌드 후 동적 프록시 설정하기

이 글에서는 Nuxt 애플리케이션에서 빌드 후 런타임 환경 설정을 통해 외부 API로의 프록시를 구현하는 방법을 설명합니다.📌 왜 빌드 후 동적 프록시인가?Nuxt 프로젝트는 종종 빌드 환경과 운영 환경의 API 주소가 달라질 수 있습니다. 이때 빌드 후에도 쉽게 API의 엔드포인트를 변경하기 위해 런타임 시 프록시 설정을 활용할 수 있습니다.Nuxt 서버 라우트 설정하기아래와 같이 서버 라우트를 설정하여, 모든 /spring 경로의 요청을 동적으로 지정된 API로 프록시할 수 있습니다.예시 코드 (server/routes/spring/[...].ts)export default defineEventHandler(async (event) => { const config = useRuntimeConfig..

Javascript/NuxtJS 2025.03.26

[Keycloak] Spring Boot Resource Server 연동하기

이 글에서는 Keycloak 26과 Spring Boot 기반의 리소스 서버 간의 JWT 연동 방법을 설명합니다. 특히, 리소스 서버가 Keycloak에 클라이언트로 별도 등록되지 않고도 JWT를 검증하는 방법, JWT 파싱 컨버터 설정 및 기본 보안 설정을 다룹니다.리소스 서버는 Keycloak에 클라이언트로 등록될 필요가 없습니다.JWT의 iss 클레임과 리소스 서버의 issuer-uri 설정이 정확히 일치해야 합니다.리소스 서버는 {issuer-uri}/protocol/openid-connect/certs를 통해 JWT 파싱을 위한 컨버터 설정이 필요합니다.간단한 Security 설정을 진행합니다.Spring Boot 프로젝트 의존성 설정Gradle 설정 예시 (build.gradle.kts)dep..

Keycloak 2025.03.26

[Keycloak] JWT에 Custom 스코프 추가하기

이 글에서는 최신 버전인 Keycloak 26을 기준으로 JWT에 사용자가 소속된 그룹 정보를 {id, name} 형태로 추가하기 위한 Client Scope 설정 및 Custom Mapper를 구현하는 방법을 자세히 다룹니다.1. 요구사항 정의Keycloak에서 발급한 JWT의 Payload에 사용자가 속한 그룹의 id와 name 정보를 배열 형태로 추가합니다.예상되는 Payload 구조:{ "sub": "12345678-1234-1234-1234-123456789abc", "preferred_username": "johndoe", "group_info": [ {"id": "group-1-id", "name": "Admins"}, {"id": "group-2-id", "name": "U..

Keycloak 2025.03.26
728x90