Passer au contenu principal
L’objet API du déclencheur credentials-exchange d’Actions comprend :

api.access

Contrôler la disponibilité du jeton d’accès.

api.access.deny(code, reason)

Marque l’échange de jeton en cours comme refusé.
code
string
Le code d’erreur propre au protocole qui justifie le refus de la connexion.Valeurs autorisées : invalid_scope, invalid_request, server_error
reason
string
optional
Une explication en langage clair du rejet de l’octroi du jeton d’accès.

api.accessToken

Permet de modifier le jeton d’accès en cours d’émission.

api.accessToken.setCustomClaim(key, value)

Définit une revendication personnalisée sur le Jeton d’accès qui sera émis.
key
string
Nom de la revendication (notez qu’il peut être nécessaire qu’il s’agisse d’une URL entièrement qualifiée).
value
unknown
La valeur de la revendication.

api.cache

Modifiez le cache.

api.cache.delete(key)

Supprime l’enregistrement associé à la valeur mise en cache pour la clé fournie, s’il existe.
key
string
La clé de l’enregistrement du cache à supprimer.

api.cache.get(key)

Récupère un enregistrement décrivant une valeur mise en cache à la clé fournie, si elle existe. Si un enregistrement est trouvé, la valeur mise en cache se trouve dans la propriété value de l’objet retourné.
key
string
La clé de l’enregistrement stocké dans le cache.

api.cache.set(key, value, options)

Stocke ou met à jour une valeur de chaîne dans le cache pour la clé spécifiée. Les valeurs stockées dans ce cache sont limitées au Trigger dans lequel elles sont définies. Elles sont assujetties aux limites du cache d’Actions. Les valeurs stockées de cette façon auront une durée de vie pouvant aller jusqu’aux valeurs ttl ou expires_at spécifiées. Si aucune durée de vie n’est spécifiée, une durée de vie par défaut de 15 minutes sera utilisée. Les durées de vie ne peuvent pas dépasser la durée maximale indiquée dans les limites du cache d’Actions. Important : Ce cache est conçu pour des données éphémères à courte durée de vie. Il est possible que les éléments ne soient pas disponibles dans des transactions ultérieures, même s’ils n’ont pas encore atteint la fin de leur durée de vie.
key
string
La clé de l’enregistrement à stocker.
value
string
La valeur de l’enregistrement à stocker.
options
cachesetoptions
optional
Options permettant d’ajuster le comportement du cache.

api.transaction

[Accès anticipé] Modifiez la transaction.

api.transaction.addTargetScope(scope)

[Accès anticipé] Ajoute un scope à l’ensemble des scopes cibles. Les scopes ajoutés sont croisés avec l’autorisation de l’application une fois toutes les Actions terminées. Les scopes qui ne figurent pas dans cette autorisation sont ignorés et exclus du jeton d’accès final.
scope
string
Le scope à ajouter.
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.transaction.addTargetScope('read:reports');
};

api.transaction.removeTargetScope(scope)

[Accès anticipé] Supprime un scope de l’ensemble des scopes cibles.
scope
string
Le scope à supprimer.
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.transaction.removeTargetScope('admin:full');
};

api.transaction.setTargetScopes(scopes)

[Accès anticipé] Remplace l’ensemble complet des scopes cibles. Les nouveaux scopes sont ensuite croisés avec l’autorisation accordée à l’application une fois toutes les Actions terminées. Les scopes qui ne figurent pas dans l’autorisation sont omis sans avertissement du jeton d’accès final.
scopes
array of strings
Le nouvel ensemble de scopes cibles.
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.transaction.setTargetScopes(['read:users', 'write:users']);
};

api.transaction.clearTargetScopes()

[Accès anticipé] Supprime tous les scopes de l’ensemble cible de scopes.
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.transaction.clearTargetScopes();
};