This bug was introduced in v0.18.0, when the AuthConfig controller was updated to work with v1beta2 type (previously (v1beta1), thus activating the option to set static values to JSON/YAML types other than strings. The conversion functions used in the features listed above were overlooked in the process and remain naively treating static values (stored in Golang interface{} variables) as if they were always strings.
Before the fix, attributes such as subjectaccessreview.spec.user were being stringified as "{\"john\" <nil>}", which is the direct print out of the RawExtension type in Golang as string.
Fixes conversion of
ValueOrSelector.Value
(based onruntime.RawExtension
) to string, used at the following configs:This bug was introduced in v0.18.0, when the AuthConfig controller was updated to work with
v1beta2
type (previously (v1beta1
), thus activating the option to set static values to JSON/YAML types other than strings. The conversion functions used in the features listed above were overlooked in the process and remain naively treating static values (stored in Golanginterface{}
variables) as if they were always strings.Verification steps
Check the Authorino logs. You should spot en entry like the following:
Before the fix, attributes such as
subjectaccessreview.spec.user
were being stringified as"{\"john\" <nil>}"
, which is the direct print out of theRawExtension
type in Golang as string.