api.
La migration d’une Action créée avant la disponibilité générale (GA) devrait généralement suivre les étapes suivantes :
- Ajustez les références aux propriétés d’événement renommées et déplacées, comme indiqué dans la section Modifications majeures.
- Au lieu de composer et de retourner un objet décrivant les effets secondaires souhaités, mettez à jour le code personnalisé pour appeler la méthode
apipertinente, comme indiqué dans la section Exécution d’effets secondaires. - Pour les Actions qui doivent gérer les callbacks de redirection, utilisez la nouvelle fonction dédiée exposée. Si vous utilisiez du code qui reposait sur
event.protocol === 'redirect-callback', consultez la page Redirection avec Actions.
Changements non rétrocompatibles
Paramètres de requête et de corps
event.request.query et event.request.body. Ceux-ci sont exposés que l’autorisation ait été initiée via une requête GET ou POST. De nombreux paramètres de requête ou de corps spécifiques au protocole envoyés dans le cadre d’une requête d’autorisation sont maintenant également disponibles en tant que valeurs de premier niveau sur l’objet event.transaction. Nous recommandons d’utiliser event.transaction plutôt que event.request.query et event.request.body, à moins que votre cas d’utilisation ne soit pas pris en charge. Une correspondance complète de ces changements se trouve ci-dessous :
| Propriété pré-GA | Propriété GA |
|---|---|
event.actor.ip | event.request.ip |
event.actor.hostname | event.request.hostname |
event.actor.geoIp | event.request.geoip |
event.actor.language | event.request.language |
event.actor.method | event.request.method |
event.actor.userAgent | event.request.user_agent |
event.actor.body | event.request.body |
event.actor.query | event.request.query |
event.actor.query.audience | event.resource_server.identifier |
event.actor.query.scope | event.transaction.requested_scopes |
event.actor.query.acr_values | event.transaction.acr_values |
event.actor.query.ui_locales | event.transaction.ui_locales |
event.protocol | event.transaction.protocol |
context.secrets | event.secrets |
Propriétés du profil utilisateur
event.user sont passées du camel case au snake case afin de correspondre à la structure du profil utilisateur Auth0. Par exemple, event.user.appMetadata a été modifiée en event.user.app_metadata.
Gestion des effets secondaires
api est fourni pour encapsuler ces modifications et offrir de meilleures suggestions de types et une documentation intégrée directement dans l’éditeur.
Mettre à jour la propriété user_metadata de l’utilisateur
Vous ne devriez pas utiliser cette méthode dans les callbacks, car son invocation ne met pas immédiatement à jour les métadonnées. En revanche, vous pouvez appeler cette méthode plusieurs fois dans différentes Actions au sein du même flux (les métadonnées définies dans une Action sont appliquées à l’objet transitoire et sont donc disponibles dans les Actions suivantes), et le moteur regroupera les modifications et mettra à jour les métadonnées en une seule fois avant la fin du flux.
Mettre à jour app_metadata de l’utilisateur
Vous ne devriez pas utiliser cette méthode dans les callbacks, car l’invoquer ne mettra pas immédiatement à jour les métadonnées. Au lieu de cela, vous pouvez appeler cette méthode plusieurs fois dans différentes Actions au sein du même flux (les métadonnées définies dans une Action sont appliquées à l’objet transitoire et sont donc disponibles dans les Actions suivantes), et le moteur regroupera les modifications et mettra à jour toutes les métadonnées en une seule fois avant la fin du flux.
Refuser une tentative de connexion
Générer une erreur refusera également une connexion, mais appeler
api.access.deny est l’approche recommandée.