OAuth y las APIs | Autenticacion y Autorizacion | Jose Luis Bugarin

En algún momento, sus APIs personalizadas deberán permitir un acceso limitado a usuarios y servidores. Con OAuth puede administrar los requisitos de autorización para las aplicaciones de servidor a servidor y de aplicación a servidor.

Puede otorgar a sus propias aplicaciones o aplicaciones de terceros acceso limitado a sus API en nombre de la propia aplicación

El clásico esquema de Business to Business Integration y las APIs es el que comentare.

Lo primero que debes entender es:

Client Credentials Flow (Escenario ideal para Servidor a Servidor hoy se le conoce como Machine to Machine M2M)

Con aplicaciones de máquina a máquina (M2M), como CLI, demonios o servicios que se ejecutan en su back-end, el sistema autentica y autoriza la aplicación en lugar de un usuario. Para este escenario, los esquemas de autenticación típicos como nombre de usuario + contraseña o inicios de sesión sociales no tienen sentido. En cambio, las aplicaciones M2M usan el Flujo de credenciales del cliente (definido en OAuth 2.0 RFC 6749, sección 4.4), en el que pasan su ID de cliente y Secreto de cliente para autenticarse y obtener un token.

Un ejemplo de referencia para hacer el llamado del API o su consumo:

curl –request POST \ –url ‘https://YOUR_DOMAIN/oauth/token’ \ –header ‘content-type: application/x-www-form-urlencoded’ \ –data grant_type=client_credentials \ –data ‘client_id=YOUR_CLIENT_ID’ \ –data client_secret=YOUR_CLIENT_SECRET \ –data audience=YOUR_API_IDENTIFIER

y obtendremos una respuesta (response):

{ «access_token»:«werty546erhttur35», «token_type»:«Bearer», «expires_in»:3200}

y el consumo del API:

curl –request GET \ –url https://myapi.com/api \ –header ‘authorization: Bearer ACCESS_TOKEN’ \ –header ‘content-type: application/json’

 

Un comentario

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *