private function startDisco(array $state)
{
$id = SimpleSAML_Auth_State::saveState($state, 'saml:sp:sso');
$config = SimpleSAML_Configuration::getInstance();
$discoURL = $this->discoURL;
if ($discoURL === NULL) {
/* Fallback to internal discovery service. */
$discoURL = SimpleSAML\Module::getModuleURL('saml/disco.php');
}
$returnTo = SimpleSAML\Module::getModuleURL('saml/sp/discoresp.php', array('AuthID' => $id));
$params = array('entityID' => $this->entityId, 'return' => $returnTo, 'returnIDParam' => 'idpentityid');
if (isset($state['saml:IDPList'])) {
$params['IDPList'] = $state['saml:IDPList'];
}
if (isset($state['isPassive']) && $state['isPassive']) {
$params['isPassive'] = 'true';
}
\SimpleSAML\Utils\HTTP::redirectTrustedURL($discoURL, $params);
}