ci/cd auth project

10 - Nginx를 활용한 무중단 배포 구축기

무중단 배포 배포 과정에서 서버가 일시 중단되는 문제에 대해 생각해 본적이 있는가? 만약, 서비스가 중단된다면 잠깐이지만 크게 3가지 정도의 문제점들이 발생할 수 있다. 실제 운영 환경에서 서비스 중단은 곧 손실 배포나 갑작스러운 장애로 서버가 다운될 경...

7 - Access Token과 Refresh Token

워밍업 JWT Token 프로젝트를 진행하면서 많은 어려움과 고민을 안겨다준 AccessToken과 RefreshToken. 서로 상호보완하는 두 토큰을 활용해서 인증/인가 플로우대로 기능 구현한다는 게 참 쉽지 않았던 일이었던 것 같다.

6 - 왜 JWT 토큰을 사용했을까?

다양한 옵션 중 어떤 기술을 왜 선택했는가? 일반적으로 로그인 구현에서 많이 사용되는 기술은 JWT 토큰 방식이다. 이 방식을 사용하게된 계기는 Session 방식과 비교해서 더 복잡하고 처리해야 될 것들이 많았기 때문이다. 하지만 이것은 구현하기 위한 생각일 뿐이다. 더 중요한 ...

5 - jwt 암호화와 secret key 생성 방법

양방향 암호화, 생성 방법 jwt 토큰 암호화를 진행하면서 양방향의 대칭키와 비대칭키 두 가지 방식이 있는데 어떤 걸 사용해야 적합한지 의문점이 생겨 이를 조사해보려고 한다. 그리고 선택한 양방향 키를 어떻게 생성했는지 사용한 방법을 기록하려고 한다.

4 - Spring Security 구조, 흐름

JWT Token을 사용하기 앞서 JWT 동작 과정을 이해하기 위해서는 ServletFilterChain과 SpringSecurity 구조와 동작 원리에 대해서 학습할 필요가 있다. 따라서 작성한 다이어그램을 바탕으로 학습한 내용을 정리 하려고 한다.

3 - Private RDS 접근하기

AWS RDS MySQL 현재 AWS EC2 인스턴스를 사용하여 서버를 구동하고 있으며, AWS RDS는 MySQL을 지원하는 관리형 데이터베이스 서비스이다. EC2와 RDS는 동일한 VPC 내 서브넷에서 원활하게 통합되며, 이를 통해 데이터베이스 관리와 운영의 복잡성을 크게 줄일...

1 - 프로젝트 기획 및 설계

기획 및 설계 CI/CD와 Auth Login 프로젝트 주제는 GitHubActions를 활용한 CI/CD와 SpringSecurity와 JWT를 결합한 인증 시스템이다.