Class ScimFilter
- Namespace
- Kuestenlogik.Bowire.Scim
- Assembly
- Kuestenlogik.Bowire.Scim.dll
The subset of the SCIM filter language (RFC 7644 §3.4.2.2) that identity providers actually send.
public sealed class ScimFilter
- Inheritance
-
ScimFilter
- Inherited Members
Remarks
The full grammar has ten operators, complex attribute paths and value
sub-filters. Okta and Entra ID use one shape between them —
userName eq "someone@example.com" — with externalId eq and
the occasional and where a connector was configured by hand.
So this parses eq, pr, and and or, with
and binding tighter, and refuses everything else with a
400 and invalidFilter. Refusing is the point: a parser that
silently ignores the half of an expression it did not understand answers
a different question than the one asked, and the caller has no way to
tell. A connector that gets invalidFilter logs something an
operator can act on.
Methods
Matches(Func<string, string?>)
Whether a resource matches, where attribute resolves
an attribute name to its value (null when absent).
public bool Matches(Func<string, string?> attribute)
Parameters
Returns
Parse(string)
Parse text.
public static ScimFilter Parse(string text)
Parameters
textstring
Returns
Exceptions
- ScimFilterException
The expression uses something outside the supported subset.