API 요청을 받았을 때 모든 요청에 대해서 모든 사용자에게 제공 해도 된다면 문제가 없겟지만, 그러한 사이트가 얼마정도 될까?
대부분의 사이트는 로그인이라는 기능이 존재하며, 사용자 A 에 대한 정보는 사용자 A 만 볼 수 있어야 한다.
만약 사용자 A 가 사용자 B 의 정보에 접근하거나, 관리자 화면에 접근 할 수 있다면 문제가 될 것이다.
이러한 점을 보안하기 위해서 Interceptor 에서 요청한 사용자가 요청한 API 접근 권한이 있는지를 인증 처리를 하여 보안을 걸어 둘 것이다.
Interceptor 인증
인증은 하는 과정에 있어서도 모든 요청에 대해서 인증을 할 수 는 없다.
예시로 로그인 화면, 회원가입 화면은 모든 사용자가 접근하여 작업을 할 수 있어야 한다.
별개로 인증이 필요하지 않는 화면이 존재할 수 있기 때문에, Interceptor 를 통해 인증을 할때는 인증을 진행할 곳, 진행하지 않을 곳을 나누어 두는 것이 중요하며, Interceptor 를 등록할 때 excludePathPatterns 에 지정하면 제외를 할 수 있다.
open_api / swagger 등은 인증을 거치지 않도록 선언하며, 이외의 요청에 대해서는 Header 에 담긴 내용으로 인증을 처리
4
배달 플랫폼 공통 기능 구현
Interceptor 인증