Saltar al contenido principal
El objeto de API del trigger credentials-exchange de Actions incluye:

api.access

Controla la disponibilidad del token de acceso.

api.access.deny(code, reason)

Marca el intercambio actual de tokens como denegado.
code
string
El code de error específico del protocolo que justifica el rechazo del inicio de sesión.Valores permitidos: invalid_scope, invalid_request, server_error
reason
string
optional
Una explicación legible para las personas sobre el motivo del rechazo de la concesión del token de acceso.

api.accessToken

Solicita cambios en el token de acceso emitido.

api.accessToken.setCustomClaim(key, value)

Establece una claim personalizada en el Token de acceso que se emitirá.
key
string
Nombre de la claim (ten en cuenta que puede que deba ser una URL completa).
value
unknown
El valor de la claim.

api.cache

Permite realizar cambios en la caché.

api.cache.delete(key)

Elimina el registro que describe un valor almacenado en caché en la clave proporcionada, si existe.
key
string
La clave del registro de caché que se va a eliminar.

api.cache.get(key)

Recupera un registro que describe un valor almacenado en caché en la clave proporcionada, si existe. Si se encuentra un registro, el valor almacenado en caché se encuentra en la propiedad value del objeto devuelto.
key
string
La clave del registro almacenado en la caché.

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

Almacena o actualiza un valor de cadena en la caché en la clave especificada. Los valores almacenados en esta caché se limitan al Trigger en el que se establecen. Están sujetos a los límites de la caché de Actions. Los valores almacenados de esta forma tendrán una vigencia de hasta los valores de ttl o expires_at especificados. Si no se especifica ninguna vigencia, se usará una vigencia predeterminada de 15 minutos. Las vigencias no pueden superar la duración máxima indicada en límites de la caché de Actions. Importante: Esta caché está diseñada para datos efímeros y de corta duración. Es posible que los elementos no estén disponibles en transacciones posteriores, aunque aún se encuentren dentro del tiempo de vigencia indicado.
key
string
La clave del registro que se almacenará.
value
string
El valor del registro que se almacenará.
options
cachesetoptions
optional
Opciones para ajustar el comportamiento de la caché.

api.transaction

[Acceso anticipado] Realice cambios en la transacción.

api.transaction.addTargetScope(scope)

[Acceso anticipado] Agrega un scope al conjunto de alcances de destino. Los alcances agregados se intersectan con la concesión de cliente una vez finalizadas todas las Actions. Los alcances que no estén presentes en la concesión se descartan sin aviso del token de acceso final.
scope
string
El scope que se va a agregar.
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.transaction.addTargetScope('read:reports');
};

api.transaction.removeTargetScope(scope)

[Early Access] Elimina un scope del conjunto de alcances de destino.
scope
string
El scope que se debe eliminar.
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.transaction.removeTargetScope('admin:full');
};

api.transaction.setTargetScopes(scopes)

[Acceso anticipado] Reemplaza por completo el conjunto de alcances de destino. Los nuevos alcances se cruzan con la concesión de cliente una vez que se completan todas las Actions. Los alcances que no estén presentes en la concesión se omiten sin aviso del token de acceso final.
scopes
array of strings
El nuevo conjunto de alcances de destino.
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.transaction.setTargetScopes(['read:users', 'write:users']);
};

api.transaction.clearTargetScopes()

[Acceso anticipado] Elimina todos los alcances del conjunto de alcances de destino.
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.transaction.clearTargetScopes();
};