10 novembre 2024

Python: API Client con JWT

 Vorrei attaccarmi ad un servizio web che offre una API per fare cose, e conosco un po' di Python.

Le istruzioni dell'API dicono che posso collegarmi in maniera sicura utilizzando JWT e chiavi RSA.

Dove cominciare?

Chiavi crittografiche

scambio di chiavi:
L'articolo in inglese spiega bene con le immagini a colori, meglio dell'articolo italiano che è più orientato alla matematica.

In realtà la API in questione non usa lo scambio DH, ma RSA

generazione coppia di chiavi RSA:

Su Windows un modo semplice e grafico viene fornito dal tool PuttyGen (https://www.putty.org/)

Python

Esempio JWT: 
  • https://github.com/auth0-blog/jwts-in-python
libreria per JWT: pip install pyjwt

Sommando le cose...

 per autenticarsi usiamo
1. credenziali, user+pwd
2. eventualmente una API key, disponibile dal sito, per utenti con credenziali,
3. chiavi RSA.

con questi pezzi, ad ogni richiesta dobbiamo confezionare un JWT da accompagnare alla richiesta, per dimostrare che siamo proprio noi  

Fonti e ulteriori approfondimenti

  • https://auth0.com/blog/how-to-handle-jwt-in-python/

Nessun commento:

Posta un commento