/** * @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; }
/** * @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; }