SCIM : L’API List renvoie des résultats paginés ; les filtres non pris en charge sont rejetés (En attente)

Attention

Ce changement de comportement est présent dans le bundle 2026_03.

Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.

Les points de terminaison SCIM de l’API List (GET /scim/v2/Users et GET /scim/v2/Groups) sont modifiés pour renvoyer une liste paginée des utilisateurs ou des groupes dans le compte, correspondant éventuellement à un filtre eq ou sw fourni. Auparavant, ces points de terminaison renvoyaient un seul objet d’échantillon synthétique.

Appels de liste non filtrés

Avant la modification:

GET /scim/v2/Users et GET /scim/v2/Groups sans paramètre filter renvoyait un objet d’échantillon synthétique unique. Par exemple, GET /scim/v2/Users renvoyait :

{
  "totalResults": 1,
  "startIndex": 1,
  "itemsPerPage": 1,
  "Resources": [{
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User", "..."],
    "id": "1",
    "externalId": "synthesis_user_external_id",
    "userName": "synthesis_user",
    "displayName": "synthesis_user_display_name",
    "active": false
  }]
}

De même, GET /scim/v2/Groups renvoyait un seul objet synthetic_group.

Après la modification:

Les mêmes appels renvoient une liste paginée des utilisateurs ou des groupes du compte, avec une pagination SCIM standard (startIndex, count).

Validation des expressions de filtre

Avant la modification:

Les valeurs de filtre étaient analysées de façon vague. Les expressions de filtre non prises en charge, y compris celles avec des opérateurs logiques (and, or) et les valeurs de filtre malformées, étaient acceptées silencieusement et renvoyaient 200 OK avec un tableau Resources vide.

Après la modification:

Les valeurs de filtre sont maintenant analysées comme étant des chaînes JSON citées, cohérentes avec les exigences SCIM en matière de codage JSON. Les expressions de filtre non prises en charge ou malformées sont rejetées avec HTTP 400 Bad Request et le type d’erreur SCIM invalidFilter. Les filtres à un seul attribut pris en charge avec eq ou sw ne sont pas affectés.

Prise en charge du filtre ServiceProviderConfig

Avant la modification:

GET /scim/v2/ServiceProviderConfig signalait filter.supported sous forme d’entier (0).

Après la modification:

filter.supported est un booléen (true), comme requis par RFC 7643.

Les clients dont les clients SCIM envoient des expressions de filtre avec and ou or doivent mettre à jour le client afin d’utiliser des filtres simples ou de gérer les réponses 400 invalidFilter.

Note

Les clients ayant un grand nombre d’utilisateurs ou de groupes peuvent voir leurs temps de réponse augmentés pour les appels de listes non filtrés. Pour réduire la taille des réponses, utilisez excludedAttributes=groups lors de l’affichage des utilisateurs ou excludedAttributes=members lors de l’affichage des groupes. Cela empêche l’expansion des membres, qui est le principal moteur de la taille des réponses et de la latence pour les grands comptes.

Réf : 2276