I'm doing a similar search and overall they appear to be very similar, meaning that any one of them probably wouldn't be a bad choice:
- Support for similar protocols (OpenID Connect, OAuth2, SAML 2)
- Admin UI
- Support for multi-factor authentication
- Support for identity brokering/delegation
- Open source with commercial support available
I'm documenting my results here, but I'll try to highlight my main takeaways:
WSO2 Identity Server
Unfortunately what set it apart for me were the red flags that popped up as I looked into it:
- The downloadable binaries on their site don't appear to include the latest security patches. While you could compile and package yourself from the source code, it's not clear if the latest security patches are open-sourced. (http://lists.jboss.org/pipermail/keycloak-user/2016-August/007281.html)
- It appears to run on its own middleware (WSO2 Carbon)
, which means you wouldn't be able to leverage existing expertise on Tomcat, WildFly, Jetty, etc. (WSO2 Carbon appears to be based on Tomcat)
No support for OpenJDK (this has become an issue due to recent changes to availability of Oracle Java)
Latest versions are untested on server OSes
- According to their compatibility matrix, it's tested on Windows 8, 10, Ubuntu, Fedora (all desktop OSes)
- This continues to appear to be the case, but I don't think there's any reason to believe WSO2 Identity Server won't work on server OSes.
Gluu
Gluu is different from many other products in that they've taken a number of other open-source products, added some of their own pieces, and packaged it all together. I was hesitant to even try it because I was concerned about how well all the pieces would interact and how well Gluu would be able to support components that were built by somebody else.
One such component is Shibboleth IdP, which Gluu relies on for SAML. At the time of my original inquiry, Shibboleth IdP did not support OpenJDK, and so I was concerned that Gluu would have the same limitation. While Shibboleth IdP now provides partial support for OpenJDK, it appears Gluu does not yet support it:
we don't QA OpenJDK. So if you make that switch, we can't support it.
https://support.gluu.org/installation/7035/replace-oracle-java-with-openjdk/
My concerns caused me to pass on Gluu during my own inquiry, but I would encourage you to read Mike Schwartz's answer for a different perspective.
Keycloak
Unlike Gluu, Keycloak was designed from the ground up as a single product. It's also the only product out of the 3 that supports OpenJDK. (As already noted, this is no longer true)
Keycloak seemed like the best fit for my situation so it was the only one of the three that I actually tried.
I ran into a couple small bugs and noticed on a couple occasions that the documentation wasn't specific enough to fully walk me through the task at hand. That may be a result of its relative immaturity (the first release was September 2014), but in spite of this it felt like a solid product overall.
Others
I don't have expertise in these, but based on the other products you listed, these may interest you as well: