Suggérer des modifications

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: prod_components.png

Mise en place de WSL2 avec ubuntu.

Depuis l’application Microsoft Store, installer ubuntu 22.04 prod_components.png

Afin de vérifier que l’application ubuntu est installée, ouvrez une terminal Powershell et taper: wsl --list prod_components.png

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. prod_components.png

Dans l’application Docker Desktop, sélectionner Paramètres -> Resources -> WSL Integration, et sélectionner la distributiopn ubuntu 22.04: prod_components.png

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

Dans Docker Desktop, voici l’image créée: prod_components.png
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

Dans Docker Desktop, voici l’image créée: prod_components.png
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: prod_components.png

Dans la boite de dialogue, sélectionnnez: Autorités de certification racines de confiance: prod_components.png

Cliquez Importer... En partant de la petite icone linux (voir ci-dessous), naviguez jusqu’au répertoire .tosiam. prod_components.png

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 prod_components.png

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.