Я работаю над настройкой SingleLogout с помощью Okta SAML, Spring Boot и Spring Spring (v.2.0.6) для Spring Boot.
Я могу успешно войти в веб-приложение и пройти проверку подлинности с помощью IDP (Okta).
Однако при выходе из моего веб-приложения Spring получает LogoutResponse с неверным кодом состояния.
<saml2p:Status xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol">
<saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:AuthnFailed" /></saml2p:Status>
</saml2p:LogoutResponse
Некоторые из соответствующих bean-компонентов, связанных с метаданными, которые я настроил:
final ExtendedMetadataDelegate extendedMetadataDelegate =
new ExtendedMetadataDelegate(httpMetadataProvider, extendedMetadata());
extendedMetadataDelegate.setMetadataTrustCheck(true);
extendedMetadataDelegate.setMetadataRequireSignature(false);
return extendedMetadataDelegate;
@Bean
public MetadataGenerator metadataGenerator() {
final MetadataGenerator metadataGenerator = new MetadataGenerator();
metadataGenerator.setEntityId(oktaAuthenticationProperties.getServiceProviderEntityId());
metadataGenerator
.setEntityBaseURL(oktaAuthenticationProperties.getServiceProviderEntityBaseUrl());
metadataGenerator.setExtendedMetadata(extendedMetadata());
metadataGenerator.setIncludeDiscoveryExtension(false);
return metadataGenerator;
}
@Bean
public ExtendedMetadata extendedMetadata() {
final ExtendedMetadata extendedMetadata = new ExtendedMetadata();
extendedMetadata.setIdpDiscoveryEnabled(false);
extendedMetadata.setSignMetadata(true);
return extendedMetadata;
}
Это проблема, связанная с проверкой подписи на стороне SP?
мы можем использовать сертификат x.509 от okta, или мы должны вручную создать и подписать сертификат?