-
Notifications
You must be signed in to change notification settings - Fork 6
Add external Keycloak functionality #883
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thanks for submitting this PR @alemsh ! Could you please sign the CLA? Also can you take a look at #862 and see how it compares to yours? @tcnichol @longshuicy can you also please take a look at this and compare it to #862. Thanks! |
|
Ah, I had signed it but was using my org email for the commit, had to verify it. I think #862 looks good, but this commit should be for a separate issue, but would be necessary in case the keycloak realm uses something else other than email for a |
deployments/kubernetes/charts/clowder2/templates/backend/deployment.yaml
Show resolved
Hide resolved
Thanks @alemsh , we will take a closer look. Would you be able to test #862 in your environment? Thank you. |
Sure thing @longshuicy . Should we also add the |
Yes that will be awesome. Nice catch :D |
tcnichol
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
marking approved ready to merge.

Premise
Currently, clowder2 relies on an internal keycloak instance for handling authentication, but does not have functionality for using an existing keycloak instance. This should be pretty simple but requires a few changes to some of the requests made back to the keycloak server for oauth2 flow.
Changes
authandtokenrequests to use thepython-keycloakpackagesKeycloakOpenIDobject to construct these URLs/requests.auth_redirect_urienvironment variable instead of constructing it in each requestvalues.yamlto include anauthsection to override theauth_server_urlenvironment variable, as well as add environment variables forauth_realm,auth_client_id,auth_redirect_uriComments
Tested this with docker compose, and both local and external keycloak instances in kubernetes deployed with helm in kubernetes