박찬건 / Software Developer
프로젝트 목록

AUTHENTICATION · OPERATIONS

알림 it

울산대학교 공지 알림 서비스 · 관리자 기능·백엔드 유지보수

2025 — 2026 · 세부 월 미확인기존 서비스 팀 · 인원 미확인관리자 인증 · API 연동 · 배포

관리자 인증·API 연동·통합 배포를 구현하고, 기존 알림 식별자에 RSA·AES 암호화를 적용했습니다.

ViteJavaScriptJava · Spring BootMySQL · JPAHttpOnly · RTRNginx
사용 맥락
울산대학교 공지 알림 서비스의 유지보수에 참여하며 기존 API와 배포 환경에 관리자 기능을 추가했습니다.
팀과 내 범위
앱·공지 수집·기존 공지 API는 팀의 기존 기능입니다. 저는 관리자 화면, 로그인·갱신·로그아웃 API 수정, 알림 식별자 암호화와 통합 배포를 맡았습니다.
Memory액세스 토큰 보관

로컬스토리지에 남기지 않는 구조

HttpOnly + RTR리프레시 토큰 관리

쿠키 보관 · 갱신 시 토큰 교체

통합 배포기존 운영 환경에 연결

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 계약, 인증 상태와 정적 파일·배포 경로를 함께 확인해야 합니다.