一、实现流程
二、git中下载sp程序,部署服务,并调试,确保与idp可以通信。
1、下载地址
https://github.com/vdenotaris/spring-boot-security-saml-sample
2、配置证书,修改 \src\main\resources\update-certifcate.sh,并运行,会根据配置生成jks证书。解决SSL peer failed hostname validation for name: null错误
注:update-certifcate.sh解释:从IDP_HOST、IDP_PORT的地址获取证书存入临时ssocircle.cert中,根据ssocircle.cert生成samlKeystore.jks文件。
如果自己有cert证书,请修改update-certifcate.sh 根据自己的cert证书生成 jks。
3、修改WebSecurityConfig.java
String idpSSOCircleMetadataURL = "自己idp地址"; //指向 federationmetadata.xml
HTTPMetadataProvider httpMetadataProvider = new HTTPMetadataProvider(this.backgroundTaskTimer, httpClient(), idpSSOCircleMetadataURL);
extendedMetadataDelegate.setMetadataTrustCheck(false); // 不改成false好像不能过
4、部署并启动
5、访问 http://localhost:8080/saml/metadata 下载 spring_saml_metadata.xml,并在idp中进行配置。(通信需要)。
6、修改LandingController方法
@RequestMapping("/landing")
public String landing