Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The `in` and `contains` operators work on multiple data types: strings (as a substring test) and containers (as a membership test). Unfortunately it has been observed that some authorization servers will mix types in their responses which are processed by bexpr in auth binding rules. For example an authorization server may return either: ``` {"Name": "Alice", "Role": "db_admin"} {"Name": "Bob", "Role": ["admin", "foo"]} ``` A binding rule attempting to match on the `admin` role would be written as: ``` admin in Role Role contains admin ``` Unfortunately these bexpr expressions will match *both* Alice and Bob due to substring matching.
- Loading branch information