Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cl.awto.microservice.poinvoice.interceptor.handler;
- import cl.awto.microservice.msmodel.domain.model.microservice.AwMicroserviceEntity;
- import cl.awto.microservice.poinvoice.domain.enums.interceptor.StatusResponse;
- import cl.awto.microservice.poinvoice.domain.exceptions.SecurityException;
- import cl.awto.microservice.poinvoice.domain.enums.microservice.MicroserviceName;
- import cl.awto.microservice.poinvoice.repository.microservice.MicroserviceRepository;
- import cl.awto.microservice.poinvoice.domain.common.AwtoUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.stereotype.Component;
- import org.springframework.web.servlet.HandlerInterceptor;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- @Component
- public class SecurityInterceptor implements HandlerInterceptor {
- private final static String MS_NAME = MicroserviceName.MSPURCHASEORDER.name();
- private final static String HEADER_NAME = "x-api-key";
- private MicroserviceRepository microserviceRepository;
- public SecurityInterceptor(MicroserviceRepository microserviceRepository) {
- this.microserviceRepository = microserviceRepository;
- }
- @Override
- public boolean preHandle(
- HttpServletRequest request,
- HttpServletResponse response,
- Object handler
- ) throws SecurityException {
- AwMicroserviceEntity awMicroserviceEntity = microserviceRepository.findByName(MS_NAME);
- String token = request.getHeader(HEADER_NAME);
- if (AwtoUtils.isEmpty(token))
- throw new SecurityException(StatusResponse.TOKEN_NOT_FOUND);
- if (!awMicroserviceEntity.getApikey().equals(token))
- throw new SecurityException(StatusResponse.BAD_TOKEN);
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement