Custom User Validation
Catalyst te ofrece la opción de validar y autorizar usuarios finales en tu aplicación usando funciones personalizadas. Esta opción te permite configurar una función Catalyst Basic I/O para contener la lógica de la manera en que deseas autorizar al usuario. Durante el registro del usuario, las credenciales del usuario serán validadas a través de esta función Basic I/O.
Consulta los fragmentos de código a continuación para una función de Custom User Validation de ejemplo en Java, Node.js y Python:
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) {
/Comienza la lógica de validación /
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 se pueden personalizar
ZCSignupResponseUserDetails respUserDetails = ZCSignupResponseUserDetails.getInstance();
respUserDetails.setFirstName("{customFirstName}");
respUserDetails.setLastName("{customLastname}");
respUserDetails.setRoleIdentifier("{customRoleName}");
respUserDetails.setOrgId("{customOrgId}");
validationResponse.setUserDetails(respUserDetails);
}
basicIO.write(validationResponse);
/ Termina la lógica de validación/
}
} catch (Exception e) {
basicIO.write(e);
LOGGER.log(Level.SEVERE, “Exception in MainClass”, e);
basicIO.setStatus(500);
}
}
}
const catalyst = require(“zcatalyst-sdk-node”);
module.exports = (context, basicIO) => {
const catalystApp = catalyst.initialize(context);
const userManagement = catalystApp.userManagement();
const requestDetails = userManagement.getSignupValidationRequest(basicIO);
if (requestDetails !== undefined) {
if (requestDetails.user_details.email_id.includes(“node”)) {
basicIO.write(
JSON.stringify({
status: “failure”,
})
);
} else {
basicIO.write(
JSON.stringify({
status: “success”,
user_details: {
first_name: “CustomFirstName”,
last_name: “CustomLastName”,
role_identifier: “CustomRole”,
org_id: “CustomOrgID”, // Si proporcionas el Org ID, asegúrate de copiarlo exactamente desde la consola.
},
})
);
}
}
context.close();
};
import json
import zcatalyst_sdk
def handler(context, basicio):
app = zcatalyst_sdk.initialize()
auth_service = app.authentication()
request_details = auth_service.get_signup_validation_request(basicio)
if request_details:
if “spam.com” in request_details[“user_details”][“email_id”]:
basicio.write(json.dumps({“status”: “failure”}))
else:
basicio.write(
json.dumps(
{
“status”: “success”,
“user_details”: {
“first_name”: “Amelia”,
“last_name”: “Jack”,
“role_identifier”: “cx_role”,
“org_id”: orgId, # Si proporcionas el Org ID, asegúrate de copiarlo exactamente desde la consola.
},
}
)
)
context.close()
Última actualización 2026-03-20 21:51:56 +0530 IST
Yes
No
Send your feedback to us