This page (revision-1) was last changed on 29-Nov-2024 16:16 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 added 81 lines
!!! Overview
[{$pagename}] defines a standard set of [SCIM] operations that can be used for [SCIM Search Requests] and [SCIM Read Requests]
! [{$pagename}] is __OPTIONAL__
[SCIM Clients] __may__ request a subset of [SCIM Resources] by specifying the 'filter' URL query parameter containing a filter expression. When specified only those [SCIM Resources] matching the filter expression __SHALL__ be returned. The expression language that is used in the filter parameter supports references to attributes and literals. The literal values can be strings enclosed in double quotes, numbers, date times enclosed in double quotes, and Boolean values; i.e., true or false. String literals __MUST__ be valid [JSON] strings.
The attribute name and attribute operator are case insensitive. For example, the following two expressions will evaluate to the same logical value:
%%prettify
{{{
filter=userName Eq "john"
filter=Username eq "john"
}}} /%
[{$pagename}] Rules:
* The filter parameter __MUST__ contain at least one valid [Boolean] expression.
* Each expression __MUST__ contain an attribute name followed by an attribute operator and optional value.
* Multiple expressions __MAY__ be combined using the two logical operators. Furthermore expressions can be grouped together using "()".
The operators supported in the expression are listed in the following table.
%%zebra-table
%%sortable
%%table-filter
||Operator||Description||Behavior
|eq|equal|The attribute and operator values must be identical for a match.
|co|contains|The entire operator value must be a substring of the attribute value for a match.
|sw|starts with|The entire operator value must be a substring of the attribute value, starting at the beginning of the attribute value. This criterion is satisfied if the two strings are identical.
|pr|present (has value)|If the attribute has a non-empty value, or if it contains a non-empty node for complex attributes there is a match.
|gt|greater than|If the attribute value is greater than operator value, there is a match. The actual comparison is dependent on the attribute type. For string attribute types, this is a lexicographical comparison and for DateTime types, it is a chronological comparison.
|ge|greater than or equal|If the attribute value is greater than or equal to the operator value, there is a match. The actual comparison is dependent on the attribute type. For string attribute types, this is a lexicographical comparison and for DateTime types, it is a chronological comparison.
|lt|less than|If the attribute value is less than operator value, there is a match. The actual comparison is dependent on the attribute type. For string attribute types, this is a lexicographical comparison and for DateTime types, it is a chronological comparison.
|le|less than or equal|If the attribute value is less than or equal to the operator value, there is a match. The actual comparison is dependent on the attribute type. For string attribute types, this is a lexicographical comparison and for DateTime types, it is a chronological comparison.
/%
/%
/%
! Table 2: Attribute Operators
%%zebra-table
%%sortable
%%table-filter
||Operator||Description||Behavior
|and|Logical And|The filter is only a match if both expressions evaluate to true.
|or|Logical or|The filter is a match if either expression evaluates to true.
Table 3: Logical Operators
%%zebra-table
%%sortable
%%table-filter
||Operator||Description||Behavior
|()|Precedence grouping|[Boolean] expressions may be grouped using parentheses to change the standard order of operations; i.e., evaluate OR logical operators before logical AND operators.
!! [{$pagename}] [Examples]:
%%prettify
{{{
filter=userName eq "bjensen"
filter=name.familyName co "O'Malley"
filter=userName sw "J"
filter=title pr
filter=meta.lastModified gt "2011-05-13T04:42:34Z"
filter=meta.lastModified ge "2011-05-13T04:42:34Z"
filter=meta.lastModified lt "2011-05-13T04:42:34Z"
filter=meta.lastModified le "2011-05-13T04:42:34Z"
filter=title pr and userType eq "Employee"
filter=title pr or userType eq "Intern"
filter=userType eq "Employee" and (emails co "example.com" or emails co "example.org")
}}} /%
!! More Information
There might be more information for this subject on one of the following:
[{ReferringPagesPlugin before='*' after='\n' }]