Di tutto un pò sul mondo della tecnologia e non solo!
Di tutto un pò sul mondo della tecnologia e non solo!

API – Application Programming Interface – Prima Parte

Ora, passiamo alla parte di codice del client che simula l’accesso all’API di occupazione del suolo. In pratica dovrei simulare con questa parte di codice la richiesta che esegue il “portale delle richieste” all’API presente nella piattaforma di gestione delle richieste di occupazione del suolo. Il codice sarà presente in un file dal nome client_auth_1.js presente nella cartella di progetto.

const axios = require('axios');
const jwt = require('jsonwebtoken');

const SECRET_KEY = '348934893L_@@@@ewe'; // La stessa chiave segreta utilizzata nel server

// Simula un utente con un ID e un ruolo
const user = {
    id: '12345',
    role: 'user'
};

// Crea un token JWT per l'utente
const token = jwt.sign(user, SECRET_KEY);

// Effettua una richiesta all'endpoint /occupazione-suolo con il token JWT
axios.get('http://localhost:3000/occupazione-suolo', {
    headers: {
        'Authorization': `Bearer ${token}`
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error('Errore nella richiesta:', error.response.data);
});

Anche in questo caso, è meglio descrivere il codice. Nelle prime due righe vengono importati i moduli Express e Jsonwebtoken. Come al solito, se non li avete “caricati” utilizzate l’istruzione “npm install jsonwebtoken” come descritto precedentemente nel primo esempio. Le installazioni andranno eseguite da riga di comando.

Nella riga quattro è definita la chiave segreta, la SECRET_KEY. Bisogna utilizzare quella presente nel codice del server scritto precedentemente. Ricordo, che per semplificare il tutto, abbiamo utilizzato una chiave segreta condivisa. Questa chiave viene utilizzata per firmare il token JWT.

Dalla riga sette alla riga dieci vengono “simulati” l’utente con gli attributi id e ruolo. Questo oggetto verrà utilizzato per creare il token JWT.

Nella riga tredici, utilizzando la funzione sign del modulo jsonwebtoken, viene creato un token JWT per l’utente. Il token viene firmato utilizzando la chiave segreta condivisa.

Nelle righe dalla sedici alla ventisette si esegue la richiesta GET all’endpoint di occupazione del suolo. Il token JWT viene incluso nell’header Authorization della richiesta come un “Bearer token“. All’interno di questa parte viene anche gestito l’errore tramite l’istruzione catch.

Per ora, lasciamo in standby tale API, o meglio, la lasciamo in parte non completa, perché vorrei definirla meglio specificando i parametri della richiesta in un secondo momento in cui ho definito tutte le specifiche (un secondo articolo? una terza parte?). Ora, si tratta di descrivere come eseguire in sicurezza il passaggio di informazioni dai ricevitori Bluetooth a una API dedicata per la trasmissione di queste informazioni su un database RDBMS molto esile e facile da utilizzare: SQlite

Pagina Successiva | Pagine Precedente

Rating: 4.3/5. From 3 votes.
Please wait...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

11 + venti =

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.