django

JWTAuthentication과 BasicAuthentication

베스트오버 2023. 5. 9. 23:40

 

JWTAuthentication

rest_framework_simplejwt.authentication.JWTAuthentication

는 JWT(Json Web Token) 인증 방식을 설정하고 있다. 이 방식은 사용자가 로그인 할 때 서버 측에서 JWT를 생성하고 클라이언트에게 전달하며, 이후 클라이언트가 요청을 보낼 때마다 해당 JWT를 함께 전달하여 인증하는 방식이다. 이 방식은 서버에서 세션 관리를 하지 않아도 되고, 사용자 정보를 저장할 필요가 없어서 상대적으로 서버 부하가 적다.

 

 

BasicAuthentication

rest_framework.authentication.BasicAuthentication

는 HTTP 기본 인증(Basic Authentication) 방식을 설정하고 있다. 이 방식은 HTTP 요청 헤더에 사용자 이름과 비밀번호를 담아 보내어 인증하는 방식이다. 이 방식은 JWT 방식과 달리 서버에서 세션 관리를 해야 하고, 사용자 정보를 저장해야 하므로 상대적으로 서버 부하가 많을 수 있다.

 

따라서, 두 방식은 서버와 클라이언트 간에 데이터를 주고받는 방식이 다르므로, 상황에 따라 적합한 방식을 선택하여 사용해야 한다. JWT 방식은 보안성이 높은 웹 API를 구축하고자 할 때 적합하며, Basic Authentication 방식은 간단한 시스템을 구현할 때 적합하다.