FWIW, we were once a Shib shop. Then we went to SimpleSAMLphp for the SAML piece while CAS served only the CAS protocol. We have since moved everything into CAS starting in 6.1. The config is very versatile in the service properties. We have some interesting vendors who want the craziest names for attributes and we have never had an issue meeting the need.
A lot of our configs were built with the CAS Management app that uses HJSON in the properties files. Frankly, that format is much more intuitive since there is a lot less eye-twisting punctuation than traditional JSON.
Happy to help, if needed.
Bill