En aquest tema, explorarem com realitzar proves d'APIs privades, que són aquelles que no estan disponibles públicament i requereixen autenticació per accedir-hi. Aquestes APIs són comunes en entorns empresarials on la seguretat i el control d'accés són crucials.

Conceptes Clau

  1. Autenticació i Autorització:

    • Autenticació: Procés de verificar la identitat d'un usuari o sistema.
    • Autorització: Procés de determinar si un usuari autenticat té permís per accedir a un recurs específic.
  2. Tokens d'Accés:

    • Utilitzats per autenticar sol·licituds a APIs privades.
    • Poden ser de diversos tipus, com JWT (JSON Web Tokens) o OAuth tokens.
  3. Capçaleres d'Autenticació:

    • Les sol·licituds a APIs privades sovint requereixen capçaleres específiques per a l'autenticació, com Authorization: Bearer <token>.

Configuració de Proves d'APIs Privades amb Postman

Pas 1: Configuració de l'Entorn

  1. Crear un Entorn a Postman:
    • Afegeix variables com baseUrl, accessToken, etc.
    • Exemple de configuració d'entorn:
      {
        "baseUrl": "https://api.empresa.com",
        "accessToken": "your_access_token_here"
      }
      

Pas 2: Autenticació

  1. Obtenir un Token d'Accés:

    • Realitza una sol·licitud POST a l'endpoint d'autenticació de l'API.
    • Exemple de sol·licitud:
      POST {{baseUrl}}/auth/login
      Content-Type: application/json
      
      {
        "username": "usuari",
        "password": "contrasenya"
      }
      
  2. Emmagatzemar el Token:

    • Utilitza scripts de Postman per emmagatzemar el token d'accés a una variable d'entorn.
    • Exemple de script:
      pm.environment.set("accessToken", pm.response.json().token);
      

Pas 3: Realitzar Sol·licituds Autenticades

  1. Afegir Capçaleres d'Autenticació:

    • Inclou el token d'accés a les capçaleres de la sol·licitud.
    • Exemple de capçalera:
      Authorization: Bearer {{accessToken}}
      
  2. Enviar Sol·licituds:

    • Realitza sol·licituds GET, POST, PUT, DELETE a l'API privada utilitzant el token d'accés.

Pas 4: Validació de Respostes

  1. Comprovar l'Estat de la Resposta:

    • Assegura't que les respostes tenen l'estat esperat (per exemple, 200 OK).
  2. Validar el Cos de la Resposta:

    • Utilitza assertions per verificar que el cos de la resposta conté les dades esperades.
    • Exemple d'assertion:
      pm.test("La resposta conté l'usuari esperat", function () {
        var jsonData = pm.response.json();
        pm.expect(jsonData.username).to.eql("usuari");
      });
      

Exercici Pràctic

Objectiu: Configurar i provar una API privada que requereix autenticació.

  1. Configura un entorn a Postman amb les variables baseUrl i accessToken.
  2. Realitza una sol·licitud POST per obtenir un token d'accés.
  3. Emmagatzema el token d'accés en una variable d'entorn.
  4. Realitza una sol·licitud GET a un endpoint protegit utilitzant el token d'accés.
  5. Valida que la resposta conté les dades esperades.

Solució

  1. Configura l'entorn:

    • Afegeix les variables baseUrl i accessToken.
  2. Obtenir el token d'accés:

    POST {{baseUrl}}/auth/login
    Content-Type: application/json
    
    {
      "username": "usuari",
      "password": "contrasenya"
    }
    
  3. Emmagatzemar el token:

    pm.environment.set("accessToken", pm.response.json().token);
    
  4. Realitzar la sol·licitud GET:

    GET {{baseUrl}}/user/profile
    Authorization: Bearer {{accessToken}}
    
  5. Validar la resposta:

    pm.test("La resposta conté l'usuari esperat", function () {
      var jsonData = pm.response.json();
      pm.expect(jsonData.username).to.eql("usuari");
    });
    

Conclusió

Les proves d'APIs privades són essencials per garantir la seguretat i el funcionament correcte de les aplicacions que depenen d'aquestes APIs. Mitjançant l'ús de Postman, podem gestionar fàcilment l'autenticació i realitzar proves exhaustives per assegurar-nos que les nostres APIs funcionen com s'espera. En el següent tema, explorarem escenaris reals de proves d'API per aplicar els coneixements adquirits.

© Copyright 2024. Tots els drets reservats