AUTHENTICATION · OPERATIONS
알림 it
울산대학교 공지 알림 서비스 · 관리자 기능·백엔드 유지보수
PROJECT OVERVIEW
5 images관리자 인증·API 연동·통합 배포를 구현하고, 기존 알림 식별자에 RSA·AES 암호화를 적용했습니다.
- 사용 맥락
- 울산대학교 공지 알림 서비스의 유지보수에 참여하며 기존 API와 배포 환경에 관리자 기능을 추가했습니다.
- 팀과 내 범위
- 앱·공지 수집·기존 공지 API는 팀의 기존 기능입니다. 저는 관리자 화면, 로그인·갱신·로그아웃 API 수정, 알림 식별자 암호화와 통합 배포를 맡았습니다.
로컬스토리지에 남기지 않는 구조
쿠키 보관 · 갱신 시 토큰 교체
Vite · Spring Boot · Nginx
CONTRIBUTION
내가 맡은 일
- 백엔드 수정: 로그인·갱신·로그아웃 API와 JPA RefreshToken 저장·교체 로직
- 화면·연동: Vite·JavaScript 관리자 화면, 기존 공지 API 연결과 인증 복원
- 배포: /admin 정적 파일·SPA 경로를 Spring Boot에 통합하고 Nginx 환경에 연결
- 데이터 보호: 기존 device_id·FCM token에 RSA·AES 하이브리드 암호화 적용
전체 흐름 보기
담당 범위를 중심으로 정리한 개념 흐름입니다.
유지보수 사례
문제 · 메모리 액세스 토큰은 새로고침 시 사라졌고, 관리자 진입에서 403 응답이 발생했습니다.
판단·수정 · 액세스 토큰은 메모리, 리프레시 토큰은 HttpOnly 쿠키에 두도록 연결했습니다. Spring Boot 로그인·갱신 API와 JPA RefreshToken 엔티티·저장소를 수정해 갱신 시 기존 토큰을 교체하는 RTR을 구현했습니다.
확인 · 작업 기록의 새로고침 후 인증 복원과 본인 커밋의 401/403 처리·JSON이 아닌 응답 처리·보호 경로 수정이 근거입니다. 토큰 누락·만료·재사용 분기는 코드에서 확인했으며, 모든 예외 상황의 실행 테스트를 완료했다고 표현하지 않습니다.
효과 · 관리자 화면의 인증 상태와 백엔드 갱신 흐름을 함께 관리할 수 있도록 보완했습니다. 서비스 전체의 보안 완성을 의미하지 않습니다.
화면·코드 증빙의 범위
상단 앱 이미지는 팀 서비스 소개 자료입니다. 관리자 인증·배포 수정은 본인 커밋과 개인 작업 기록으로 확인했습니다. 저장소가 비공개이므로 공개 링크나 원본 코드를 게시하지 않습니다.
OUTCOME
남긴 결과
관리자 인증·화면·API를 기존 운영 환경에 통합하고 알림 식별자 보호를 보완했습니다.
확인한 방법
본인 커밋에서 HttpOnly 쿠키·RTR·JPA 저장, 새로고침 403 수정과 JSON이 아닌 인증 응답 처리를 확인했습니다. 새로고침 후 인증 복원은 작업 기록으로 확인했습니다.
남은 한계
유지보수와 관리자 기능을 담당한 범위입니다. 전체 서비스 운영 책임이나 보안 완성을 주장하지 않습니다. 인증 예외 분기의 구현 확인과 모든 상황의 실행 검증은 구분합니다.
배운 점
기존 서비스의 유지보수에서는 API 계약, 인증 상태와 정적 파일·배포 경로를 함께 확인해야 합니다.