반응형

JWT 3

FastAPI에서 JWT 로그인 기능 구현하기(회고)

IT 서비스를 이용하면서 로그인 기능은 흔히 볼 수 있는 기능이다. 가장 흔하고 구현을 위한 수 많은 라이브러리가 존재하기 때문에 쉽지만, 그만큼 보안에 있어서 가장 중요한 부분이기 때문에 신경써야 할 점들이 많다. 회사에서 내년 3월 일본에 테스트할 서비스를 만들면서 로그인 기능구현을 담당하게 됐다. 어떤 방식을 적용하면 좋을까 고민하게 됐었고, JWT와 AccessToken, RefreshToken을 이용하기로 했다. 이틀이라는 시간에 걸쳐 현재는 로그인 구현을 완료한 상황이지만 구현하는 과정에서 생겼던 의문점과 회고를 기록하고 싶다는 생각이 들었다. FastAPI에 대한 이해 현재 다니고 있는 회사는 Python 기반의 FastAPI 프레임워크를 사용한다. FastAPI는 어플리케이션을 빠르게 개발..

Python/FastAPI 2023.12.16

인증과 인가

인증과 인가의 특징은 정확히 무엇이고 무엇이 다를까? 정확하게 짚고 넘어가보자. ✅ 인증 인증은 사용자의 신원을 검증하는 행위로 보안 프로세스에서 첫 번째 단계이다. 아파트로 예를 들면 주민이 아파트 공동 현관문에 출입 카드를 대는 것을 인증이라고 볼 수 있다. 사용자의 신원을 검증하는 방법은 여러가지가 있을 수 있지만 대체적으로 비밀번호를 사용한다. 사용자가 올바른 비밀번호를 입력했다면 시스템은 인증을 통해 유효하다고 판단하고 엑세스를 허용한다. ✅ 인가 인증과 조금 다르게 인가는 사용자가 어떤 리소스에 접근할 수 있는지, 또는 어떤 동작을 수행할 수 있는지 검증하는 것이다. 예를 들면 어떤 커뮤니티 홈페이지에 사용자로서 인증을 받고 서비스를 이용하고 있다고 볼 때, 인증된 사용자이기 때문에 글을 남길..

Computer Science 2023.04.02

세션 vs 토큰(JWT) 인증의 차이

✅ 인증(Authentication)과 인가(Authorization) 세션과 토큰에 대해 알아보기 이전에 인증과 인가가 무엇인지 부터 알아야할 필요가 있다. 인증과 인가는 시스템의 자원을 적절하고 유효한 사용자에게 전달하고 공개하는 방법이다. ✅ 인증 (Authentication) 인증은 쉽게 말해 로그인이다. 클라이언트가 자신이라고 주장하고 있는 사용자가 맞는지를 검증하는 과정이다. 내가 로그인 화면에서 emhaki와 패스워드를 입력해 제출하면 서버에서는 내가 emhaki 유저가 맞는지 확인한다. ✅ 인가 (Authorization) 인가는 인증 이후에 행해지는 작업으로, 인증된 사용자에 대한 자원에 대한 접근 확인 절차를 의미한다. 인증을 해서 로그인이 되었다면, 유저는 다양한 활동을 하게 될 것이..

Computer Science 2023.01.06
728x90
반응형