Hi I need to authenticate HTTP(s) requests using JWT tokens issued by Keycloak.
I’m trying to decide between two community modules: sec-keycloak and sec-oauth2-openid-connect.
My main concern is which module has best chance of long-term maintenance and community support.
Thans for the update. on the keycloak module.
I briefly looked at the JWT token extension,
but I was hesitant to proceed with it since the module isn’t available in any of the prebuilt folders.
The absence of a prebuilt version raises concerns about its reliability and adoption.
Having to compile it myself suggests it may not be well-maintained or widely supported.
We have had difficult attracting funding for these security integration; this is why the two implementations mentioned are not available in the prebuilt folders. They need to have sufficient documentation and test coverage to be included as extensions.
I will caution that the GeoServer 3 roadmap includes a spring security 6 upgrade. As a consequence both OIDC and keycloak security integrations will be marked as end-of-life in GeoServer 2.28.x.
So the module David recommends is very much worth considering; and ideally it could attract support to be made into an extension.
I appreciate your suggestion, - but unfortunately i’m currently not in a position to build geoserver myself. I may get back to it at a later point.
In the meantime im giving sec-oauth2-openid-connect a try.
Thanx for your reply.
Just for the record. - i switched to the JWT header extension ( building it myself).
Once you get all the external dependencies, it works quite smooth.
The logging and documentation though still could use some rework.
That’s great feedback, thanks @TorbenPetersen . Regarding the documentation, how do you think it could be improved? Could you copy the text into Docs/Word, for example, and add comments or changes that you feel would improve it?
Ideally, being an open source project, you should submit a PR with your input, but you can also just provide it to me as a document and I’ll do the final step.