Inviare una richiesta http con autenticazione di base

TypeScript:
Inviare una richiesta http con autenticazione di base

How to:

Ecco un esempio rapido di come inviare una richiesta HTTP con autenticazione base in TypeScript usando fetch.

import fetch from 'node-fetch';

const url = 'https://api.esempio.com/dati';
const username = 'utente';
const password = 'password';

const headers = new Headers({
  Authorization: 'Basic ' + Buffer.from(`${username}:${password}`).toString('base64')
});

async function fetchData() {
  try {
    const response = await fetch(url, { method: 'GET', headers: headers });

    if (!response.ok) {
      throw new Error(`Errore HTTP! status: ${response.status}`);
    }

    console.log('Risposta:', await response.json());
  } catch (error) {
    console.error('Errore durante il fetch:', error);
  }
}

fetchData();

Output di esempio:

Risposta: { ...dati della risposta... }

Deep Dive

L’autenticazione base HTTP esiste da gli inizi del web. È uno dei metodi più semplici: l’header Authorization contiene le parole “Basic” seguite dall’encoding Base64 di username:password.

Esistono alternative più sicure come OAuth e JWT che non espongono direttamente le credenziali. L’uso dell’autenticazione base è sconsigliato su connessioni non criptate come HTTP, preferisci sempre HTTPS.

Dettagli di implementazione: in TypeScript usiamo Buffer.from() per convertire username e password in Base64. L’oggetto Headers è parte dell’API Fetch, che gestisce le nostre richieste asincrone.

See Also