--- title: "Configurar la Función Basic I/O" url: https://docs.catalyst.zoho.com/es/tutorials/embedded-auth/nodejs/configure-function/ service: All Services type: tutorial related_links: - name: "Basic I/O Functions" url: /es/serverless/help/functions/basic-io/ - name: "Functions Directory Structure" url: /es/cli/v1/project-directory-structure/functions-directory --- # 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. 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.