Nothing CEO 칼 페이 웨어러블 전략 배경

Nothing CEO 칼 페이(Carl Pei)는 원플러스 공동창업자 출신으로, 스마트폰 시장의 포화와 앱 중심 패러다임에 회의적이었다. Nothing 설립(2020년) 후 투명 디자인과 가성비로 팬덤을 구축하며 스마트폰·오디오 성공을 …

자세히보기

Node.js jose로 JWT 토큰 검증 상세 가이드

Node.js에서 jose로 JWT를 검증할 때 가장 안전한 기본형은 jwtVerify() + createRemoteJWKSet() 조합입니다. 이 방식은 단순 디코딩이 아니라 서명 검증 + claims 검증(issuer, audience, exp 등) 을 함께 처리해 주기 때문에 OAuth2/OIDC 서버가 …

자세히보기

jose JWKS 캐싱 최적화 기법

jose의 createRemoteJWKSet()은 내장된 TTL 기반 캐싱을 제공하지만, 프로덕션에서는 여기에 에러 기반 무효화, 캐시 워밍, 공유 캐시 계층을 추가해 성능과 가용성을 동시에 확보해야 합니다. jose 기본 캐싱 메커니즘 createRemoteJWKSet()은 호출될 때마다 HTTP …

자세히보기

멀티테넌트 JWKS 캐싱 지원 기법

멀티테넌트 환경에서 JWKS를 캐싱할 때 핵심은 테넌트별 독립 캐시 키, 테넌트별 TTL 차등 적용, 캐시 오염 방지, 동적 테넌트 등록을 어떻게 처리하느냐입니다. Spring Security + Caffeine 조합으로 이 네 …

자세히보기

JWKS 캐시 프리페치와 백그라운드 리프레시 설정

Spring Security에서 JWKS 캐시 프리페치(애플리케이션 시작 시 미리 적재)와 백그라운드 리프레시(만료 직전 비동기 갱신)를 구현하려면, 커스텀 Cache 래퍼와 @Scheduled 태스크를 조합하는 것이 현실적인 최선입니다. Spring 자체는 프리페치/백그라운드 리프레시를 공식 지원하지 않지만, Caffeine의 refreshAfterWrite와 …

자세히보기

Spring Security RemoteJWKSet 캐싱 설정 예제

Spring Security에서 RemoteJWKSet 캐싱 설정을 하려면, 최신 방식은 NimbusJwtDecoder.withJwkSetUri(…).cache(…)에 Spring Cache를 주입하는 것입니다. 구버전이나 세밀한 TTL 제어가 필요하면 Nimbus의 RemoteJWKSet과 DefaultJWKSetCache를 직접 구성할 수도 있습니다. 최신 방식 Spring Security 5.4+에서는 NimbusJwtDecoder.JwkSetUriJwtDecoderBuilder.cache(…) 메서드로 …

자세히보기