Skip to content

인증 및 권한 처리 방식 정리 #121

@ohinhyuk

Description

@ohinhyuk

현재 인증 방식

  1. 사용자 로그인은 화면에서 Google 로그인을 통해 진행됨.
  2. 로그인 성공 시 Google OAuth 토큰의 sub 값을 이용하여 백엔드 로그인 API 호출.
  3. 단, 한동대학교 계정(handong.ac.kr)에 한해 로그인 가능.
  4. 백엔드는 로그인 성공 시 다음 토큰 발급:
  • accessToken
  • refreshToken
  1. 발급받은 토큰은 localStorage에 저장.
  2. 이후 API 요청 시에는 axios 인스턴스에 등록된 Authorization 헤더에 accessToken 자동 첨부.

권한 처리

  1. 화면에서 권한 정보는 localStorage에 저장된 토큰을 디코딩하여 추출.
  2. privateRoute를 통해 사용자 권한에 따른 접근 통제 구현:
  3. 권한이 없는 사용자가 특정 페이지에 접근하려 할 경우 자동 차단.

에러 처리 방식

  1. 401 Unauthorized
    accessToken 만료 또는 유효하지 않은 경우 발생.
  • 자동 로그아웃 처리
  • localStorage의 토큰 삭제
  • 홈(/)으로 리다이렉트
  1. 403 Forbidden
    권한이 없는 리소스 접근 시 백엔드에서 반환.
  • 경고 후 이전 화면으로 이동
  • 권한에 따른 접근 제한 유지
  • 사용자에게 접근 권한이 없다는 메시지 표시 고려 가능

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions