Python - Authentification HTTP

L'authentification est le processus qui consiste à déterminer si la demande provient d'un utilisateur valide qui dispose des privilèges requis pour utiliser le système. Dans le monde des réseaux informatiques, c'est une exigence très vitale car de nombreux systèmes continuent d'interagir les uns avec les autres et un mécanisme approprié doit garantir que seules des interactions valides se produisent entre ces programmes.

Les noms des modules python requestsa une fonctionnalité intégrée pour appeler diverses API fournies par les applications Web de service avec les informations d'identification de l'utilisateur. Ces informations d'identification doivent être intégrées dans le programme appelant. Si les API le vérifient avec succès, une connexion valide se produit.

Installation des demandes

Nous installons le module python requis nommé requêtes pour exécuter le programme d'authentification.

pip install requests

S'authentifier sur Github

Ci-dessous, nous voyons un mécanisme d'authentification simple impliquant uniquement le nom d'utilisateur et le mot de passe. Une réponse réussie indique une connexion valide.

import requests 
r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
print r

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

 
      

S'authentifier sur Twitter

Nous pouvons également exécuter un programme pour utiliser l'API de Twitter et effectuer une connexion réussie en utilisant le code suivant. Nous utilisons la méthode OAuth1 disponible dans le module de requêtes pour traiter les paramètres requis par l'API Twitter. Comme nous pouvons le voir, le module de requêtes est capable de gérer un mécanisme d'authentification plus complexe impliquant des clés et des jetons plutôt que simplement le mécanisme de nom d'utilisateur et de mot de passe.

import requests
from requests_oauthlib import OAuth1
url = 'https://api.twitter.com/1.1/account/verify_credentials.json'
auth = OAuth1('YOUR_APP_KEY', 'YOUR_APP_SECRET',
              'USER_OAUTH_TOKEN', 'USER_OAUTH_TOKEN_SECRET')
requests.get(url, auth=auth)

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

{
  "errors": [
    {
      "code": 215,
      "message": "Bad Authentication data."
    }
  ]
}

Mais en utilisant les valeurs appropriées pour les paramètres OAuth1, vous obtenez une réponse réussie.