-
Notifications
You must be signed in to change notification settings - Fork 4
Adding support for mapping SAML groups #66
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
base: main
Are you sure you want to change the base?
Adding support for mapping SAML groups #66
Conversation
|
Hi @emilhdiaz , thanks for the PR. |
|
@lyang Thanks for responding. I'm happy to help with the test coverage if you think the changes are headed in the right direction. |
|
Correct me if I'm wrong. My understanding is that, you not only want to extract a certain (multi-valued) attribute from the response, but also transform the individual raw values in some way. For e.g. if the response returned a
I need to think about the second part a bit more. Thanks! |
|
Hi @lyang. Yes, that is precisely the idea here: extract a multivalue attribute and translate the values.
Thanks! |
|
Just to update, I'm still thinking about a more generalized solution for this, for e.g. what if someone want the value converted to upper or lower case, instead of a static look up? |
|
That is a good point. I guess it would depend on how expressive you'd want the transformation expressions to be: Single Finite OperationsWe could consider simply adding additional mapping configuration options such as Multiple/Chained but Finite OperationsHowever, if you're thinking of a more generalized transformation language, that would allow for combinations of operations then I think we'd have to consider supporting a list of rules with a simple expression language. Perhaps something like this: NOTE:
Unbound OperationsNow, if we're talking full access to turing complete language then we're likely using Ruby's |
|
|





@lyang this PR adds support for mapping a list of groups/roles in the SAML response to a list of groups/roles that the application expects.
I was able to use this to map group IDs returned by my SAML IdP into application roles expected by my application.