Migrer de Recherche v2 vers v3
La fonctionnalité de recherche d’utilisateurs v2 a atteint sa fin de vie au 30 juin 2019. Nous vous recommandons vivement de migrer la fonctionnalité de recherche d’utilisateurs vers search engine v3 (search_engine=v3
) dès que possible.
Considérations sur la migration
Avant de commencer la migration, vous devez savoir un certain nombre de choses
Pour vous assurer que vos requêtes utilisent le moteur de recherche v3 avant que v2 ne devienne indisponible, vous devez mettre à jour tous vos appels au point de terminaison
GET /api/v2/users
pour inclure le paramètresearch_engine=v3
. Cela vous permettra de déterminer si des requêtes doivent être mises à jour, de manière à ne pas subir de temps d’arrêt lorsque la v2 deviendra indisponible.Si vous effectuez des opérations de recherche d’utilisateur via l’un des trousses SDK impactées, vous devez également passer le paramètre
search_engine=v30
comme indiqué ci-dessus.Les valeurs de recherche pour les champs utilisateur normalisés (
courriel
,nom
,prénom
,nom de famille
, etsurnom
) ne sont pas sensibles à la casse. Tous les autres champs (y compris tous les champsapp_metadata
/user_metadata
) sont sensibles à la casse.La v3 limite à 1000 le nombre d’utilisateurs que vous pouvez récupérer. Si vous atteignez cette limite, nous vous recommandons de redéfinir votre requête de recherche afin d’obtenir des résultats plus granulaires. Si vous avez besoin d’une liste de plus de 1000 utilisateurs à un moment donné, nous vous recommandons d’utiliser le point de terminaison de l’API Export Job (Exporter la tâche) ou l’extension User Import/Export (Importation/Exportation des utilisateurs).
Les recherches par plage et par caractères génériques ne sont pas disponibles pour les champs
app_metadata
/user_metadata
.Les champs utilisateur ne sont pas tokenisés comme dans v2, donc
user_id:auth0
ne correspondra pas àuser_id
avec la valeurauth0|12345
, à la place, utilisezuser_id:auth0*
.Les caractères génériques peuvent être utilisés pour la correspondance de préfixe, par exemple
name:j*
. Pour les autres utilisations des caractères génériques (par ex., la correspondance de suffixes), les littéraux doivent comporter 3 caractères ou plus. Par exemple,name:*usa
est autorisé, maisname:*sa
ne l’est pasL’extension de champ
.raw
n’est plus prise en charge et doit être supprimée. Dans v3, les champs correspondent à l’intégralité de la valeur fournie et ne comportent pas de jetons, comme c’était le cas dans V2 sans le suffixe.raw
.Le champ
connexion
n’est pas pris en charge dans v3. Vous devriez utiliser plutôt son aliasidentities.connection
.
Requêtes pour migrer
Cas d’utilisation | v2 | v3 |
---|---|---|
Rechercher par date | updated_at:>=2018-01-15 |
updated_at:[2018-01-15 TO *] |
Rechercher par date | updated_at:>2018-01-15 |
updated_at:{2018-01-15 TO *] |
Rechercher par date | updated_at:<=2018-01-15 |
updated_at:[* TO 2018-01-15] |
Rechercher par date | updated_at:<2018-01-15 |
updated_at:[* TO 2018-01-15} |
Rechercher par date | last_login:<=2017-12 |
last_login:[* TO 2017-12] |
Correspondance exacte de chaîne | name.raw:"pierre richard untel" |
name:"pierre richard untel" |
La phrase contient un mot | name:"richard" , name:richard |
name:*richard* |
La phrase contient un mot (ayant moins de 3 caractères) | name:*ri ,name:*a , name:*ab* |
(not supported) |
Trousses SDK concernées
Les trousses SDK suivantes utilisent le moteur de recherche d’utilisateurs. Si vous les utilisez, assurez-vous que vous utilisez les versions énumérées ci-dessous (ou une version plus récente), et passez le paramètre search_engine=v3
, lorsque vous effectuez des opérations de recherche d’utilisateurs.
Trousse SDK | Version avec prise en charge de v3 | Méthodes impactées | Considérations |
---|---|---|---|
Auth0 Java | 1.8.0 | com.auth0.client.mgmt.UsersEntity.list | Fournit un UserFilter avec withSearchEngine("v3") |
Auth0 Python | 3.0.0 | management.Users.list | Fournir le paramètre search_engine='v3' |
[Auth0 Node] (https://github.com/auth0/node-auth0) | 2.0.0 | UsersManager.getAll, ManagementClient.getUsers | Fournir le paramètre search_engine:'v3' |
[Auth0 .NET] (https://github.com/auth0/auth0.net) | 3.0.0 ou 4.0.0 | Auth0.ManagementApi.IUsersClient.GetAllAsync | Fournir un objet GetUsersRequest avec SearchEngine = "v3" |
[Auth0 PHP] (https://github.com/auth0/auth0-php) | 5.2.0 | Auth0.SDK.API.Management.Users.getAll | Fournir le paramètre 'search_engine' => 'v3' |
[Auth0 Ruby] (https://github.com/auth0/ruby-auth0) | 4.5.0 | Auth0.Api.V2.Users.users | Fournir le paramètre search_engine: 'v3' |
Extensions affectées
Les extensions suivantes utilisent le moteur de recherche d’utilisateurs. Si vous les avez installées, assurez-vous que vous utilisez les versions listées ci-dessous (ou une version plus récente).
Extension | Support de version pour v3 | Considérations |
---|---|---|
Authorization Extension | 2.5.0+ | Si vous utilisez une version antérieure, vous devez mettre à jour manuellement l’extension depuis la page Extensions. |
Administration déléguée | 3.1+ | Si vous utilisez une version antérieure, vous devez mettre à jour manuellement l’extension à partir de la page Extensions. Le paramètre de configuration SEARCH_ENGINE n’existe plus dans la version 3.1 car seule la recherche utilisateur v3 est disponible. |
Exploitez les journaux de votre locataire pour connaître les usages de la Recherche d’utilisateurs v2.
Vous pouvez tirer parti des logs (journaux) dans le Dashboard (Tableau de bord) pour trouver les appels vers le point de terminaison /api/v2/users
qui utilise le moteur de recherche v2, y compris les appels effectués par les trousses SDK. Ces journaux vous aideront à identifier les modifications à apporter au code de vos applications.
Utilisez la requête suivante pour récupérer tous les journaux relatifs à la recherche d’utilisateurs v2 : type:w AND description:*search_engine*
. Les journaux fourniront des informations supplémentaires dans le champ de description dans les cas suivants :
Requêtes susceptibles de produire des résultats différents dans la v3
Requêtes dont la syntaxe est incompatible avec la v3
Requêtes qui ne répondent pas aux exigences de la v3 en matière de pagination
Si aucun détail supplémentaire n’est spécifié dans les entrées du journal, il est probable que vos requêtes soient compatibles avec la v3. Nous vous recommandons toutefois de tester les requêtes avant de déployer vos modifications en production.
Notez qu’un seul journal du même type sera généré en l’espace de 60 minutes. Cela signifie que même si vous effectuez plusieurs appels au point de terminaison Recherche d’utilisateurs, un seul journal de chaque type sera généré par heure.