-
Notifications
You must be signed in to change notification settings - Fork 52
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
Support Keycloak UMA flow internally #317
Comments
Thanks for creating issue! Yeah i was thinking about UMA with redirects but i didn't know if anybody is using it so haven't implemented it yet, but now i know that somebody is using it :), will look at it, i need to find out good examples/docs for proper implementation. |
in the meantime gogatekeeper has integration with OPA (open policy agent) by which you can scalably manage authorizations with policies |
Thank you :) |
Seems to already support UMA flow when forwarding is enabled What we need is the following:
Does that logic make sense? |
:) forwarding mode works a little bit differently compared to browser based scenario, we will need to set up cookies+think also about refreshing RPT token+right now RPT token is acquired for specific resource, what if you will already have access/refresh token but you will access different resource, you will need to get new RPT token, so it is not just steps you wrote, additionally i had to refactor a little bit code because i will need to add additional steps related to this UMA and it was already messy (original project code was quite messy...) |
Yes true :D |
still working on it ;) |
@daniel-pimenta-DME UMA code flow should be now finished, i tried to make it more simple, less configuration, compared what i saw for keycloak adapter docu, but it has some limitations. 1. per URL it matches only one resource in keycloak (so you must not have several resources with same URI under same client), 2. you should always have one permission per resource and right now gatekeeper can pass only one scope "method:" by which you access resource, enabled with |
created 2.7.0-rc2 release=image |
Thank you :)
What would happen with one resource for /admin/* and another for /admin/1, and then try to access admin/1 |
there is already 2.7.0 release/image, that would not work (it will be forbidden) because /admin/v1 path would match both resources, i understand that if you want to make exception this is easy way to do it but also could make things messy and error prone e.g. if i will have two matching resources which one should i choose?? probably some wise way would be more specific path, but then what about x-level nested resources, then evaluation time might be quite long+again error prone |
Works well, thank you :D |
Title
Support Keycloak UMA flow internally
Summary
I noticed a Keycloak UMA section on documentation https://gogatekeeper.github.io/gatekeeper/userguide/#keycloak-authorization-uma, but is a bit limited from what i understood.
My request is for Gatekeeper to perform UMA flow internally (steps 1, 2, 3, 4 from https://gogatekeeper.github.io/gatekeeper/userguide/#keycloak-authorization-uma)
Why?
Would allow dynamic resource configuration and would leverage Keycloak UI to define resources and permissions.
How
Do steps 1, 2, 3, 4 internally when necessary.
Remove the forcing of --no-redirects since it's needed for sign-in authentication.
Acceptance criteria
Perform UMA flow without external code or requests being needed.
The text was updated successfully, but these errors were encountered: