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
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.
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:
{
"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
Yes
No
Send your feedback to us