/** * @param Subject $subject * * @throws LightSamlValidationException * * @return void */ public function validateSubject(Subject $subject) { if (false == $subject->getNameID() && false == $subject->getAllSubjectConfirmations()) { throw new LightSamlValidationException('Subject MUST contain either an identifier or a subject confirmation'); } if ($subject->getNameID()) { $this->nameIdValidator->validateNameId($subject->getNameID()); } foreach ($subject->getAllSubjectConfirmations() as $subjectConfirmation) { $this->validateSubjectConfirmation($subjectConfirmation); } }