package com.airlock.iam.login.application.service.kerberos;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.util.Optional;
import org.ietf.jgss.GSSContext;

public interface LegacyKerberosService {
   String HEADER_VALUE_NEGOTIATE = "Negotiate";
   String SPNEGO_PREFIX = "Negotiate ";
   String HEADER_WWW_AUTHENTICATE = "WWW-Authenticate";
   String HEADER_AUTHORIZATION = "Authorization";

   boolean hasRequestValidSpnegoHeader(HttpServletRequest var1);

   byte[] extractSpnegoDataFromRequest(HttpServletRequest var1);

   boolean isSpnegoDataOfTypeNTLM(byte[] var1);

   KerberosValidationResult validateSpnegoData(byte[] var1, Optional<GSSContext> var2);

   void sendInitialAuthenticateResponse(HttpServletResponse var1);

   void sendSubsequentAuthenticateResponse(HttpServletResponse var1, byte[] var2);
}
