Spring Security SAML2 идентификатор объекта не найден - PullRequest
0 голосов
/ 27 июня 2018

Я работаю над тем, чтобы приложение Spring Boot (v. 2.0.1) работало с поставщиком единого входа. Когда я пытаюсь попасть на страницу входа, я получаю следующую ошибку:

Нет настроенного поставщика услуг и псевдоним не выбран

и когда я пытаюсь перейти на страницу обнаружения, я получаю следующую ошибку:

Необходимо указать параметр ID организации

Кажется, что оба из-за отсутствующего entityID. Для меня не ясно, отсутствует ли это идентификатор объекта SP или IDP. Мое приложение устанавливает entityId в bean-компоненте так:

@Bean
fun metadataGenerator():MetadataGenerator {
    val metadataGenerator = MetadataGenerator()
    metadataGenerator.entityId = "my:custom:entity:id"
    metadataGenerator.extendedMetadata = extendedMetadata()
    metadataGenerator.isIncludeDiscoveryExtension = true
    metadataGenerator.setKeyManager(keyManager())
    return metadataGenerator
}

И XML метаданных IDP читается (я вижу, что он анализируется в какой-то момент во время запуска) и содержит entityID.

Где-то по пути, какой-то entityID теряется и создает эти ошибки. Кажется, я не могу отследить, как это происходит.

1 Ответ

0 голосов
/ 28 июня 2018

Пропущенный entityID должен быть идентификатором IDP.

Правильно ли настроен ваш CachingMetadataManager? Убедитесь, что IDP добавлен как MetadataProvider. И ExtendedMetadata IDP должен установить для idpDiscoveryEnabled значение true

...