Cómo agregar seguridad en tus APIs.

Cómo agregar seguridad en tus APIs.
Es importante saber la data que los requests hacia tus APIS incluyen en sus encabezados y cuerpos

Ya vimos que crear APIS con Coldfusion es fácil, ahora veamos cómo agregar seguridad para validar que sólo usuarios autorizados puedan consumirlas.

Utilizaremos los encabezados de la solicitud (Request Header) para proporcionar la información de autenticación. Esta es la forma más común.

Cualquier lenguaje de aplicaciones o herramienta para probar APIS, como Postman, tienen la capacidad de definir estos headers. Además estos headers funcionan para cualquier tipo de Request, aunque sea un simple GET.

Existen headers comunes como "Authorization" y "Content-Type" así como headers propios de cada aplicación como los que definió Amazon para sus APIS - "x-amz-access-token" y "x-amz-date".

Si quisieramos emular a un cliente usando Coldfusion, el comando para hacer requests es CFHTTP, y los headers se pueden definir con cfhttpparam, por ejemplo, al invocar un API de Amazon -

<cfhttp method="GET" url="https://api.amazon.com/auth/o2/token">
	
	<cfhttpparam type="header" 
                 name="x-amz-date" 
                value="2025-05-25..">

	<cfhttpparam type="header" 
                 name="x-amz-access-token" 		
                value="abcdef12345..." />

	<cfhttpparam type="header" 
                 name="Authorization" 
                 value="AWS4-HMAC-SHA256..." />
                 
	<cfhttpparam type="header" 
                 name="Content-type" 
                value="application/json">

</cfhttp>

Veamos ahora como construir un API que requiera usar el header de Autorización para recibir las credenciales de acceso. El ejemplo más común es algo como:

Authorization = "Basic XXXXXXX"