Révision datée du 2 mai 2022 à 11:02 par Barbeaujp (discussion | contributions) (ajout note hammerspoon pour macos)

Authentification à deux facteurs (A2F) via Python

Il est possible d'utiliser un script Python pour générer les codes d'authentification à deux facteurs (A2F) demandé par l'Université. Combiné avec le logiciel d'expansion de texte Espanso, vous pourrez facilement fournir un code A2F lorsque demandé sans avoir à ouvrir un autre logiciel ou envoyer le code sur votre téléphone. La procédure ci-dessous vous donnera les grandes étapes pour configurer le tout sur votre ordinateur Windows, Mac ou Linux.

Pré-requis

Notez qu'il nous est impossible de tester toutes les versions existantes des divers systèmes d'opération, vous devez donc avoir sur votre ordinateur:

  • une version à jours de Windows 10, ou
  • une version récente de macOS 10/11/12, ou
  • une version récente et mise à jours de Linux

Peu importe la plateforme que vous utilisez, vous devez pouvoir exécuter les logiciels suivants pour faire fonctionner cette solution:

Fichiers d'installation pour Windows, Mac et Linux

Voici les fichiers pour automatiser l'installation

Installing-100.png Installing-100.png Installing-100.png
Installation

Windows

Installation

MAC et Linux

Script

python3

En bas vous trouverez l'explication détaillé

Installation sous Windows

Pour la plateforme Windows, vous pouvez utiliser le fichier d'installation lié ici pour effectuer l'installation de toutes les composantes nécessaire, soit Python, Espanso et le script. Téléchargez le fichier puis exécutez-le.

Vers la fin de l'installation, une fenêtre de commande vous demandera d'entrer votre clé TOTP afin de terminer l'installation. Entrez votre clé puis appuyez sur Enter. Si vous ne savez pas où obtenir votre clé TOTP, consultez la mini-procédure suivante.

Après que votre clé TOTP soit entrée, vous pourrez maintenant utiliser la fonction d'expansion de texte d'Espanso pour obtenir votre code A2F. Lorsqu'une invite vous demandera votre code, vous n'aurez qu'à entrer:

:code

dans le champ et il sera automatiquement remplacé par un code d'authentification.

Installation sous macOS

Voici les étapes à suivre pour installer la solution sous macOS.

Python version 3

Ouvrez une invite de commande puis entrez la commande suivante pour vérifier la version de Python installé sur votre système:

python --version

Si la version commence par 3 vous n'avez rien à faire. Cependant si la version commence par 2, vous devrez télécharger et installer la version 3 de Python. Consultez la page de téléchargement de Python pour obtenir le fichier d'installation pour macOS puis installez-le. Notez que cette version de Python sera installé dans un répertoire différent pour ne pas entrer en conflit avec la version de Python qui est installée par défaut sur macOS. Une fois l'installation complétée, ouvrez une fenêtre de commande et entrez la commande suivante (notez le 3 à la fin de python):

python3 --version

vous devriez voir une version commençant par 3.

Modules Python

Le script a besoin de deux modules python supplémentaires pour fonctionner. Ouvrez une fenêtre de commande puis entrez la commande suivante pour les installer:

pip3 install --user pyotp keyring

Installation du script

Téléchargez le script ici puis sauvegardez le dans votre répertoire maison. Ouvrez ensuite une fenêtre de commande et exécutez le script manuellement afin d'y entrer votre clé TOTP:

python3 $HOME/getTotp.py

Si vous ne savez pas où obtenir votre clé TOTP, consultez la mini-procédure suivante. Une fois votre clé sauvegardée, vous n'aurez plus à exécuter le script manuellement.

Installation d'Espanso

La façon la plus facile d'installer Espanso est via le logiciel brew. Si vous n'avez pas déjà brew d'installé sur votre ordinateur, ouvrez une fenêtre de commande puis entrez la commande suivante:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Suivez les instructions fournies par le script d'installation (si nécessaire).

Une fois brew installé, entrez les commandes suivantes pour installer Espanso:

brew tap federico-terzi/espanso
brew install espanso
espanso --version

La dernière commande vous indiquera si Espanso a bien été installé en vous donnant la version du programme.

Si vous préférez ne pas utiliser brew, notez qu'il y a des instructions sur le site d'Espanso pour effectuer une installation manuelle.

Suite à l'installation, vous devez activer les options d'accessibilité de macOS tel qu'expliqué ici. Voici un résumé rapide des étapes, consultez le lien précédent pour plus de détails:

  • entrez la commande espanso register dans une fenêtre de commandes
  • cliquez sur Open System Preferences dans la fenêtre qui apparaîtra
  • cliquez sur le cadenas pour débarrer les préférences de sécurité
  • dans la catégorie Accessibility, cochez Espanso puis fermez la fenêtre
  • de retour dans la fenêtre de commande, tapez espanso start

Espanso devrait maintenant être installé et actif. Un petit icône "e" devrait être visible dans la barre en haut de votre écran.

Configuration d'Espanso

Téléchargez ce script de configuration dans votre répertoire maison puis dans une fenêtre de commande exécutez ceci:

chmod +x configEspanso.sh
./configEspanso.sh

Ceci ajoutera les configuration nécessaire à Espanso pour vous fournir un code TOTP sur demande. Lorsqu'une invite vous demandera votre code, vous n'aurez qu'à entrer:

:code

dans le champ et il sera automatiquement remplacé par un code d'authentification.

Produit alternatif: Hammerspoon

Si la solution ci-haut ne vous convient pas, il existe aussi le produit Hammerspoon qui peut être installé sur MacOS. Il s'agit d'un logiciel d'automatisation qui utilise le langage Lua pour interagir avec les diverses composantes de MacOS. Consultez sa documentation pour plus de détails.

Installation sous Linux

Voici les étapes à suivre pour installer la solution sous Linux.

Python version 3

Ouvrez un terminal et vérifiez la version de Python qui est installé:

python --version

Si vous n'avez pas la version 3, veuillez suivre les instructions de votre distribution afin d'installer Python 3. Ces instructions diffèrent selon chaque distribution et seraient trop vaste pour les inclures ici. Notez aussi que Python version 2 n'est plus supporté, donc si votre distribution l'utilisent encore comme version principale, il serait pertinent de considérer une migration vers une version plus récente de votre distribution ou une autre distribution.

Modules Python

Le script a besoin de deux modules python supplémentaires pour fonctionner. Ouvrez un terminal puis entrez la commande suivante pour les installer:

pip3 install --user pyotp keyring

Installation du script

Téléchargez le script ici puis sauvegardez le dans votre répertoire maison. Ouvrez ensuite un terminal et exécutez le script manuellement afin d'y entrer votre clé TOTP:

python3 $HOME/getTotp.py

Si vous ne savez pas où obtenir votre clé TOTP, consultez la mini-procédure suivante. Une fois votre clé sauvegardée, vous n'aurez plus à exécuter le script manuellement.

Installation d'Espanso

Le site d'Espanso contient les instructions d'installation pour les distributions Debian/Ubuntu, Manjaro/Arch, ainsi qu'une procédure d'installation manuelle pour toutes les autres distributions. Portez attentions aux pré-requis nécessaire à Espanso.

Configuration d'Espanso

Téléchargez ce script de configuration dans votre répertoire maison puis dans une fenêtre de commande exécutez ceci:

chmod +x configEspanso.sh
./configEspanso.sh

Ceci ajoutera les configuration nécessaire à Espanso pour vous fournir un code TOTP sur demande. Lorsqu'une invite vous demandera votre code, vous n'aurez qu'à entrer:

:code

dans le champ et il sera automatiquement remplacé par un code d'authentification.

Voir aussi


La dernière modification de cette page a été faite le 2 mai 2022 à 13:38.