Différences entre les versions de « Authentification à deux facteurs (A2F) via Python »

(refonter section linux pour retirer espanso et autres typos)
 
(3 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
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 [https://espanso.org/ 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.
+
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 [https://espanso.org/ Espanso] (pour Windows) ou le logiciel d'automatisation [https://www.hammerspoon.org Hammerspoon] (pour macOS), 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 ==
 
== 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:
 
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 à jours de Windows 10/11, ou
* une version récente de macOS 10/11/12, ou
+
* macOS 10.14 ou plus récente, ou
* une version récente et mise à jours de Linux
+
* une version récente de Linux
  
Peu importe la plateforme que vous utilisez, vous devez pouvoir exécuter les logiciels suivants pour faire fonctionner cette solution:
+
Vous devez pouvoir exécuter les logiciels suivants pour faire fonctionner cette solution:
* [https://www.python.org/ Python version 3]
+
* [https://www.python.org/ Python version 3] (toutes plateformes)
* [https://espanso.org/ Espanso]
+
* [https://espanso.org/ Espanso] (pour Windows)
 
+
* [https://www.hammerspoon.org Hammerspoon] (pour macOS)
== Fichiers d'installation pour Windows, Mac et Linux ==
 
 
 
Voici les fichiers pour automatiser l'installation
 
 
 
{|style="text-align: center;width: 100%;"
 
|[[Image:Installing-100.png|50px|link=https://dms.umontreal.ca/downloads/a2f/GetTotp_Setup.exe]]
 
|
 
|[[Image:Installing-100.png|50px|link=https://dms.umontreal.ca/downloads/a2f/installGetTotp.sh]]
 
|
 
|[[Image:Installing-100.png|50px|link=https://dms.umontreal.ca/downloads/a2f/getTotp.py]]
 
|-
 
|Installation
 
Windows
 
|
 
|Installation
 
MAC et Linux
 
|
 
|Script
 
python3
 
|}
 
 
 
En bas vous trouverez l'explication détaillé
 
  
 
== Installation sous Windows ==
 
== Installation sous Windows ==
Ligne 39 : Ligne 17 :
 
Pour la plateforme Windows, vous pouvez utiliser le [https://dms.umontreal.ca/downloads/a2f/GetTotp_Setup.exe 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.
 
Pour la plateforme Windows, vous pouvez utiliser le [https://dms.umontreal.ca/downloads/a2f/GetTotp_Setup.exe 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 [[Authentification_à_deux_facteurs_(A2F)_sous_Linux#Obtenir_votre_cl.C3.A9_TOTP|mini-procédure suivante.]]
+
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 [[Authentification_à_deux_facteurs_(A2F)_sous_Linux#Obtenir_votre_cl.C3.A9_TOTP|mini-procédure suivante.]] On vous recommande fortement de sauvegarder votre clé TOTP dans un endroit sécuritaire (une gestionnaire de mot de passe ou autre logiciel similaire) au cas où il faudrait réinstaller votre ordinateur ou si vous voulez utiliser le script sur plusieurs ordinateurs.
  
 
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:
 
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:
Ligne 45 : Ligne 23 :
 
<pre>:code</pre>
 
<pre>:code</pre>
  
dans le champ et il sera automatiquement remplacé par un code d'authentification.
+
dans le champ et il sera automatiquement remplacé par un code d'authentification.  Notez qu'il se peut que certains logiciels plus capricieux (comme certains clients VPN) empêchent Espanso de fonctionner correctement.  Si vous tombez sur ces logiciels, vous pouvez simplement entrer '':code'' dans Notepad puis copier le résultat dans le logiciel.
  
 
== Installation sous macOS ==
 
== Installation sous macOS ==
Ligne 57 : Ligne 35 :
 
<pre>python --version</pre>
 
<pre>python --version</pre>
  
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 [https://www.python.org/downloads/ 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):
+
* Si la version commence par 3 vous n'avez rien à faire.
 +
* Si vous recevez une erreur ''command not found: python'', ré-essayez avec la commande ''python3 --version'' à la place et assurez-vous d'avoir une version de Python 3 (les dernières versions de macOS n'incluent plus la commande ''python'' par défaut, seul ''python3'' est présent)
 +
* Si la version commence par 2 ou qu'il n'y a aucun python d'installé, vous devrez télécharger et installer la version 3 de Python.  Consultez la [https://www.python.org/downloads/ page de téléchargement de Python] pour obtenir le fichier d'installation pour macOS puis installez-le.  Si vous êtes utilisateur de [https://brew.sh/ Homebrew] vous pouvez aussi l'installer avec la commande ''brew install python''.  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):
  
 
<pre>python3 --version</pre>
 
<pre>python3 --version</pre>
  
vous devriez voir une version commençant par 3.
+
Vous devriez voir une version commençant par 3.
  
 
=== Modules Python ===
 
=== 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:
+
Le script a besoin de trois modules python supplémentaires pour fonctionner.  Ouvrez une fenêtre de commande puis entrez la commande suivante pour les installer:
  
<pre>pip3 install --user pyotp keyring</pre>
+
<pre>pip3 install --user pyotp keyring pyperclip</pre>
  
 
=== Installation du script ===
 
=== Installation du script ===
Ligne 75 : Ligne 55 :
 
<pre>python3 $HOME/getTotp.py</pre>
 
<pre>python3 $HOME/getTotp.py</pre>
  
Si vous ne savez pas où obtenir votre clé TOTP, consultez la [[Authentification_à_deux_facteurs_(A2F)_sous_Linux#Obtenir_votre_cl.C3.A9_TOTP|mini-procédure suivante.]]  Une fois votre clé sauvegardée, vous n'aurez plus à exécuter le script manuellement.
+
Si vous ne savez pas où obtenir votre clé TOTP, consultez la [[Authentification_à_deux_facteurs_(A2F)_sous_Linux#Obtenir_votre_cl.C3.A9_TOTP|mini-procédure suivante.]]  Une fois votre clé sauvegardée, vous n'aurez plus à exécuter le script manuellement.  On vous recommande fortement de sauvegarder votre clé TOTP dans un endroit sécuritaire (une gestionnaire de mot de passe ou autre logiciel similaire) au cas où il faudrait réinstaller votre ordinateur ou si vous voulez utiliser le script sur plusieurs ordinateurs.
  
=== Installation d'Espanso ===
+
=== Installation de Hammerspoon ===
  
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:
+
Téléchargez la dernière version de Hammerspoon directement de leur site web:
  
<pre>/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"</pre>
+
https://github.com/Hammerspoon/hammerspoon/releases/latest
  
Suivez les instructions fournies par le script d'installation (si nécessaire).
+
puis décompressez le fichier .zip et déplacez l'application décompressée dans votre dossier ''Applications''.
  
Une fois brew installé, entrez les commandes suivantes pour installer Espanso:
+
Alternativement installez-le via [https://brew.sh/ Homebrew] avec la commande ''brew install --cask hammerspoon''.
  
<pre>
+
Une fois installé, exécutez l'application Hammerspoon pour la première fois et suivez les instruction pour lui donner accès aux fonctions d'Accessibilité de macOS.  Ceci est nécessaire au bon fonctionnement de l'application.
brew tap federico-terzi/espanso
 
brew install espanso
 
espanso --version
 
</pre>
 
  
La dernière commande vous indiquera si Espanso a bien été installé en vous donnant la version du programme.
+
L'icône de Hammerspoon devrait maintenant apparaître en haut de votre écran. Cliquez dessus et choisissez l'option ''Preferences''.  Assurez-vous que ''Launch Hammerspoon at login'' est bien coché, ajustez les autres préférences selon vos goûts.  Fermez les préférences puis cliquez à nouveau sur l'icône de Hammerspoon et choisissez l'option ''Open config''.  Dans la fenêtre qui va apparaître, entrez le script suivant:
 
 
Si vous préférez ne pas utiliser brew, notez qu'il y a [https://espanso.org/docs/install/mac#manually des instructions sur le site d'Espanso] pour effectuer une installation manuelle.
 
 
 
Suite à l'installation, vous devez activer les options d'accessibilité de macOS [https://espanso.org/docs/install/mac#enabling-accessibility 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 [https://dms.umontreal.ca/downloads/a2f/configEspanso.sh script de configuration] dans votre répertoire maison puis dans une fenêtre de commande exécutez ceci:
 
  
 
<pre>
 
<pre>
chmod +x configEspanso.sh
+
hs.hotkey.bind({"alt" }, "4", function()
./configEspanso.sh
+
hs.alert.closeAll()
 +
  hs.alert.show("OTP UdeM Copiée en mémoire!")
 +
ok,result = hs.applescript('do shell script "/usr/bin/python3 ~/getTotp.py -c"')
 +
ok,result = hs.applescript('do shell script "/usr/bin/python3 ~/getTotp.py"')
 +
    hs.alert.show(result,hs.styledtext,hs.screen.mainScreen(),10 )
 +
end)
 
</pre>
 
</pre>
  
Ceci ajoutera les configuration nécessaire à Espanso pour vous fournir un code TOTP sur demandeLorsqu'une invite vous demandera votre code, vous n'aurez qu'à entrer:
+
'''Note importante:''' si vous avez installé Python manuellement ou via Homebrew, il se peut que votre Python se trouve ailleur que dans /usr/binSi vous recevez des erreurs, ouvrez une fenêtre de commande et entrez la commande ''which python3''.  Ajustez les deux lignes du script ci-haut qui contiennent ''/usr/bin/python3'' en conséquence d'où votre python3 se trouve sur votre système.
  
<pre>:code</pre>
+
Sauvegardez le script et quittez l'éditeur, puis cliquez à nouveau sur l'icône de Hammerspoon en haut de votre écran et choisissez l'option ''Reload config''. Vous devriez maintenant pouvoir faire la combinaison de touches ''Option-4'' sur votre clavier et vous recevrez 2 messages, un vous disant que la clé OTP a été copiée en mémoire et un deuxième message vous affichant la clé couranteVous pourrez alors utiliser la fonction ''Coller'' dans n'importe quelle application qui vous demande votre code d'authentification.
 
 
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 [https://www.hammerspoon.org/ Hammerspoon] qui peut être installé sur MacOSIl s'agit d'un logiciel d'automatisation qui utilise le langage Lua pour interagir avec les diverses composantes de MacOS.  Consultez sa [https://www.hammerspoon.org/go/ documentation officielle] pour plus de détails ou encore ce [https://zzamboni.org/post/getting-started-with-hammerspoon/ guide de démarrage].
 
  
 
== Installation sous Linux ==
 
== Installation sous Linux ==
  
Voici les étapes à suivre pour installer la solution sous Linux.
+
Voici les étapes à suivre pour installer la solution sous Linux.  Contrairement à Windows et macOS nous utiliseront seulement le script python et un raccourcis clavier pour mettre votre code OTP en mémoire sans autres logiciels.
  
 
=== Python version 3 ===
 
=== Python version 3 ===
Ligne 135 : Ligne 95 :
 
<pre>python --version</pre>
 
<pre>python --version</pre>
  
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.
+
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'utilise 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 ===
 
=== 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:
+
Le script a besoin de trois modules python supplémentaires pour fonctionner.  Ouvrez un terminal puis entrez la commande suivante pour les installer:
  
<pre>pip3 install --user pyotp keyring</pre>
+
<pre>pip3 install --user pyotp keyring pyperclip</pre>
  
 
=== Installation du script ===
 
=== Installation du script ===
Ligne 149 : Ligne 109 :
 
<pre>python3 $HOME/getTotp.py</pre>
 
<pre>python3 $HOME/getTotp.py</pre>
  
Si vous ne savez pas où obtenir votre clé TOTP, consultez la [[Authentification_à_deux_facteurs_(A2F)_sous_Linux#Obtenir_votre_cl.C3.A9_TOTP|mini-procédure suivante.]]  Une fois votre clé sauvegardée, vous n'aurez plus à exécuter le script manuellement.
+
Si vous ne savez pas où obtenir votre clé TOTP, consultez la [[Authentification_à_deux_facteurs_(A2F)_sous_Linux#Obtenir_votre_cl.C3.A9_TOTP|mini-procédure suivante.]]  Une fois votre clé sauvegardée, vous n'aurez plus à exécuter le script manuellement. On vous recommande fortement de sauvegarder votre clé TOTP dans un endroit sécuritaire (une gestionnaire de mot de passe ou autre logiciel similaire) au cas où il faudrait réinstaller votre ordinateur ou si vous voulez utiliser le script sur plusieurs ordinateurs.
 +
 
 +
Assurez-vous que le script est exécutable (''chmod +x $HOME/getTotp.py'').
 +
 
 +
=== Configurer un raccourcis clavier ===
  
=== Installation d'Espanso ===
+
Cette étape va différer selon l'interface graphique que vous utilisez.  Nous allons couvrir Gnome et XFCE ci-dessous, mais si vous utilisez une autre interface, voici les étapes génériques:
  
Le site d'Espanso contient les instructions d'installation pour les distributions [https://espanso.org/docs/install/linux/#installing-on-ubuntu--debian Debian/Ubuntu], [https://espanso.org/docs/install/linux/#installing-on-manjaro--arch Manjaro/Arch], ainsi qu'une [https://espanso.org/docs/install/linux/#manual-installation procédure d'installation manuelle] pour toutes les autres distributions.  Portez attentions aux pré-requis nécessaire à Espanso.
+
* Trouver où définir des raccourcis clavier (ils seront souvent dans les préférences de clavier, sinon consultez la documentation de votre interface)
 +
* Ajouter un raccourcis vers la commande ''$HOME/getTotp.py -c'' avec une touche de votre choix
  
=== Configuration d'Espanso ===
+
Une fois votre raccourcis définis,  activez-le, ce qui va mettre votre code OTP en mémoire, vous pourrez alors utiliser la fonction ''Coller'' dans n'importe quelle application qui vous demande votre code d'authentification.
  
Téléchargez ce [https://dms.umontreal.ca/downloads/a2f/configEspanso.sh script de configuration] dans votre répertoire maison puis dans une fenêtre de commande exécutez ceci:
+
==== Gnome ====
  
<pre>
+
Accéder à l'application ''Settings'', puis selon votre version de Gnome accéder aux sections suivantes:
chmod +x configEspanso.sh
+
 
./configEspanso.sh
+
* Version 3.x: ''Devices'' --> ''Keyboards'', puis au bas de la section ''Keyboard shortcuts'' cliquez sur le ''+''
</pre>
+
* Version 40 et plus: ''Keyboard'' --> ''Customize shortcuts'' --> ''Custom shortcuts'' --> ''Add shortcut''
  
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:
+
Puis ajouter un raccourcis vers la commande ''$HOME/getTotp.py -c'' avec une touche de votre choix.
  
<pre>:code</pre>
+
==== XFCE ====
  
dans le champ et il sera automatiquement remplacé par un code d'authentification.
+
Dans XFCE, accéder au menu ''Settings'' --> ''Keyboard'' --> ''Application Shortcuts'' puis cliquez sur ''Add'' et ajouter un raccourcis vers la commande ''$HOME/getTotp.py -c'' avec une touche de votre choix.
  
 
== Voir aussi ==
 
== Voir aussi ==

Version actuelle datée du 24 novembre 2022 à 12:48

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 (pour Windows) ou le logiciel d'automatisation Hammerspoon (pour macOS), 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/11, ou
  • macOS 10.14 ou plus récente, ou
  • une version récente de Linux

Vous devez pouvoir exécuter les logiciels suivants pour faire fonctionner cette solution:

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. On vous recommande fortement de sauvegarder votre clé TOTP dans un endroit sécuritaire (une gestionnaire de mot de passe ou autre logiciel similaire) au cas où il faudrait réinstaller votre ordinateur ou si vous voulez utiliser le script sur plusieurs ordinateurs.

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. Notez qu'il se peut que certains logiciels plus capricieux (comme certains clients VPN) empêchent Espanso de fonctionner correctement. Si vous tombez sur ces logiciels, vous pouvez simplement entrer :code dans Notepad puis copier le résultat dans le logiciel.

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.
  • Si vous recevez une erreur command not found: python, ré-essayez avec la commande python3 --version à la place et assurez-vous d'avoir une version de Python 3 (les dernières versions de macOS n'incluent plus la commande python par défaut, seul python3 est présent)
  • Si la version commence par 2 ou qu'il n'y a aucun python d'installé, 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. Si vous êtes utilisateur de Homebrew vous pouvez aussi l'installer avec la commande brew install python. 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 trois 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 pyperclip

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. On vous recommande fortement de sauvegarder votre clé TOTP dans un endroit sécuritaire (une gestionnaire de mot de passe ou autre logiciel similaire) au cas où il faudrait réinstaller votre ordinateur ou si vous voulez utiliser le script sur plusieurs ordinateurs.

Installation de Hammerspoon

Téléchargez la dernière version de Hammerspoon directement de leur site web:

https://github.com/Hammerspoon/hammerspoon/releases/latest

puis décompressez le fichier .zip et déplacez l'application décompressée dans votre dossier Applications.

Alternativement installez-le via Homebrew avec la commande brew install --cask hammerspoon.

Une fois installé, exécutez l'application Hammerspoon pour la première fois et suivez les instruction pour lui donner accès aux fonctions d'Accessibilité de macOS. Ceci est nécessaire au bon fonctionnement de l'application.

L'icône de Hammerspoon devrait maintenant apparaître en haut de votre écran. Cliquez dessus et choisissez l'option Preferences. Assurez-vous que Launch Hammerspoon at login est bien coché, ajustez les autres préférences selon vos goûts. Fermez les préférences puis cliquez à nouveau sur l'icône de Hammerspoon et choisissez l'option Open config. Dans la fenêtre qui va apparaître, entrez le script suivant:

hs.hotkey.bind({"alt" }, "4", function()
hs.alert.closeAll()
  hs.alert.show("OTP UdeM Copiée en mémoire!")
ok,result = hs.applescript('do shell script "/usr/bin/python3 ~/getTotp.py -c"')
ok,result = hs.applescript('do shell script "/usr/bin/python3 ~/getTotp.py"')
    hs.alert.show(result,hs.styledtext,hs.screen.mainScreen(),10 )
end)

Note importante: si vous avez installé Python manuellement ou via Homebrew, il se peut que votre Python se trouve ailleur que dans /usr/bin. Si vous recevez des erreurs, ouvrez une fenêtre de commande et entrez la commande which python3. Ajustez les deux lignes du script ci-haut qui contiennent /usr/bin/python3 en conséquence d'où votre python3 se trouve sur votre système.

Sauvegardez le script et quittez l'éditeur, puis cliquez à nouveau sur l'icône de Hammerspoon en haut de votre écran et choisissez l'option Reload config. Vous devriez maintenant pouvoir faire la combinaison de touches Option-4 sur votre clavier et vous recevrez 2 messages, un vous disant que la clé OTP a été copiée en mémoire et un deuxième message vous affichant la clé courante. Vous pourrez alors utiliser la fonction Coller dans n'importe quelle application qui vous demande votre code d'authentification.

Installation sous Linux

Voici les étapes à suivre pour installer la solution sous Linux. Contrairement à Windows et macOS nous utiliseront seulement le script python et un raccourcis clavier pour mettre votre code OTP en mémoire sans autres logiciels.

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'utilise 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 trois modules python supplémentaires pour fonctionner. Ouvrez un terminal puis entrez la commande suivante pour les installer:

pip3 install --user pyotp keyring pyperclip

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. On vous recommande fortement de sauvegarder votre clé TOTP dans un endroit sécuritaire (une gestionnaire de mot de passe ou autre logiciel similaire) au cas où il faudrait réinstaller votre ordinateur ou si vous voulez utiliser le script sur plusieurs ordinateurs.

Assurez-vous que le script est exécutable (chmod +x $HOME/getTotp.py).

Configurer un raccourcis clavier

Cette étape va différer selon l'interface graphique que vous utilisez. Nous allons couvrir Gnome et XFCE ci-dessous, mais si vous utilisez une autre interface, voici les étapes génériques:

  • Trouver où définir des raccourcis clavier (ils seront souvent dans les préférences de clavier, sinon consultez la documentation de votre interface)
  • Ajouter un raccourcis vers la commande $HOME/getTotp.py -c avec une touche de votre choix

Une fois votre raccourcis définis, activez-le, ce qui va mettre votre code OTP en mémoire, vous pourrez alors utiliser la fonction Coller dans n'importe quelle application qui vous demande votre code d'authentification.

Gnome

Accéder à l'application Settings, puis selon votre version de Gnome accéder aux sections suivantes:

  • Version 3.x: Devices --> Keyboards, puis au bas de la section Keyboard shortcuts cliquez sur le +
  • Version 40 et plus: Keyboard --> Customize shortcuts --> Custom shortcuts --> Add shortcut

Puis ajouter un raccourcis vers la commande $HOME/getTotp.py -c avec une touche de votre choix.

XFCE

Dans XFCE, accéder au menu Settings --> Keyboard --> Application Shortcuts puis cliquez sur Add et ajouter un raccourcis vers la commande $HOME/getTotp.py -c avec une touche de votre choix.

Voir aussi


La dernière modification de cette page a été faite le 24 novembre 2022 à 12:48.