Skip to content

Commit fff2d16

Browse files
committed
Only use discoveries on Wayf to prevent double entries
1 parent 7208575 commit fff2d16

File tree

2 files changed

+2
-105
lines changed

2 files changed

+2
-105
lines changed

library/EngineBlock/Corto/Module/Service/SingleSignOn.php

Lines changed: 0 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -516,23 +516,8 @@ protected function _transformIdpsForWayf(array $idpEntityIds, $isDebugRequest, $
516516
continue;
517517
}
518518

519-
$additionalInfo = AdditionalInfo::create()->setIdp($identityProvider->entityId);
520-
521519
$isAccessible = $identityProvider->enabledInWayf || $isDebugRequest;
522520

523-
$name = $this->getName($currentLocale, $identityProvider, $additionalInfo);
524-
525-
$wayfIdp = $this->buildIdp(
526-
$name,
527-
$identityProvider->getMdui()->hasLogo() ? $identityProvider->getMdui()->getLogo()->url : '/images/placeholder.png',
528-
$this->getKeywords($currentLocale, $identityProvider),
529-
$identityProvider->entityId,
530-
$isAccessible,
531-
$isDefaultIdP,
532-
null
533-
);
534-
$wayfIdps[] = $wayfIdp;
535-
536521
foreach ($identityProvider->getDiscoveries() as $discovery) {
537522
/** @var Discovery $discovery */
538523
$wayfIdps[] = $this->buildIdp(
@@ -609,96 +594,6 @@ protected function _sendDebugMail(EngineBlock_Saml2_ResponseAnnotationDecorator
609594
$diContainer->getMailer()->send($message);
610595
}
611596

612-
private function getName(string $locale, IdentityProvider $identityProvider, AdditionalInfo $additionalInfo)
613-
{
614-
switch ($locale) {
615-
case "nl":
616-
return $this->getNameNl($identityProvider, $additionalInfo);
617-
case "en":
618-
return $this->getNameEn($identityProvider, $additionalInfo);
619-
case "pt":
620-
return $this->getNamePt($identityProvider, $additionalInfo);
621-
default:
622-
throw new EngineBlockBundleInvalidArgumentException(
623-
sprintf('Trying to get the IdP name for an unsupported language (%s)', $locale)
624-
);
625-
}
626-
}
627-
628-
private function getNameNl(
629-
IdentityProvider $identityProvider,
630-
AdditionalInfo $additionalLogInfo
631-
) {
632-
if ($identityProvider->getMdui()->hasDisplayName('nl')) {
633-
return $identityProvider->getMdui()->getDisplayName('nl');
634-
}
635-
636-
if ($identityProvider->nameNl) {
637-
return $identityProvider->nameNl;
638-
}
639-
640-
EngineBlock_ApplicationSingleton::getLog()->notice(
641-
'No NL displayName and name found for idp: ' . $identityProvider->entityId,
642-
array('additional_info' => $additionalLogInfo->toArray())
643-
);
644-
645-
return $identityProvider->entityId;
646-
}
647-
648-
private function getNameEn(
649-
IdentityProvider $identityProvider,
650-
AdditionalInfo $additionalInfo
651-
) {
652-
if ($identityProvider->getMdui()->hasDisplayName('en')) {
653-
return $identityProvider->getMdui()->getDisplayName('en');
654-
}
655-
656-
if ($identityProvider->nameEn) {
657-
return $identityProvider->nameEn;
658-
}
659-
660-
EngineBlock_ApplicationSingleton::getLog()->notice(
661-
'No EN displayName and name found for idp: ' . $identityProvider->entityId,
662-
array('additional_info' => $additionalInfo->toArray())
663-
);
664-
665-
return $identityProvider->entityId;
666-
}
667-
668-
private function getNamePt(
669-
IdentityProvider $identityProvider,
670-
AdditionalInfo $additionalInfo
671-
) {
672-
if ($identityProvider->getMdui()->hasDisplayName('pt')) {
673-
return $identityProvider->getMdui()->getDisplayName('pt');
674-
}
675-
676-
if ($identityProvider->namePt) {
677-
return $identityProvider->namePt;
678-
}
679-
680-
EngineBlock_ApplicationSingleton::getLog()->notice(
681-
'No PT displayName and name found for idp: ' . $identityProvider->entityId,
682-
array('additional_info' => $additionalInfo->toArray())
683-
);
684-
685-
return $identityProvider->entityId;
686-
}
687-
688-
private function getKeywords(string $locale, IdentityProvider $identityProvider)
689-
{
690-
if ($identityProvider->getMdui()->hasKeywords($locale)) {
691-
return explode(' ', $identityProvider->getMdui()->getKeywords($locale));
692-
}
693-
694-
// Fall back to EN if current language has no keywords
695-
if ($identityProvider->getMdui()->hasKeywords('en')) {
696-
return explode(' ', $identityProvider->getMdui()->getKeywords('en'));
697-
}
698-
699-
return 'Undefined';
700-
}
701-
702597
/**
703598
* @param $serviceName
704599
* @return bool

src/OpenConext/EngineBlockFunctionalTestingBundle/Features/Context/MockIdpContext.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ public function anIdentityProviderNamed($name, string $discoveryName = null)
8888
$discoveries = [];
8989
if ($discoveryName !== null) {
9090
$discoveries[] = Discovery::create(['en' => $discoveryName], [], null);
91+
} else {
92+
$discoveries[] = Discovery::create(['en' => $name], [], null);
9193
}
9294

9395
$mockIdp = $this->mockIdpFactory->createNew($name);

0 commit comments

Comments
 (0)