Public concerné : Développeur
- Création de modules d’authentification.
- Création d’une chaine d’écran d’authentification.
- Pour simuler une brique IAM au sein d’une application plus large.
Prérequis
Un outillage basé sur des images docker est mis à dispostion des développeurs. Dans cet article, nous supposons que le développeur:
- utilise un ordinateur sous Windows 10/11.
- dispose de droits Administrateur sur sa machine
- peut se connecter à internet sans contrainte.
Windows 10/11 doit être correctement à jour:
Mise en place de WSL2 avec ubuntu.
Depuis l’application Microsoft Store, installer ubuntu 22.04
Afin de vérifier que l’application ubuntu est installée, ouvrez une terminal Powershell et taper: wsl --list
Notes:
En cas d’erreur de type java.lang.OutOfMemoryError: Java heap space, nous conseillons d’étudier la possibilité d’augmenter
l’espace mémoire alloué à l’application ubuntu. Pour cela, éditez/créez le fichier <HOME>/.wslconfig
qui doit comporter la section suivante:
[wls2]
memory=32GB #indiquez une valeur adaptée à votre machine.
Installation de docker:
Sous Windows, il existe 2 façons d’utiliser docker. Si votre organisation l’autorise, utiliser l’application Docker Desktop, qui offre une expérience utilisateur graphique (pour la gestion des containers, images et volumes)
On peut sans problème se passer de Docker Desktop en utilisant la procédure ci-dessous:
- Sans Docker Desktop
- Avec Docker Desktop
Lancer l’application ubuntu, et taper:
sudo apt update
sudo apt upgrade
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
sudo usermod -aG docker $USER
sudo service docker start
cat >> ~/.profile <<EOF
if [ -z "$(pgrep dockerd)" ]; then
sudo service docker start
fi
EOF
Pour tester cette installation, taper:
docker --version
docker run hello-world
Docker Desktop doit être présent et à jour.
Dans l’application Docker Desktop, sélectionner Paramètres -> Resources -> WSL Integration, et sélectionner la distributiopn ubuntu 22.04:
Installation de tosiam-container dans ubuntu.
Ouvrez l’application ubuntu.
Taper:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git-lfs
mkdir ~/.tosiam
Créer un fichier ~/.tosiam/env.sh
#env.sh
github_token=<YOUR_TOKEN>
#Version de TOSIAM publiée sur github
TOSIAM_VERSION=2.21.3
Créer un fichier ~/.netrc
#.netrc
machine github.com
login <LOGIN>>
password <PASSWORD OR YOUR_TOKEN>
Créer un fichier ~/.gitconfig
#~/.gitconfig
[core]
autocrlf = input
editor = vi
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[user]
email = <YOUR_MAIL>
name = <YOUR_NAME>
Taper:
git clone https://github.com/theopensourceitrust/tosiam-container.git
Editer le fichier ~/.profile, et ajouter à la fin de ce fichier:
PATH=$HOME/tosiam-container/taac:$PATH
Taper:
. ~/.profile
Création des images docker.
Tout d’abord, créons une image system basée sur ubuntu:22.04.
Taper:
cd tosiam-container
./bootstrap.sh
- Windows
- Linux
Ensuite, créez les images applicatives basée sur la version de TOSIAM renseignée dans le fichier env.sh
cd images
./build.sh
Notre catalogue d’image devient:
- Windows
- Linux
Démarrer le serveur de DEV.
Depuis l’application ubuntu, taper:
cd ~/tosiam-container/envs/development
taac up
L’outil taac va installer et démarrer TOSIAM sur les ports HTTP 8080 et HTTPS 8443. Un port 40609 de DEBUG permet aussi de débugger à distance le code de TOSIAM via un outil de développement.
L’installation automatisée reprend les étapes de l’article Installer manuellement un serveur de DEV
A la fin de l’exécution du script, vous devriez avoir la sortie standard suivante:
The scripts are properly setup under directory: /tosiam/tools/admin/tosiam
Debug directory is /tosiam/tools/admin/debug.
Log directory is /tosiam/tools/admin/log.
The version of this tools.zip is: TOSIAM 2.21.3
The version of your server instance is: 2.21.3 Build ab64040971 (2024-May-06 15:43)
environment is configured
environment is up
Accéder à la page d’authentification.
Le serveur de développement utilise le nom de domaine tosiam1.tosit.org
Afin que Windows reconnaisse ce nom, exécutez l’application Bloc Notes en mode administrateur,
et ouvrez le fichier C:\Windows\System32\drivers\etc\hosts
Ajoutez le nom tosiam1.tosit.org comme ci-dessous:
# Added by Docker Desktop
192.168.0.20 host.docker.internal
192.168.0.20 gateway.docker.internal
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal tosiam1.tosit.org
# End of section
Vous pouvez maintenant vous connecter à TOSIAM via l’url http://tosiam1.tosit.org:8080/tosiam
Configurer Votre navigateur pour accéder au port sécurisé de TOSIAM.
Ouvrez chrome, et coller l’url: chrome://settings/security?search=certificat
Sélectionner:
Dans la boite de dialogue, sélectionnnez: Autorités de certification racines de confiance:
Cliquez Importer...
En partant de la petite icone linux (voir ci-dessous), naviguez jusqu’au répertoire .tosiam.
Le chemin sélectionné doit ressembler à ceci: \\wsl.localhost\Ubuntu-22.04\home\ubuntu\.tosiam\tosiamCA.crt
Valider l’import de ce certificat.
Vous pouvez maintenant vous connecter depuis chrome à TOSIAM en HTTPS: https://tosiam1.tosit.org:8443/tosiam
Piloter votre environnement de développement.
Lorsque votre serveur de développement est démarré, vous pouvez le configurer via la console d’administration. Vous ne perdrez pas vos données si vous arrêtez/redémarrer Windows. Voici les commandes de base de l’outil taac pour arrêter/démarrer/détruire votre serveur TOSIAM.
taac down
Cette commande arrête votre serveur. C’est l’équivalent de l’arrêt du serveur TOMCAT qui héberge TOSIAM.
taac up
Cette commande démarre votre serveur de DEV. S’il s’agit d’un premier démarrage, TOSIAM est configuré. Sinon la configuration existante est reprise telle quelle.
taac delete
Cette commande détruit votre serveur TOSIAM. Cela est utile si vous voulez refaire une configuration from scratch.