package com.talentcard.server.business.admin.auth; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; @Component public class AdminAuthInterceptor implements HandlerInterceptor { public static final String OPERATOR_ID_ATTRIBUTE = "authenticatedAdminOperatorId"; private final AdminAuthService service; public AdminAuthInterceptor(AdminAuthService service) { this.service = service; } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { Long operatorId = service.authenticate(request.getHeader(HttpHeaders.AUTHORIZATION)); request.setAttribute(OPERATOR_ID_ATTRIBUTE, operatorId); return true; } }