Skip to content

Unexpected exception thrown for valid filter #10

@philiprabbett

Description

@philiprabbett

Using https://scimvalidator.microsoft.com/, a filter request was sent with the following filter which throws an Exception

emails[type eq "work"].value eq "una@sipesbarton.info"

I would assume the above filter is valid however the parser is unable to handle this.

(new Parser(Mode::FILTER()))->parse('emails[type eq "work"].value eq "gerson_nader@strosin.us"')

Request
GET /scim/v2/Users?filter=filter=emails%5Btype%20eq%20%22work%22%5D.value%20eq%20%22gerson_nader%40strosin.us%22

Exception

[Tmilos\ScimFilterParser\Error\FilterException](file:///REDACTED/vendor/tmilos/scim-filter-parser/src/Error/FilterException.php#L14) {#3097 ▼
    #message: "[Syntax Error] line 0, col 22: Error: Expected end of input, got '.'"
    #code: 0
    #file: "[/REDACTED/vendor/tmilos/scim-filter-parser/src/Error/FilterException.php](file:///REDACTED/vendor/tmilos/scim-filter-parser/src/Error/FilterException.php#L24)"
    #line: 24
    -previous: Tmilos\ScimFilterParser\Error\FilterException {#3104 …}
    trace: {▼
      [/REDACTED/vendor/tmilos/scim-filter-parser/src/Error/FilterException.php:24](file:///REDACTED/vendor/tmilos/scim-filter-parser/src/Error/FilterException.php#L24) {▶}
      [/REDACTED/vendor/tmilos/scim-filter-parser/src/Parser.php:407](file:///REDACTED/vendor/tmilos/scim-filter-parser/src/Parser.php#L407) {▶}
      [/REDACTED/vendor/tmilos/scim-filter-parser/src/Parser.php:379](file:///REDACTED/vendor/tmilos/scim-filter-parser/src/Parser.php#L379) {▶}
      [/REDACTED/vendor/tmilos/scim-filter-parser/src/Parser.php:97](file:///REDACTED/vendor/tmilos/scim-filter-parser/src/Parser.php#L97) {▶}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions