Automatisation d'API, de zéro à confiant · Leçon 4 sur 6

Passer la porte : clés d'API, Bearer/JWT & OAuth2

La plupart des vrais endpoints sont verrouillés. Si vous ne savez pas automatiser le passage de la porte, vous ne pouvez pas tester ce qu'il y a derrière — donc c'est une compétence indispensable, pas un bonus.

Par Shahriyar · Mis à jour

L'idée, en une ligne

Presque chaque API verrouillée utilise l'une de trois façons de vérifier qui vous êtes. Apprenez ces trois et vous pouvez automatiser la porte de presque tout.

Les trois schémas

Voyez-le à l'œuvre

Le flux client-credentials d'OAuth2 n'est en réalité que deux étapes : récupérer un token, puis utiliser le token. C'est le flux à automatiser de bout en bout et à présenter à un examinateur.

▸ try it
import os, requests

# Step 1: trade your secret for a short-lived token.
def get_token(session):
    resp = session.post(
        "https://auth.example.com/oauth/token",
        data={"grant_type": "client_credentials",
              "client_id": os.environ["CLIENT_ID"],
              "client_secret": os.environ["CLIENT_SECRET"]},
        timeout=5)
    resp.raise_for_status()
    return resp.json()["access_token"]

# Step 2: attach it as a Bearer header for every later call.
def test_authorized_call():
    s = requests.Session()
    s.headers["Authorization"] = f"Bearer {get_token(s)}"
    r = s.get("https://api.example.com/me", timeout=5)
    assert r.status_code == 200

Lisez-le de haut en bas : vous avez demandé un pass au guichet des tokens, mis ce pass sur la session pour que chaque appel le porte, puis fait une requête autorisée. Récupérer, puis utiliser.

Avancé — gardez-le en sécurité et prouvez que la serrure marche

Basé sur le quickstart Requests (en-têtes personnalisés) et la référence HTTP Authorization de MDN

Toutes les leçons de Automatisation d'API, de zéro à confiant

  1. Le modèle mental HTTP & votre première collection Postman
  2. Recréez-le en code : requests + pytest avec état partagé
  3. Faites confiance à la forme : validation de schéma & test négatif
  4. Passer la porte : clés d'API, Bearer/JWT & OAuth2
  5. SQL pour testeurs : prouvez que l'API a vraiment écrit dans la BD
  6. Mocking & contrats : des tests rapides, hors-ligne, fiables