package com.talentcard.server.business.merchant.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 MerchantAuthInterceptor implements HandlerInterceptor {
|
private final MerchantAuthService service;
|
|
public MerchantAuthInterceptor(MerchantAuthService service) {
|
this.service = service;
|
}
|
|
@Override
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
|
MerchantPrincipal principal = service.authenticate(
|
request.getHeader(HttpHeaders.AUTHORIZATION), request.getHeader("X-Merchant-Store-Id"));
|
request.setAttribute(MerchantAuthService.PRINCIPAL_ATTRIBUTE, principal);
|
return true;
|
}
|
}
|