Configurar la Función Basic I/O
Ahora comenzaremos a codificar la aplicación del portal de autorización configurando el componente de función.
El directorio de la función, (functions/authorization_portal_function), contiene:
- El archivo principal de la función index.js
- El archivo de configuración catalyst-config.json
- Módulos de Node
- Archivos de dependencias package.json y package-lock.json
Agregarás código en el archivo index.js.
La función Basic I/O contiene las siguientes funcionalidades:
- Los datos del usuario final se proporcionarán como entrada JSON a la función Custom User Validation.
- La función está codificada para implementar una lógica personalizada basada en la cual el usuario final será autenticado o denegado.
Nota: Para los propósitos de este tutorial, hemos codificado una lógica para la función Custom User Validation donde si el proveedor de correo electrónico del usuario es diferente a Zylker Technology (@zylker.com), el usuario final no podrá registrarse en la aplicación. Puedes usar la misma o codificar una lógica de tu preferencia.
Ahora, comencemos a codificar la función Basic I/O.
Copia el código a continuación y pégalo en el archivo index.js en el directorio functions/authorization_portal_function de tu proyecto, y guarda el archivo. Puedes usar cualquier IDE de tu elección para trabajar con los archivos de la aplicación.
Nota: Por favor, revisa el código en esta sección para asegurarte de que lo comprendes completamente.
index.js
copy
const catalyst = require('zcatalyst-sdk-node')
module.exports = (context, basicIO) => {
const catalystApp = catalyst.initialize(context)
const requestDetails = catalystApp.userManagement().getSignupValidationRequest(basicIO)
if (requestDetails) {
if (requestDetails.user_details.email_id.includes('@zylker.com')) {
// Las acciones que ocurren en el evento de una autenticación exitosa pueden ser personalizadas
basicIO.write(JSON.stringify({
status: 'success',
user_details:
{
first_name: requestDetails.user_details.first_name,
last_name: requestDetails.user_details.last_name,
email_id: requestDetails.user_details.email_id,
role_identifier: 'App User', // Si deseas sobrescribir el rol predeterminado, puedes especificar el id/nombre del rol aquí.
org_id: '' // Si estás proporcionando el Org ID, asegúrate de que esté copiado exactamente desde la consola.
}
}))
} else {
// El usuario ha fallado la autenticación
basicIO.write(JSON.stringify({
status: 'failure'
}))
}
}
context.close()
}
Nota: También puedes usar este SDK para codificar tu propia lógica personalizada en lugar de la implementada arriba.
Última actualización 2026-03-20 21:51:56 +0530 IST