Vue2

Vue with DRF (5) - Authentication & Authorization

MC류짱 2022. 11. 14. 21:38

Authentication - 인증, 입증

  • 자신이라고 주장하는 사용자가 누구인지 확인하는 행위
  • 모든 보안 프로세스의 첫 번째 단계 (가장 기본 요소)
  • 즉, 내가 누구인지를 확인하는 과정
  • 401 Unauthorized
    • 비록 HTTP 표준에서는 '미승인(unauthorized)'을 명확히 하고 있지만, 의미상 이 응답은
    • '비인증(unauthenticated)'를 의미

 

Authorization - 권한 부여, 허가

  • 사용자에게 특정 리소스 또는 기능에 대한 액세스 권한을 부여하는 과정 (절차)
  • 보안 환경에서 권한 부여는 항상 인증이 먼저 필요함
    • 사용자는 조직에 대한 액세스 권한을 부여 받기 전에 먼저 자신의 ID가 진짜인지 확인하야함
  • 서류의 등급, 웹 페이지에서 글을 조회, 삭제, 수정 할 수 있는 방법, 제한구역
    • 인증이 되었어도 모든 권한을 부여 받는 것은 아님
  • 403 Forbidden
    • 401과 다른 점은 서버는 클라이언트가 누구인지 알고 있음

 

인증 여부 확인 방법

  • DRF 공식문서에서 제안하는 인증 절차 방법

 

인증 방식 중 TokenAuthentication

  • 매우 간단하게 구현 할 수 있음
  • 기본적인 보안 기능 제공
  • 다양한 외부 패키지가 있음
  • (중요) settings.py에서 DEFAULT_AUTHENTICATION_CLASSES를 정의
    • TokenAuthentication 인증 방식을 사용할 것임을 명시

TokenAuthentication 사용 방법

  • User는 발급 받은 Token을 headers에 담아 요청과 함께 전송
    • 단, 반드시 아래의 형식을 지켜야함

dj-rest-auth

 

  • 시작하기 전, auth.User를 accounts.User로 변경 필요
  • auth.User로 설정된 DB 제거

 

  • 이 과정 이후 python manage.py migrate 필요