第一:
AzureAd和GoogleWorkspace针对saml2协议中,关于URL比较时的实现有点不同。
AzureAd这边如果是下面的情况的话,结果是能匹配一致的。
AssertionConsumerServiceURL: https://www.test.com:433/saml/sso
Reply URL:https://www.test.com/saml/sso
GoogleWorkspace这边是不能匹配一致的。只能是两边同时去掉端口,或者同时有端口时才能匹配上。
AssertionConsumerServiceURL: https://www.test.com:433/saml/sso
ACS URL:https://www.test.com/saml/sso
第二:
如果想去掉AssertionConsumerServiceURL中的80端口或者443端口,可以设置metadataGeneratorFilter中的normalizebaseUrl属性为true。
@Bean
public metadataGeneratorFilter metadataGeneratorFilter() throws Exception {
metadataGeneratorFilter metadataGeneratorFilter = new metadataGeneratorFilter(metadataGenerator());
metadataGeneratorFilter.setNormalizebaseUrl(true);
return metadataGeneratorFilter;
}
References
SES-121: only include non-standard ports in generated metadata · Issue #110 · spring-projects/spring-security-saml · GitHub
metadataGeneratorFilter (Spring Security SAML 1.0.10.RELEASE API)



