JWT
-
FastAPI 시리즈 13화 - 사용자 권한(Role) 관리와 종속성 적용 방법기술과 산업/언어 및 프레임워크 2025. 6. 2. 10:12
FastAPI에서 사용자 역할(Role)을 기반으로 접근 권한을 제어하는 방법을 설명합니다. Depends를 활용해 인증과 권한 검증을 모듈화하고, 실무에서 필요한 보안 구조를 구축합니다.왜 Role 기반 권한 관리가 필요한가?대부분의 서비스는 사용자 유형이 나뉘며 각자의 권한이 다릅니다:사용자 유형 접근 가능한 리소스일반 사용자본인의 정보, 게시글관리자전체 사용자 목록, 설정 변경운영자일부 모니터링 기능이러한 역할(Role) 기반 권한 관리 시스템은 서비스 품질뿐만 아니라 보안을 위해서도 반드시 필요합니다.1. JWT 토큰에 Role 정보 포함def create_access_token(data: dict): payload = data.copy() payload.update({ "..
-
FastAPI 시리즈 12화 - JWT 기반 인증 시스템 완성: 토큰 구조와 보안 처리 심화기술과 산업/언어 및 프레임워크 2025. 5. 30. 01:20
FastAPI에서 JWT(Json Web Token)의 구조, 만료 처리, 리프레시 토큰 전략, 서명 보안 방식 등을 실전 중심으로 다룹니다. 인증 시스템을 안전하게 완성하는 방법을 소개합니다. 왜 JWT 구조를 이해해야 하는가? JWT(Json Web Token)는 다음과 같은 구조로 구성됩니다:HEADER.PAYLOAD.SIGNATURE파트설명Header알고리즘 및 타입 (alg, typ)Payload사용자 데이터 (sub, exp, role 등)Signature서버 비밀키로 서명된 무결성 보장 부분✅ JWT는 읽을 수 있지만 조작할 수 없어야 합니다.따라서 서명(Signature)을 검증하지 않으면, 누구나 위조된 토큰을 만들 수 있게 됩니다. 1. JWT 유효성 검증 강화from jose imp..
-
NestJS 마스터 시리즈 16화. 인증 시스템 구현 (2) – AuthGuard와 역할 기반 인가 처리기술과 산업/언어 및 프레임워크 2025. 5. 28. 12:55
"보안은 인증으로 시작하고, 인가로 완성된다"NestJS에서 JWT 인증 이후의 권한 제어를 구현하는 방법을 설명합니다. AuthGuard 설정, 커스텀 데코레이터, RolesGuard 패턴을 기반으로 실무에서 활용되는 인가 전략을 단계별로 소개합니다.인증과 인가의 차이인증(Authentication): 누구인지 확인하는 과정인가(Authorization): 무엇을 할 수 있는지 결정하는 권한 부여 과정이번 회차에서는 인증된 사용자에게 API 사용 권한을 어떻게 제한하고 제어할 것인지를 다룬다.1. JWT 기반 AuthGuard 설정NestJS는 Passport의 JWT 전략을 기반으로 AuthGuard('jwt')를 사용하여 인증 보호 API를 쉽게 구성할 수 있다.import { UseGuards }..
-
NestJS 마스터 시리즈 15화. 인증 시스템 구현 (1) – JWT 기반 로그인 시스템 만들기기술과 산업/언어 및 프레임워크 2025. 5. 27. 14:22
"인증은 단순한 로그인이 아니라, 서비스와 사용자 사이의 신뢰 계약이다"NestJS에서 JWT 인증 시스템을 구현하는 방법을 설명합니다. PassportModule 연동, JWT 전략 구성, 로그인 및 토큰 발급 로직까지 실무 수준으로 정리합니다. 인증이란 무엇인가?인증(Authentication): 사용자가 누구인지 확인하는 과정인가(Authorization): 인증된 사용자가 특정 리소스에 접근할 수 있는지 판단하는 과정이번 글에서는 먼저 인증, 특히 로그인과 토큰 발급 흐름에 집중한다.1. 필요한 패키지 설치npm install @nestjs/passport @nestjs/jwt passport passport-jwtnpm install --save-dev @types/passport-jwtpass..
-
FastAPI 시리즈 11화 - OAuth2 이해와 FastAPI 로그인 인증 시스템 구축기술과 산업/언어 및 프레임워크 2025. 5. 23. 17:01
FastAPI에서 OAuth2PasswordBearer와 JWT(Json Web Token)를 이용해 사용자 인증 시스템을 구축하는 방법을 설명합니다. 실전 로그인/토큰 발급/보호된 엔드포인트 예제를 포함합니다. OAuth2는 왜 필요할까? API 기반 서비스에서 “로그인”은 단순한 기능이 아닙니다.다음과 같은 보안 요구사항을 만족해야 합니다: 사용자 식별 및 인증액세스 권한 제한비밀번호 노출 방지Stateless 인증 처리 FastAPI는 OAuth2 흐름을 기본 지원하며, 여기에 JWT(JSON Web Token)를 결합해RESTful하고 안전한 인증 체계를 구현할 수 있습니다. 1. OAuth2PasswordBearer 기본 구조from fastapi.security import OAuth2Pas..
-
Spring Boot 시리즈 33편 – Spring Cloud Gateway: API 게이트웨이 설계와 트래픽 라우팅 전략기술과 산업/언어 및 프레임워크 2025. 5. 20. 12:46
Spring Cloud Gateway를 활용한 API Gateway 설계와 트래픽 라우팅 전략을 정리합니다. 마이크로서비스 구조에서 게이트웨이의 역할, 필터 구성, 라우팅, 인증 및 보안 적용까지 실무 기준으로 설명합니다. 마이크로서비스 구조에서 사용자 요청이 각 서비스를 직접 호출하도록 설계하면서비스의 수가 늘어날수록 복잡도와 보안 리스크가 증가합니다.이 문제를 해결하는 핵심 요소가 바로 API Gateway입니다.Spring Cloud Gateway는 Netflix Zuul의 뒤를 이어,Spring 생태계에서 가장 널리 사용되는 비동기 논블로킹 기반의 API Gateway 프레임워크입니다.1. Spring Cloud Gateway란?항목 설명목적사용자 요청을 여러 내부 서비스로 라우팅하고, 공통 정책..
-
JHipster 시리즈 4화 - Spring Security와 JHipster의 인증 구조 이해기술과 산업/언어 및 프레임워크 2025. 5. 9. 15:48
JHipster의 기본 보안 아키텍처인 Spring Security 기반 구조를 이해하고, JWT와 OAuth2 인증 방식의 차이, Keycloak 연동 실습까지 실전 중심으로 살펴봅니다.보안 구조는 단순히 로그인 UI 그 이상이다보안은 모든 웹 애플리케이션의 뼈대입니다.JHipster는 Spring Security를 기반으로 한 인증/인가 체계를 자동 구성해주며, 실제 서비스 배포 시까지 보안 이슈 없이 시작할 수 있도록 지원합니다.특히 개발 초기엔 기본 설정을 활용하고, 프로젝트가 커질수록 보안 아키텍처를 커스터마이징하는 방식으로 접근하게 됩니다.JHipster가 지원하는 인증 방식인증 방식 설명 추천 상황JWTJSON Web Token 기반 토큰 인증대부분의 SPA, 모바일 앱OAuth2외부 인증 ..
-
Spring Boot 시리즈 23편 – 인증과 권한 전략 아키텍처: OAuth2, JWT, Role 기반 접근 제어까지기술과 산업/언어 및 프레임워크 2025. 5. 2. 09:43
Spring Boot에서 OAuth2, JWT 기반 인증 및 권한 관리를 안전하게 구현하는 전략을 소개합니다. 실무 중심의 Role 기반 접근 제어 설계와 구현 사례 포함.Spring Boot 시리즈 23편 – 인증과 권한 전략 아키텍처: OAuth2, JWT, Role 기반 접근 제어까지서비스가 성장하면 단순한 로그인 처리만으로는 부족합니다.외부 연동(OAuth), 모바일/웹 통합 인증, 사용자 권한별 기능 제한 등강력하면서도 유연한 인증·권한 아키텍처가 필요해집니다.이번 글에서는 Spring Boot 기반으로OAuth2 로그인JWT 토큰 인증Role/Permission 기반 인가 처리전반을 실전 아키텍처 수준으로 정리합니다.📌 1. 인증 vs 권한 – 구분부터 명확히개념 설명인증(Authentica..