Cloudstek / scim-filter-parser

Parser for the SCIM (IETF RFC 7644, System for Cross-domain Identity Management) filter language.
https://cloudstek.github.io/scim-filter-parser-docs/index.html
MIT License
8 stars 4 forks source link

Add support for fieldnames starting with dollar-sign like $ref #6

Open kapersoft opened 5 months ago

kapersoft commented 5 months ago

In my project a patch request is received from a third-party tool where the $ref-field is used to select the group member for removal:

{
    "schemas":
    [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations":
    [
        {
            "op": "remove",
            "path": "members[$ref eq \"https://example.com/v2/Users/d46e22f1-74ab-4179-a576-a441a136a9d9\"]"
        }
    ]
}

The parser cannot parse this property and throws the following exception: Nette\Tokenizer\Exception: Unexpected '$ref eq "h' on line 1, column 9.

This PR fixes this issue by updating the T_NAME-regex. A test is added as prove.