Update posts/tp-cours-authn.md

This commit is contained in:
fmaury 2025-05-15 07:10:22 +00:00
parent 5bbdf06a0b
commit 9154b0d031

View file

@ -82,7 +82,7 @@ Pour le moment, nous allons simplement le déclarer et le démarrer pour obtenir
(Action) Étendre l'image officielle de Caddy pour ajouter ce fichier de configuration. Pour cela, créer le fichier `Containerfile` (ou `Dockerfile`) suivant, et le stocker dans le répertoire `caddy`.
```
FROM docker.io/caddy:2.7.6-alpine
FROM docker.io/caddy:2.10.0-alpine
COPY Caddyfile /etc/caddy
```
@ -185,7 +185,7 @@ Dans la section services, ajouter :
```
vault:
image: ghcr.io/dani-garcia/vaultwarden:1.30.5-alpine
image: ghcr.io/dani-garcia/vaultwarden:1.33.2
container_name: vault
restart: always
volumes:
@ -260,7 +260,7 @@ Plus tard dans le TP, nous aurons besoin que Forgejo contacte le référentiel d
(Action) Créer un fichier `Containerfile` ou `Dockerfile` qui étend l'image officielle de Forgejo pour y ajouter le certificat de Caddy
```
FROM codeberg.org/forgejo/forgejo:1.21.5-0
FROM codeberg.org/forgejo/forgejo:11
COPY caddy.crt /usr/local/share/ca-certificates/caddyca.crt
RUN update-ca-certificates
```
@ -375,7 +375,7 @@ Dans la section `services`, ajouter :
```
psql:
image: docker.io/postgres:16.2-alpine
image: docker.io/postgres:17.5-alpine
container_name: psql
restart: always
volumes:
@ -479,7 +479,7 @@ Dans la section `services`, ajouter :
KC_DB_URL: jdbc:postgresql://psql/keycloak
KC_DB_USER: keycloak
KC_DB_PASSWORD: keycloak
KC_HOSTNAME_URL: https://idp.tp-authn.broken-by-design.fr:8443/
KC_HOSTNAME: https://idp.tp-authn.broken-by-design.fr:8443/
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: Bonjour1!tititoto
depends_on:
@ -547,13 +547,13 @@ Dans cette partie du TP, nous allons créer des rôles et des groupes et les ass
Cliquer sur le "+" en haut à droite, puis sélectionner "Nouvelle Organisation". Appeler l'organisation "TP" et cliquer sur "Créer une organisation".
(Action) Créer dans l'organisation Forgejo "TP", une équipe `mainteneur`, avec des droits en écriture.
(Action) Créer dans l'organisation Forgejo "TP", une équipe `mainteneurs`, avec des droits en écriture.
Une fois sur la page de l'organisation "TP", sélectionner "Nouvelle équipe". Nommer l'équipe `mainteneur`, et sélectionner le niveau de privilège "Ecriture" pour l'ensemble des actions possibles.
Une fois sur la page de l'organisation "TP", sélectionner "Nouvelle équipe". Nommer l'équipe `mainteneurs`, et sélectionner le niveau de privilège "Ecriture" pour l'ensemble des actions possibles.
(Action) Créer dans l'organisation Forgejo "TP", une équipe `contributeur`, avec des droits en lecture.
(Action) Créer dans l'organisation Forgejo "TP", une équipe `contributeurs`, avec des droits en lecture.
(Action) Ajouter au domaine TP de Keycloak des rôles `mainteneur` et `contributeur`.
(Action) Ajouter au domaine TP de Keycloak des rôles `mainteneur` et `contributeurs`.
Dans le domaine TP, sélectionner le menu "Realm Roles", puis "Create role". Nommer les rôles et cliquer sur "Save".
@ -573,7 +573,7 @@ Pour cela, dans le domaine TP, dans le menu "Groups", cliquer sur le groupe `Mai
(Action) Configurer l'exposition des rôles au client `forgejo`, afin de ne divulguer que la possession des rôles `mainteneur` et `contributeur` à ce client, sous une entrée `forgejo-roles`.
Dans le menu "Clients", cliquer sur le client `forgejo`. Ensuite, dans l'onglet "Client Scopes", cliquer sur l'entrée `forgejo-dedicated`. Cliquer sur le bouton "Add mapper", puis "From predefined mappers". Cocher "realm roles", puis cliquer sur "Add". Cliquer ensuite sur l'entrée "realm roles", et remplacer la valeur dans "Token Claim Name" par `forgejo-roles`. Cocher également "Add to userinfo" et "Add to ID Token", puis cliquer sur "Save". Ensuite, revenir sur la fenêtre "forgejo-dedicated", puis se rendre dans l'onglet "Scope". Désactiver "Full scope allowed", puis cliquer que "Assign Role", cocher les deux rôles `mainteneur` et `contributeur` et cliquer sur "Assign".
Dans le menu "Clients", cliquer sur le client `forgejo`. Ensuite, dans l'onglet "Client Scopes", cliquer sur l'entrée `forgejo-dedicated`. Cliquer sur le bouton "Add predefined mappers". Cocher "realm roles", puis cliquer sur "Add". Cliquer ensuite sur l'entrée "realm roles", et remplacer la valeur dans "Token Claim Name" par `forgejo-roles`. Cocher également "Add to userinfo" et "Add to ID Token", puis cliquer sur "Save". Ensuite, revenir sur la fenêtre "forgejo-dedicated", puis se rendre dans l'onglet "Scope". Désactiver "Full scope allowed", puis cliquer que "Assign Role", cocher les deux rôles `mainteneur` et `contributeur` et cliquer sur "Assign".
(Action) Configurer Forgejo pour tenir compte des rôles fournis par Keycloak.
@ -613,7 +613,7 @@ Cliquer ensuite sur "Add execution", sélectionner "Cookie" et cliquer sur "Add"
Cliquer ensuite sur "Add Subflow", appeler ce flow "user active authentication", et conserver le "flow type" à la valeur "Generic". Dans la colonne "Requirement" de la ligne "user active authentication", sélectionner "Alternative".
Cliquer ensuite sur le "+" de la ligne "user active authentication", puis sur "Add step". Sélectionner "Username Form".
Cliquer ensuite sur le "+" de la ligne "user active authentication", puis sur "Add execution". Sélectionner "Username Form".
Cliquer ensuite sur le "+" de la ligne "user active authentication", puis sur "Add sub-flow". Le nommer "required placeholder", laisser le "flow type" à la valeur "Generic", puis cliquer sur "Add". Dans la colonne "Requirement" de la ligne "required placeholder", sélectionner "Required".