Kuadrant / authorino

K8s-native AuthN/AuthZ service to protect your APIs.
Apache License 2.0
201 stars 32 forks source link

Support for Common Expression Language (CEL) #475

Closed guicassolato closed 3 weeks ago

guicassolato commented 4 months ago

Add support for Common Expression Language (CEL) as alternative for all selectors currently based on tidwall/gjson, including:

CEL as a superset of gjson-powered Authorino features

TBC – All gjson-powered features supported in Authorino can be modeled and supported in CEL. Special attention to be given to gjson's modifiers and custom ones introduced by Authorino.

Should CEL paths become the standard?

To keep backward compatibility, maybe the paths specified in CEL can be prefixed with cel:, until slowly transitioned to become the default, when either we can drop support to gjson or introduce a prefix for it to keep being supported.

alexsnaps commented 4 months ago

wrt modifiers, I think these can be custom functions we add to the cel interpreter. I'd suggest we keep these align across the "runtimes" tho, i.e. have them being kuadrant-wide extensions (wasm-shim, limitador, ...)