public function validate($token) { $data = $this->parseToken($token); // validate digest and thumbprint $assertion = new SAML2_Assertion($data['Assertion']); $certificates = $assertion->getCertificates(); $this->validateCertificateThumbprint($certificates[0]); // validate issuer if ($this->validateIssuer) { $this->validateIssuer($assertion->getIssuer()); } // validate audiences if ($this->validateAudiences) { $this->validateAudiences($assertion->getValidAudiences(), $assertion->getNotBefore(), $assertion->getNotOnOrAfter()); } return $this->getClaims($data); }