diff --git a/lib/SAML2/Assertion.php b/lib/SAML2/Assertion.php index e08c87e5a4c71ff479ca1eff6f7d760bd0ca12b5..327e104a071ffb3dc439750c5aa203405aef63e6 100644 --- a/lib/SAML2/Assertion.php +++ b/lib/SAML2/Assertion.php @@ -194,7 +194,7 @@ class SAML2_Assertion implements SAML2_SignedElement { if (empty($issuer)) { throw new Exception('Missing <saml:Issuer> in assertion.'); } - $this->issuer = $issuer[0]->textContent; + $this->issuer = trim($issuer[0]->textContent); $this->parseSubject($xml); $this->parseConditions($xml); @@ -316,7 +316,7 @@ class SAML2_Assertion implements SAML2_SignedElement { case 'AudienceRestriction': $audiences = SAML2_Utils::xpQuery($node, './saml:Audience'); foreach ($audiences as &$audience) { - $audience = $audience->textContent; + $audience = trim($audience->textContent); } if ($this->validAudiences === NULL) { /* The first (and probably last) AudienceRestriction element. */ @@ -388,7 +388,7 @@ class SAML2_Assertion implements SAML2_SignedElement { } $accr = $accr[0]; - $this->authnContext = $accr->textContent; + $this->authnContext = trim($accr->textContent); } @@ -428,7 +428,7 @@ class SAML2_Assertion implements SAML2_SignedElement { $values = SAML2_Utils::xpQuery($attribute, './saml:AttributeValue'); foreach ($values as $value) { - $this->attributes[$name][] = $value->textContent; + $this->attributes[$name][] = trim($value->textContent); } } } diff --git a/lib/SAML2/AttributeQuery.php b/lib/SAML2/AttributeQuery.php index 69b31bb6358b8fe90b474648ac52b92d58c22fcb..3be052bd3ede6db884d7f46ab916b5b3f7ce0b52 100644 --- a/lib/SAML2/AttributeQuery.php +++ b/lib/SAML2/AttributeQuery.php @@ -82,7 +82,7 @@ class SAML2_AttributeQuery extends SAML2_SubjectQuery { $values = SAML2_Utils::xpQuery($attribute, './saml:AttributeValue'); foreach ($values as $value) { - $this->attributes[$name][] = $value->textContent; + $this->attributes[$name][] = trim($value->textContent); } } } diff --git a/lib/SAML2/LogoutRequest.php b/lib/SAML2/LogoutRequest.php index f239c9a01d4ab73209f95a0cadb62ac242e6a54a..c0718e45be68097ee1ec9fad835b1a33615688ac 100644 --- a/lib/SAML2/LogoutRequest.php +++ b/lib/SAML2/LogoutRequest.php @@ -45,7 +45,7 @@ class SAML2_LogoutRequest extends SAML2_Request { $sessionIndex = SAML2_Utils::xpQuery($xml, './samlp:SessionIndex'); if (!empty($sessionIndex)) { - $this->sessionIndex = $sessionIndex[0]->textContent; + $this->sessionIndex = trim($sessionIndex[0]->textContent); } } diff --git a/lib/SAML2/Message.php b/lib/SAML2/Message.php index 735b9ac65acbd8226b84875767cd3f697fff0932..b135eca87cdd041a8726da515b69269c9d2e3d4f 100644 --- a/lib/SAML2/Message.php +++ b/lib/SAML2/Message.php @@ -142,7 +142,7 @@ abstract class SAML2_Message implements SAML2_SignedElement { $issuer = SAML2_Utils::xpQuery($xml, './saml:Issuer'); if (!empty($issuer)) { - $this->issuer = $issuer[0]->textContent; + $this->issuer = trim($issuer[0]->textContent); } diff --git a/lib/SAML2/StatusResponse.php b/lib/SAML2/StatusResponse.php index 8093da30cb804b0ad8e957b449ecd30a0c18f004..cb742213690c86b85fd193d8bdf8e8ed37f1e540 100644 --- a/lib/SAML2/StatusResponse.php +++ b/lib/SAML2/StatusResponse.php @@ -83,7 +83,7 @@ abstract class SAML2_StatusResponse extends SAML2_Message { $message = SAML2_Utils::xpQuery($status, './samlp:StatusMessage'); if (!empty($message)) { - $this->status['Message'] = $message[0]->textContent; + $this->status['Message'] = trim($message[0]->textContent); } } diff --git a/lib/SAML2/Utils.php b/lib/SAML2/Utils.php index 84bfa347b4dad42992f30f2bfaebefa2b7ae7ab8..f62a060527297bdc7a6fab7604f982fd866e591c 100644 --- a/lib/SAML2/Utils.php +++ b/lib/SAML2/Utils.php @@ -68,7 +68,7 @@ class SAML2_Utils { /* Now we extract all available X509 certificates in the signature element. */ $certificates = array(); foreach (self::xpQuery($signatureElement, './ds:KeyInfo/ds:X509Data/ds:X509Certificate') as $certNode) { - $certData = $certNode->textContent; + $certData = trim($certNode->textContent); $certData = str_replace(array("\r", "\n", "\t", ' '), '', $certData); $certificates[] = $certData; } @@ -198,7 +198,7 @@ class SAML2_Utils { */ public static function parseNameId(DOMElement $xml) { - $ret = array('Value' => $xml->textContent); + $ret = array('Value' => trim($xml->textContent)); foreach (array('NameQualifier', 'SPNameQualifier', 'Format') as $attr) { if ($xml->hasAttribute($attr)) {