From 8b265c97890e021007f3e4dc89f6b9f96a5a370d Mon Sep 17 00:00:00 2001 From: Pritam Neog Date: Sat, 11 Jun 2022 15:44:14 +0530 Subject: [PATCH] fix for google idp saml redirect url --- .../src/main/java/org/apache/cloudstack/saml/SAMLUtils.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/saml/SAMLUtils.java b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/saml/SAMLUtils.java index cbbdbd28bf8a..00225dec06ba 100644 --- a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/saml/SAMLUtils.java +++ b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/saml/SAMLUtils.java @@ -150,6 +150,9 @@ public static String buildAuthnRequestUrl(final String authnId, final SAMLProvid if (spMetadata.getKeyPair() != null) { privateKey = spMetadata.getKeyPair().getPrivate(); } + if (idpMetadata.getEntityId().startsWith("https://accounts.google.com/o/saml2?idpid=")) { + redirectUrl = idpMetadata.getSsoUrl() + SAMLUtils.generateSAMLRequestSignature(SAMLUtils.encodeSAMLRequest(authnRequest), privateKey, signatureAlgorithm); + } redirectUrl = idpMetadata.getSsoUrl() + "?" + SAMLUtils.generateSAMLRequestSignature("SAMLRequest=" + SAMLUtils.encodeSAMLRequest(authnRequest), privateKey, signatureAlgorithm); } catch (ConfigurationException | FactoryConfigurationError | MarshallingException | IOException | NoSuchAlgorithmException | InvalidKeyException | java.security.SignatureException e) { s_logger.error("SAML AuthnRequest message building error: " + e.getMessage());