GUACAMOLE-103: Redirect for login if response hash is not present.

This commit is contained in:
Virtually Nick
2020-06-24 15:19:10 -04:00
parent 27603dc2ac
commit 1f0174afea

View File

@@ -115,17 +115,10 @@ public class AuthenticationProviderService {
// Look for the SAML Response parameter. // Look for the SAML Response parameter.
String responseHash = request.getParameter("responseHash"); String responseHash = request.getParameter("responseHash");
if (responseHash != null) { if (responseHash != null && samlResponseMap.hasSamlResponse(responseHash)) {
try { try {
// Generate the response object
if (!samlResponseMap.hasSamlResponse(responseHash)) {
logger.warn("SAML response was not found.");
logger.debug("SAML response hash {} not found in response map.", responseHash);
throw new GuacamoleServerException("Provided response was not found in response map.");
}
SamlResponse samlResponse = samlResponseMap.getSamlResponse(responseHash); SamlResponse samlResponse = samlResponseMap.getSamlResponse(responseHash);
if (!samlResponse.validateNumAssertions()) { if (!samlResponse.validateNumAssertions()) {
@@ -199,7 +192,7 @@ public class AuthenticationProviderService {
} }
} }
// No SAML Response is present, so generate a request. // No SAML Response is present, or hash is not present in map.
AuthnRequest samlReq = new AuthnRequest(samlSettings); AuthnRequest samlReq = new AuthnRequest(samlSettings);
URI authUri; URI authUri;
try { try {