I need to upgrade OPENSAML to 5.1.2 from 2.5.3 to support Java 17 as our project has been upgraded to Java 17. While I try to upgrade OPENSAML I am facing issues which are listed below
Not sure where can I find proper documentation on how to upgrade to latest version.
If anyone is using OPENSAML-5.1.2 request you to provide some inputs.
I was facing the same issue, and after trying different repositories the Shibboleth repository worked for me. (I put it below maven so all my other dependencies are pulled properly from maven)
<repositories>
<repository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
<repository>
<id>shibboleth-releases</id>
<url>https://build.shibboleth.net/maven/releases/</url>
</repository>
</repositories>
Then you can just import OpenSAML like follows:
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-saml-api</artifactId>
<version>5.1.2</version>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-saml-impl</artifactId>
<version>5.1.2</version>
</dependency>
You can explore the Shibboleth repo and check it out as per requirements if necessary (navigate inside org > opensaml): https://build.shibboleth.net/maven/releases/
And about documentation, even I couldn't find proper documentation on the same, the best I could find were the following java docs, (In my case, since I use spring security, I didn't have a pressing need for the lower-level documentation):
EDIT:
And in order to integrate with spring boot you'd use the "spring-security-saml2-service-provider" dependency. It has a small caveat in the sense that this dependency will import its own set of open saml dependencies which will conflict with the ones we are trying to include from shibboleth, so you'd have to exclude them as follows:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-saml2-security-provder</artifactId>
<exclusions>
<exclusion>
<groupId>org.opensaml</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
Hope this helps!