Skip to content

[FEAT] 토큰 재발행 로직 및 Auth관련 UI, 플로우 구현 - #19

Merged
dlrjswns merged 12 commits into
developfrom
feature/reissue
Aug 13, 2026
Merged

[FEAT] 토큰 재발행 로직 및 Auth관련 UI, 플로우 구현#19
dlrjswns merged 12 commits into
developfrom
feature/reissue

Conversation

@dlrjswns

Copy link
Copy Markdown
Contributor

Describe

사용자 정보 관리 및 인증 관련 기능을 추가하고, 로그인부터 설정 및 계정 정보 화면까지의 UI와 화면 이동을 구현했습니다.
또한 계정 정보 화면의 로그아웃 기능, 토큰 재발행 로직, 네비게이션 화면 전환 및 뒤로가기 제스처를 구현했으며, 환경별 설정을 위해 xcconfig를 활용한 약관 URL 연동을 추가했습니다.

Works made

  1. UserManager 및 User 모델을 추가하여 로그인한 사용자의 정보를 관리할 수 있도록 구현
  2. 로그인 화면 UI 및 로그인 화면 내 필요한 사용자 인터랙션 구현
  3. 설정 화면 UI 구현
  • 계정 정보
  • 알림 설정
  • 서비스 이용약관
  • 개인정보 처리방침
  • 앱 버전
  1. 계정 정보 화면 UI 구현
  • 닉네임 변경
  • 이메일
  • 로그아웃
  • 회원탈퇴
  1. 계정 정보 화면에서 로그아웃 기능 구현
  • 로그아웃 시 저장된 인증 토큰 삭제
  • 로그인 상태 변경에 따른 화면 전환 처리
  1. Access Token 만료 시 Refresh Token을 이용한 토큰 재발행 로직 구현
  • Refresh Token 조회
  • 토큰 재발행 API 요청
  • 재발행된 Access Token 및 Refresh Token 저장
  1. xcconfig를 활용하여 환경별 약관 URL을 String 값으로 관리하도록 구현
  • 서비스 이용약관 URL
  • 개인정보 처리방침 URL
  1. 설정 화면에서 약관 및 개인정보 처리방침 선택 시 외부 웹 페이지를 표시하도록 구현
  2. NavigationStack 기반 화면 이동 구현
  3. 네비게이션 화면 이동 시 뒤로가기 제스처를 사용할 수 있도록 구현

Changes Made

As-Is

기존 로직

  • 로그인 화면 및 사용자 정보 관리 기능이 구현되어 있지 않았습니다.
    설정 및 계정 정보 화면이 구현되어 있지 않았습니다.
  • 사용자 정보를 전역적으로 관리할 수 있는 UserManager가 없었습니다.
  • Access Token 만료 이후 Refresh Token을 통한 토큰 재발행 로직이 구현되어 있지 않았습니다.
  • 약관 및 개인정보 처리방침 URL이 환경 설정을 통해 관리되지 않았습니다.
  • 설정 화면에서 계정 정보 및 서비스 관련 화면으로 이동할 수 없었습니다.
  • 네비게이션 화면 이동 및 뒤로가기 제스처가 구현되어 있지 않았습니다.

스크린샷
Image

To-BE

변경 로직

  • User 모델과 UserManager를 추가하여 현재 사용자 정보를 관리할 수 있도록 구현했습니다.
  • 로그인 화면을 구현하여 사용자 인증 진입 화면을 구성했습니다.
  • 설정 화면을 구현하고 각 설정 항목에 대한 화면 이동 및 외부 웹 페이지 연결을 추가했습니다.
  • 계정 정보 화면을 구현하여 닉네임, 이메일, 로그아웃 및 회원탈퇴 항목을 표시하도록 구성했습니다.
  • 계정 정보 화면의 로그아웃 기능을 구현하여 로그아웃 시 인증 토큰을 삭제하고 로그인 상태를 변경하도록 구현했습니다.
  • Access Token 만료 시 Refresh Token을 이용해 새로운 토큰을 발급받고 TokenStorage에 저장하도록 토큰 재발행 로직을 구현했습니다.
  • xcconfig를 통해 서비스 이용약관 및 개인정보 처리방침 URL을 환경별로 관리하도록 변경했습니다.
  • NavigationStack을 기반으로 설정 → 계정 정보 등의 화면 이동을 구현했습니다.
  • 네비게이션 화면에서 시스템 뒤로가기 제스처를 통해 이전 화면으로 돌아갈 수 있도록 구현했습니다.

스크린샷
Image

How to Test

  1. 앱을 실행합니다.
  2. 로그인 화면에서 로그인을 진행합니다.
  3. 설정 화면으로 이동합니다.
  4. 설정 화면에서 다음 항목을 확인합니다.
  • 계정 정보
  • 알림 설정
  • 서비스 이용약관
  • 개인정보 처리방침
  • 앱 버전
  1. 계정 정보를 선택하여 계정 정보 화면으로 이동합니다.
  2. 닉네임 및 이메일 정보가 정상적으로 표시되는지 확인합니다.
  3. 계정 정보 화면에서 로그아웃을 선택합니다.
  4. 로그아웃 이후 로그인 화면으로 정상적으로 이동하는지 확인합니다.
  5. Access Token 만료 상황에서 API 요청 시 Refresh Token을 통해 토큰이 재발행되는지 확인합니다.
  6. 서비스 이용약관 및 개인정보 처리방침 선택 시 xcconfig에 설정된 URL의 웹 페이지가 정상적으로 표시되는지 확인합니다.
  7. 설정 → 계정 정보 이동 후 화면 가장자리에서 뒤로가기 제스처를 수행하여 이전 화면으로 정상적으로 돌아오는지 확인합니다.

Issues Resolved

Additional context

추후에 약관 URL받아오면 xcconfig에 정의된 Key값에 넣으시고 작업하면 됩니다.
계정정보화면 나머지 로직은 추후에 구현하겠습니다.

References

@dlrjswns
dlrjswns requested a review from cchanmi August 13, 2026 12:00
@dlrjswns dlrjswns self-assigned this Aug 13, 2026
@dlrjswns dlrjswns added the enhancement New feature or request label Aug 13, 2026
@dlrjswns
dlrjswns merged commit 10cdb08 into develop Aug 13, 2026
1 check passed
@dlrjswns
dlrjswns deleted the feature/reissue branch August 13, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant