示例#1
0
 /**
  * @param ServiceInfo $serviceInfo
  * @param string $nameID
  * @param string $sessionIndex
  * @return SSOState[]
  */
 protected function getSSOState(ServiceInfo $serviceInfo, $nameID, $sessionIndex)
 {
     if ($sessionIndex) {
         $result = array();
         $state = $this->ssoStore->getOneByNameIDSessionIndex($serviceInfo->getProviderID(), $serviceInfo->getAuthenticationService(), $nameID, $sessionIndex);
         if ($state) {
             $result[] = $state;
         }
     } else {
         $result = $this->ssoStore->getAllByNameID($serviceInfo->getProviderID(), $serviceInfo->getAuthenticationService(), $nameID);
     }
     return $result;
 }
示例#2
0
 /**
  * @test
  */
 public function shouldAllowGetAuthenticationServiceWithValueFromConstructor()
 {
     $si = new ServiceInfo($expectedProviderID = 'main', $expectedIDPID = 'idp', $expectedSPProvider = $this->createEntityDescriptorProviderMock(), $expectedIDPProvider = $this->createEntityDescriptorProviderMock(), $expectedSPMeta = $this->createSpMetaProviderMock(), $expectedSigning = $this->createSPSigningProviderMock());
     $this->assertEquals($expectedIDPID, $si->getAuthenticationService());
 }
 protected function createSSOState(ServiceInfo $serviceInfo, Assertion $assertion)
 {
     $ssoState = $this->ssoStore->create();
     $ssoState->setNameID($assertion->getSubject()->getNameID()->getValue());
     $ssoState->setNameIDFormat($assertion->getSubject()->getNameID()->getFormat() ?: '');
     $ssoState->setAuthenticationServiceName($serviceInfo->getAuthenticationService());
     $ssoState->setProviderID($serviceInfo->getProviderID());
     $ssoState->setSessionIndex($assertion->getAuthnStatement()->getSessionIndex());
     $this->ssoStore->set($ssoState);
     return $ssoState;
 }