Aviso:

Para brindarle información de soporte completa de manera más rápida, el contenido de esta página ha sido traducido al español mediante traducción automática. Para consultar la información de soporte más precisa, consulte la versión en inglés de este contenido.

Validación personalizada de usuario

Catalyst Authentication te permite autorizar y validar a tus usuarios finales usando una función Basic I/O personalizada en el evento de registro en tu aplicación de Catalyst. Puedes escribir tu propia lógica y procesar las credenciales que el usuario proporciona a través de esta función, y otorgar acceso a tu aplicación.

A continuación se muestra un código de ejemplo para una función de Custom User Validation.

Fragmento de código de ejemplo


Package Imports
copy
import com.catalyst.Context;
import com.catalyst.basic.BasicIO;
import com.catalyst.basic.ZCFunction;
import com.zc.api.APIConstants.ZCSignupValidationStatus;
import com.zc.common.ZCProject;
import com.zc.component.auth.ZCSignupResponseUserDetails;
import com.zc.component.auth.ZCSignupUserValidationRequest;
import com.zc.component.auth.ZCSignupUserValidationResponse;
import com.zc.component.users.ZCSignupUserService;

La lógica de validación se puede establecer según tu preferencia. En este ejemplo, hemos representado la lógica con @notallowedemail. Si el usuario intenta registrarse usando una dirección de correo electrónico no permitida, no se le permitirá registrarse.

copy
public class MainClass implements ZCFunction {
 private static final Logger LOGGER = Logger.getLogger(MainClass.class.getName());
 @Override
    public void runner(Context context, BasicIO basicIO) throws Exception
{
  try 
  {
   ZCProject.initProject();
   ZCSignupUserValidationRequest requestDetails = ZCSignupUserService.getSignupValidationRequest(basicIO);
   if(requestDetails != null) {
    /* Validation logic starts */
    LOGGER.info("Inside null check");
    ZCSignupUserValidationResponse validationResponse = ZCSignupUserValidationResponse.getInstance();
    if(requestDetails.getUserDetails().getEmailId().contains("@notallowedmail")) 
    {
     validationResponse.setStatus(ZCSignupValidationStatus.FAILURE); // El usuario no pasó la autenticación
    }
    else 
    {
     validationResponse.setStatus(ZCSignupValidationStatus.SUCCESS); // Las acciones que ocurren en caso de una autenticación exitosa pueden personalizarse
     ZCSignupResponseUserDetails respUserDetails = ZCSignupResponseUserDetails.getInstance();
     respUserDetails.setFirstName("Patricial");
     respUserDetails.setLastName("Boyle");
     respUserDetails.setRoleIdentifier("App User");
     respUserDetails.setOrgId("1241113");
     validationResponse.setUserDetails(respUserDetails);
    }
    basicIO.write(validationResponse);
    /* Validation logic ends */
   }
  }
  catch(Exception e) 
  {
   basicIO.write(e);
   LOGGER.log(Level.SEVERE,"Exception in MainClass",e);
   basicIO.setStatus(500);
  }
 }
}

Para probar esta función, puedes pasar los detalles del usuario en el siguiente formato .JSON:

copy
{
"request_type": "add_user",
"request_details": 
{
"user_details": 
{
"email_id": "emmy@zylker.com",
"first_name": "Emma",
"last_name": "Thompson",
"org_id": "65**************",
"role_details": 
{
"role_name": "Moderator",
"role_id": "10*****"
}
},
"auth_type": "web"
}
}

Última actualización 2026-03-30 13:40:30 +0530 IST

EN ESTA PÁGINA

ENLACES RELACIONADOS

Authentication