Autenticación de API

Introducción a las API en Python

Chris Ramakers

Engineering Manager

Acceso a datos sensibles

Una persona intenta acceder a álbumes de música desde un cliente. La solicitud va por Internet a un servidor vía una API, pero recibe "401 Unauthorized".

Introducción a las API en Python

Acceso a datos sensibles

Una persona accede a álbumes de música desde un cliente, indicando usuario y contraseña. La solicitud va por Internet a un servidor vía una API y recibe "200 OK", indicando acceso correcto.

Introducción a las API en Python

Métodos de autenticación

Método Facilidad de implementación Nivel de seguridad
Autenticación básica ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ☆ ☆ ☆ ☆
Clave/token de API ⭐ ⭐ ⭐ ⭐ ☆ ⭐ ⭐ ☆ ☆ ☆
Autenticación JWT ⭐ ⭐ ⭐ ☆ ☆ ⭐ ⭐ ⭐ ⭐ ☆
OAuth 2.0 ⭐ ⭐ ☆ ☆ ☆ ⭐ ⭐ ⭐ ⭐ ⭐

 

Consejo: Revisa la documentación de la API que usas para saber qué método de autenticación emplear.

Introducción a las API en Python

Autenticación básica

Autenticación básica con requests

# Esto añade automáticamente un encabezado Basic Authentication antes de enviar la solicitud
requests.get('http://api.music-catalog.com', auth=('username', 'password'))
Introducción a las API en Python

Autenticación con clave/token de API

Usar un parámetro de consulta

http://api.music-catalog.com/albums?access_token=faaa1c97bd3f4bd9b024c708c979feca
params = {'access_token': 'faaa1c97bd3f4bd9b024c708c979feca'}
requests.get('http://api.music-catalog.com/albums', params=params)

Usar el encabezado de autorización "Bearer"

headers = {'Authorization': 'Bearer faaa1c97bd3f4bd9b024c708c979feca'}
requests.get('http://api.music-catalog.com/albums', headers=headers)
Introducción a las API en Python

¡Vamos a practicar!

Introducción a las API en Python

Preparing Video For Download...