En el ámbito laboral, te cuento uno de los mayores desafios que tuve que enfrentar.

Introducción

Primero veamos algunas definiciones.

¿Qué es una API?

Una API (Application Programming Interface) interfaz de programación de aplicaciones. Es un conjunto de rutinas que provee acceso a funciones de un determinado software.

Es decir, para no tener que re inventar la rueda uno podría realizar llamadas a APIs ya creadas que provean la funcionalidad que queremos.

En nuestro caso estamos trabajando específicamente con Web APIs.

API diseño.

Por ejemplo una aplicación que quiere mostrar el clima, en vez de desarrollar toda la parte de recolección y análisis de datos climáticos (lo cual sería costoso) hacen llamadas a alguna API que ya lo implemente, por ejemplo Open weather map.

Por otro lado supongamos una aplicación que en su descripción el usuario pueda poner una canción que le guste. Para ahorrar mucho trabajo la aplicación podría realizar llamadas a la API de Spotify.


¿Que es Auth0?

Auth0 es una empresa argentina que provee el servicio de autenticación y autorización del usuario en un producto, simplificando así el trabajo de desarrollo.

Básicamente les provee a las aplicaciones la caja de login, para que no lo tengan que desarrollar ellos mismos, y asi evitar gastos y costos de mantención de uno de los puntos críticos de cualquier sistema.


¿Que es Oauth 2.0?

Oauth 2.0 es un protocolo abierto de autenticacion y delegación de permisos de acceso.

Muy utilizado en las redes sociales, por ejemplo: para poder ingresar con tu usuario de Facebook a alguna otra aplicación, sin darle a este último las credenciales de tu usuario de facebook.


Desarrollo

En el proyecto de desarrollo en el que trabajo, una de las funcionalidades que provee el sistema es un Administrador de APIs, el cual permite crear, editar, publicar/despublicar y eliminar APIs.

Finalmente, resumiendo en un párrafo lo que estuve desarrollando en el sistema es:

que un Editor de APIs pueda proteger Endpoints de este con Auth0 utilizando el protocolo Oauth 2.0, para así lograr que solo puedan tener acceso las aplicaciones clientes permitidas.