Конечная точка метаданных SAML2 в Spring Security 5.4.0-RC1 по умолчанию не включена

#spring-security

#spring-безопасность

Вопрос:

Я хотел попробовать новую конечную точку метаданных SAML2 в Spring Security 5.4.0-RC1 (с Spring Boot 2.3.2), но доступ /saml2/service-provider-metadata/{registrationId} возвращает 404.

Мне пришлось добавить фильтр самостоятельно, вот так:

 @Bean
public Saml2MetadataFilter saml2MetadataFilter(RelyingPartyRegistrationRepository repository) {
    return new Saml2MetadataFilter(new DefaultRelyingPartyRegistrationResolver(repository), new OpenSamlMetadataResolver());
}
  

Тогда конечная точка метаданных работает так, как ожидалось.

Это сделано специально или отсутствует конфигурация с моей стороны или в Spring Security?

Я искал Saml2MetadataFilter в репозитории spring security на GitHub, но нашел его только в тесте.

Ответ №1:

Отвечая на мой собственный вопрос: Документация Spring Security SAML2 теперь дополнена инструкциями о том, как включить конечную точку метаданных.

https://docs.spring.io/spring-security/site/docs/5.4.0/reference/html5/#servlet-saml2login-metadata

Убедитесь, что эта инструкция Saml2MetadataFilter добавлена перед Saml2WebSsoAuthenticationFilter , чтобы она всегда была общедоступной.