ppl: support special characters in claim keys

This commit is contained in:
Caleb Doxsey 2022-09-30 14:58:59 -06:00
parent 3b2cc6720a
commit af7f841b71
2 changed files with 29 additions and 0 deletions

View file

@ -176,7 +176,12 @@ func ObjectGet() *ast.Rule {
return ast.MustParseRule(`
# object_get is like object.get, but supports converting "/" in keys to separate lookups
# rego doesn't support recursion, so we hard code a limited number of /'s
object_get(obj, key, def) = value {
undefined := "10a0fd35-0f1a-4e5b-97ce-631e89e1bafa"
value = object.get(obj, key, undefined)
value != undefined
} else = value {
segments := split(replace(key, ".", "/"), "/")
count(segments) == 2
o1 := object.get(obj, segments[0], {})