/**
  * @param string $ownEntityId
  * @param array  $arrIsIdp
  *
  * @return SsoState
  */
 private function buildSsoState($ownEntityId, array $arrIsIdp)
 {
     $ssoState = new SsoState();
     foreach ($arrIsIdp as $isIdp) {
         $otherEntityId = 'other.' . mt_rand(1000, 9999);
         if ($isIdp) {
             $ssoState->addSsoSession((new SsoSessionState())->setIdpEntityId($ownEntityId)->setSpEntityId($otherEntityId));
         } else {
             $ssoState->addSsoSession((new SsoSessionState())->setIdpEntityId($otherEntityId)->setSpEntityId($ownEntityId));
         }
     }
     return $ssoState;
 }
 /**
  * @param SsoState  $ssoState
  * @param Assertion $assertion
  * @param \DateTime $now
  * @param string    $ownEntityId
  * @param string    $partyEntityId
  *
  * @return SsoSessionState
  */
 protected function createSession(SsoState $ssoState, Assertion $assertion, \DateTime $now, $ownEntityId, $partyEntityId)
 {
     $ssoSession = new SsoSessionState();
     $ssoSession->setIdpEntityId($partyEntityId)->setSpEntityId($ownEntityId)->setNameId($assertion->getSubject()->getNameID()->getValue())->setNameIdFormat($assertion->getSubject()->getNameID()->getFormat())->setSessionIndex($assertion->getFirstAuthnStatement()->getSessionIndex())->setSessionInstant($assertion->getFirstAuthnStatement()->getAuthnInstantDateTime())->setFirstAuthOn($now)->setLastAuthOn($now);
     $ssoState->addSsoSession($ssoSession);
     return $ssoSession;
 }
Exemple #3
0
 /**
  * @param array $arrIdp
  * @param array $arrSp
  *
  * @return SsoState
  */
 private function buildAllStateCombinations(array $arrIdp, array $arrSp)
 {
     $state = new SsoState();
     foreach ($arrIdp as $idp) {
         foreach ($arrSp as $sp) {
             $state->addSsoSession($session1 = (new SsoSessionState())->setIdpEntityId($idp)->setSpEntityId($sp));
         }
     }
     return $state;
 }