Show Menu
Cheatography

API Cheat Sheet (DRAFT) by

API son las siglas en inglés para «application programming interface» o interfaz de programación de aplicaciones.

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Que es un API

API son las siglas en inglés para «appli­cation progra­mming interface» o interfaz de progra­mación de aplica­ciones.

Verbos

Get
Request data
- Can be Cached
- Remains in the browser history
- Can be bookmarked
- Length restri­ctions
- Calling it multiple times has side effects
Post
Send data
- Never cached
- No length restri­ctions
Put
Update data(r­eso­urce)
- Id based
- Calling it multiple times has same result
- Updates whole item/r­esource
Patch
Partial Update
- Only updates what is given of resource
Delete
Deletes item/r­esource
Head
Request Header
- Similar to Get
- Only gets header not data
- Useful before downlo­ading a large file

API Testing - Prev

Que endpoint están dispon­ibles?
Que resultado se considera positivo?
Que resultado se considera negativo?
Que resultado se considera un error?

Tipos de API Testing

Validacion
Valida­ciones genericas
Funcional
Confirma que el api hace lo que requiere
Carga
Capacidad de llamadas
Fiabilidad
Confia­bilidad y buena coneccion
Securidad
Valida la autori­zacion
Penetr­acion
Fuzz
 

Autent­ifi­cación y Autori­zación

Autent­ifi­cación
el proceso o acción de verificar la identidad de un usuario o proceso.
Autori­zación
La autori­zación es una función que especifica los privil­egios de acceso del usuario a los recursos de tu servicio.

Metodos de Autent­ifi­cación

Básica
Nombre de usuario y una contra­seña;
Token
Token basado en usuario y contraseña
Clave API
Usa claves generadas por el sistema; Private y Public Key
OAuth 2.0
Access Tokens Autori­zación abierta

Autent­icación Basica

Se realiza mediante el encabezado HTTP Author­iza­tion.
Cualquiera que intercepte la trasmisión de datos puede decodi­ficar fácilmente esta inform­ación.
Esto se denomina ataque Man-In­-Th­e-M­iddle (MiTM).

Para proteger tu API mediante la autent­ifi­cación básica debe ser únicamente mediante una conexión TLS/HTTPS

Autent­icación por Token

El servidor guarda en base de datos este registro y lo devuelve al usuario para que a partir de ese momento no envíe más creden­ciales de inicio de sesión en cada petición HTTP.
En lugar de las creden­ciales, simple­mente se debe enviar el token codificado en cada petición HTTP.

Autent­icación Clave API

Este sistema es más seguro que los métodos anteri­ores, pero la generación de creden­ciales debe ser manual y esto dificulta la escala­bilidad de tu API.
La automa­tiz­ación de generación e interc­ambio de key’s es una de las razones princi­pales por las que se desarrolló el método de autent­ifi­cación OAuth.

Autent­icación OAuth

Utiliza tokens de acceso. Un token de acceso es un dato que representa la autori­zación para acceder a los recursos en nombre del usuario final.
OAuth 2.0 no define un formato específico para los tokens de acceso. Sin embargo, en algunos contextos, a menudo se usa el formato JSON Web Token (JWT).
Esto permite a los emisores de tokens incluir datos en el propio token.
Además, por razones de seguridad, los tokens de acceso pueden tener una fecha de vencim­iento.