Java + Cognito: Pre Token Generation Lambda Trigger

En esta ocasión dejaré el código necesario para poder generar la respuesta en un Lambda de AWS que se ejecute como un Pre Token Generation Lambda Trigger, no es ninguna explicación de que es Lambda o Cognito, lo hago porque no encontré en el universo un ejemplo que explicara el formato de la respuesta usando Java, usando NodeJS habían cientos incluso desde la misma documentación de AWS...

Si alguien pasa por el mismo problema y llega acá, este es el código:

public class PreTokenGenerationLambdaTrigger implements RequestStreamHandler {
  private static final ObjectMapper OM;

  static {
    OM = new ObjectMapper();
    OM.enable(SerializationFeature.INDENT_OUTPUT);
    ServiceLoader.load(LambdaServicio.class).forEach(LambdaServicio::cargar);
  }

  @Override
  public void handleRequest(InputStream is, OutputStream os, Context ctx) throws IOException {
    final var request = OM.readTree(is);
    final var response = (ObjectNode) request;
    OM.writeValue(os, response); 
  }

}
El problema se solucionó con lo siguiente:
OM.enable(SerializationFeature.INDENT_OUTPUT);
Cognito reclamaba que no entendía la salida generada desde el Lambda, y con esa opción de Jackson se corrige. Ahora se pueden agregar atributos personalizados antes de generar el Token 😏

No hay comentarios.:

Publicar un comentario