Changed the URL of login api to identify the deployment bug
This commit is contained in:
@@ -4,6 +4,7 @@ import java.io.IOException;
|
|||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -16,9 +17,11 @@ import org.springframework.stereotype.Component;
|
|||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||||
|
import net.gepafin.tendermanagement.entities.HubEntity;
|
||||||
import net.gepafin.tendermanagement.entities.SamlResponseEntity;
|
import net.gepafin.tendermanagement.entities.SamlResponseEntity;
|
||||||
import net.gepafin.tendermanagement.enums.SamlResponseStatusEnum;
|
import net.gepafin.tendermanagement.enums.SamlResponseStatusEnum;
|
||||||
import net.gepafin.tendermanagement.repositories.SamlResponseRepository;
|
import net.gepafin.tendermanagement.repositories.SamlResponseRepository;
|
||||||
|
import net.gepafin.tendermanagement.service.HubService;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
|
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||||
|
|
||||||
@@ -33,12 +36,16 @@ public class SamlFailureHandler implements AuthenticationFailureHandler {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SamlResponseRepository samlResponseRepository;
|
private SamlResponseRepository samlResponseRepository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HubService hubService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
|
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
|
||||||
AuthenticationException exception) throws IOException {
|
AuthenticationException exception) throws IOException {
|
||||||
try {
|
try {
|
||||||
logger.error("SAML login failed: " + exception.getMessage());
|
logger.error("SAML login failed: " + exception.getMessage());
|
||||||
String inResponseTo = extractInResponseTo(feBaseUrl);
|
String inResponseTo = extractInResponseTo(exception.getMessage());
|
||||||
|
|
||||||
if (Boolean.FALSE.equals(StringUtils.isEmpty(inResponseTo))) {
|
if (Boolean.FALSE.equals(StringUtils.isEmpty(inResponseTo))) {
|
||||||
SamlResponseEntity samlResponseLogEntity = samlResponseRepository
|
SamlResponseEntity samlResponseLogEntity = samlResponseRepository
|
||||||
.findByInResponseToAndStatus(inResponseTo, SamlResponseStatusEnum.INITIATED.getValue())
|
.findByInResponseToAndStatus(inResponseTo, SamlResponseStatusEnum.INITIATED.getValue())
|
||||||
@@ -46,6 +53,10 @@ public class SamlFailureHandler implements AuthenticationFailureHandler {
|
|||||||
Translator.toLocale(GepafinConstant.INVALID_REQUEST)));
|
Translator.toLocale(GepafinConstant.INVALID_REQUEST)));
|
||||||
samlResponseLogEntity.setStatus(SamlResponseStatusEnum.FAILED.getValue());
|
samlResponseLogEntity.setStatus(SamlResponseStatusEnum.FAILED.getValue());
|
||||||
samlResponseRepository.save(samlResponseLogEntity);
|
samlResponseRepository.save(samlResponseLogEntity);
|
||||||
|
HubEntity hub = hubService.getHubByUuid(samlResponseLogEntity.getHubUuid());
|
||||||
|
if (Boolean.FALSE.equals(StringUtils.isEmpty(hub.getDomainName()))) {
|
||||||
|
feBaseUrl = hub.getDomainName();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
response.sendRedirect(feBaseUrl + "/login");
|
response.sendRedirect(feBaseUrl + "/login");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ public interface UserApi {
|
|||||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(summary = "Api to login user",
|
@Operation(summary = "Api to login user Changed the URL to identify the deployment issue",
|
||||||
responses = {
|
responses = {
|
||||||
@ApiResponse(responseCode = "200", description = "OK"),
|
@ApiResponse(responseCode = "200", description = "OK"),
|
||||||
@ApiResponse(responseCode = "400", description = "Bad Request"),
|
@ApiResponse(responseCode = "400", description = "Bad Request"),
|
||||||
|
|||||||
Reference in New Issue
Block a user