keycloak-protocol-cas
keycloak-protocol-cas copied to clipboard
Implement proxy ticket service and proxy ticket validation
Proxy ticket granting and validation is a mandatory CAS 2.0 feature and should be supported. However not many clients use it and it is not required for basic SSO functionality.
The basic flow is the following:
- An intermediary service (proxy) requests a proxy granting ticket (PGT) for a user upon his call to
serviceValidate
during user login - The proxy stores the PGT with the user session
- At a later point, the proxy can use this PGT to request service tickets from the IP (Keycloak) for a 3rd party service in the name of the user by calling
/proxy
- The proxy can now call an API on the 3rd party service using the user's credentials
- The 3rd party service calls
/proxyValidate
instead of/serviceValidate
to validate the proxy ticket
Affects the following endpoints:
-
/proxy
[CAS 2.0] -
/proxyValidate
[CAS 2.0]
Web flow diagram: https://apereo.github.io/cas/4.2.x/protocol/CAS-Protocol.html#proxy-web-flow-diagram CAS specification link: https://apereo.github.io/cas/5.0.x/protocol/CAS-Protocol-Specification.html#proxyvalidate-cas-20
It seems one project to come will need this feature to work. Have you found any time to spend on its implementation ?
Sorry, there has been no progress in implementing support for the CAS proxy flow. This is a complex feature that is not widely used, and has mostly been replaced by OAuth.
If possible, I would recommend switching your project to standardized OAuth 2.0 authentication. But contributions are always welcome! I don't think I will find the time to implement this in the near future.
thank you for your response, unfortunately, this upcoming application won't evolve to support oauth2.0 in a near future. I'm not sure i have the skills to develop this, i will try try to have a look.