Accueil » Obtenir un token d’authentification depuis Catalyst Center avec Python

Obtenir un token d’authentification depuis Catalyst Center avec Python

L’objectif de ce tutoriel est de récupérer automatiquement des informations sur mes switches via les API de Catalyst Center (anciennement DNA Center). Pour cela, la première étape consiste à s’authentifier et obtenir un token d’accès.

Il est relativement simple de faire cet appel API sur Postman. Ici, j’ai voulu le faire en python pour pouvoir gérer les données que je récupérerai par la suite.

Voici le code :

Python

C’est un peu brut comme ceci, mais voici ce que cela donne ligne par ligne.

Python
  • import requests : importe la bibliothèque requests, qui permet de faire facilement des appels HTTP (GET, POST, etc.).
  • from requests.auth import HTTPBasicAuth : permet d’utiliser l’authentification de type HTTP Basic (nom d’utilisateur + mot de passe).
Python

On définit les informations de connexion au Catalyst Center (IP, Username, Password) que l’on met dans des variables.

  • dnac_url : l’URL de base de ton serveur DNAC (remplace par l’adresse IP ou le nom DNS).
  • username / password : identifiants pour l’API DNAC.
Python

On réécrit l’url en associant l’IP du Catalyst Center et le reste de l’URL que l’on place dans une variable appellée url.

Python

Tu envoies une requête POST à DNAC :

  • Je donne l’url comme cible à ma requête POST
  • auth=HTTPBasicAuth(…) : Je m’identifie avec mon Username/Password
  • headers={…} : Ce header indique au serveur qu’on attend une réponse au format JSON. Dans ce cas précis, même si on n’envoie pas de contenu, c’est souvent exigé par l’API DNAC.
  • verify=False : Je désactive la vérification du certificat SSL (Utile en lab principalement)

Pour rappel, les fonctions :

  • requests.get() : Pour récupérer des données (lecture)
  • requests.post() : Pour envoyer des données (création)
  • requests.put() : Pour modifier des données
  • requests.delete() : Pour supprimer
Python

Si le code HTTP est 200, cela signifie que l’authentification a réussi.

Si c’est bon, ma variable token sera remplie de la partie token de la réponse JSON.

Ensuite, j’affiche mon Token sous forme de texte.

Pour rappel, les codes HTTP :

  • 200 = OK (tout s’est bien passé)
  • 404 = Not Found (page ou ressource absente)
  • 401 = Unauthorized (non authentifié)
  • 500 = Erreur interne du serveur
PHP

Si le code n’est pas de 200 alors j’affiche le code HTTP puis le texte de la réponse JSON.

Voici le résultat (le Token est en bas) :

🔑 Ce token est essentiel

Il sera utilisé dans toutes les autres requêtes sous la forme d’un en-tête : X-Auth-Token

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut