И Keycloak, и Okta должны предоставить то, что вы ищете.Я не уверен насчет CAS, поскольку я не использовал его в течение 10 лет.Поскольку и Keycloak, и Okta используют OAuth 2.0 / OIDC, вы, возможно, даже сможете использовать Keycloak в разработке, а Okta в производстве.
Я реализовал поддержку OAuth 2.0 / OIDC в JHipster ,Он использует Keycloak (в контейнере Docker) по умолчанию, и предоставляет инструкции для переключения на Okta .Благодаря возможностям Spring Security и Spring Boot вам нужно только переопределить некоторые свойства для переключения между ними!