#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
, чтобы она всегда была общедоступной.