Skip to content
Snippets Groups Projects
Commit 022d9ba8 authored by BITARD Michaël's avatar BITARD Michaël Committed by SAFINE LAGET Anis
Browse files

feat(connexion): Intégrer ProConnect (!1623)

parent 9e0f17d6
No related branches found
No related tags found
1 merge request!1623feat(connexion): Intégrer ProConnect
Pipeline #486287 passed
FROM quay.io/keycloak/keycloak:25.0.5 FROM quay.io/keycloak/keycloak:26.1.0
# Utiliser le makefile, mettre à jour la version à la main # Utiliser le makefile, mettre à jour la version à la main
COPY keycloak-franceconnect-6.2.0.jar /opt/keycloak/providers/keycloak-franceconnect-6.2.0.jar COPY keycloak-franceconnect-7.0.0.jar /opt/keycloak/providers/keycloak-franceconnect-7.0.0.jar
COPY keycloak-theme-for-kc-26-and-above.jar /opt/keycloak/providers/keycloak-theme-for-kc-26-and-above.jar
COPY keycloak-bcrypt-1.6.0.jar /opt/keycloak/providers/keycloak-bcrypt-1.6.0.jar COPY keycloak-bcrypt-1.6.0.jar /opt/keycloak/providers/keycloak-bcrypt-1.6.0.jar
COPY keycloak_theme/ /opt/keycloak/themes/camino/ COPY keycloak_theme/ /opt/keycloak/themes/camino/
...@@ -274,10 +274,10 @@ endif ...@@ -274,10 +274,10 @@ endif
# TODO 2024-10-21 une fois tout migré sur ecoCompose, il faudra supprimer tout ce qu'il y a dans infra sauf le dossier ecocompose # TODO 2024-10-21 une fois tout migré sur ecoCompose, il faudra supprimer tout ce qu'il y a dans infra sauf le dossier ecocompose
keycloak/build: keycloak/build:
docker build -t caminofr/camino-keycloak:25.0.5 -f Dockerfile.keycloak infra/ecocompose/keycloak/ docker build -t caminofr/camino-keycloak:26.1.0 -f Dockerfile.keycloak infra/ecocompose/keycloak/
keycloak/push: keycloak/push:
docker push caminofr/camino-keycloak:25.0.5 docker push caminofr/camino-keycloak:26.1.0
nginx-proxy/build: nginx-proxy/build:
docker build -t caminofr/camino-nginx-proxy:1.6.1 -f Dockerfile.nginx-proxy infra/ecocompose/nginx-proxy/ docker build -t caminofr/camino-nginx-proxy:1.6.1 -f Dockerfile.nginx-proxy infra/ecocompose/nginx-proxy/
......
...@@ -43,7 +43,7 @@ services: ...@@ -43,7 +43,7 @@ services:
- ${UI_PORT}:${UI_PORT} - ${UI_PORT}:${UI_PORT}
oauth2: oauth2:
container_name: camino_oauth2 container_name: camino_oauth2
image: quay.io/oauth2-proxy/oauth2-proxy:v7.6.0 image: quay.io/oauth2-proxy/oauth2-proxy:v7.8.1
environment: environment:
OAUTH2_PROXY_PROVIDER: 'keycloak-oidc' OAUTH2_PROXY_PROVIDER: 'keycloak-oidc'
OAUTH2_PROXY_CLIENT_ID: ${KEYCLOAK_CLIENT_ID} OAUTH2_PROXY_CLIENT_ID: ${KEYCLOAK_CLIENT_ID}
...@@ -79,7 +79,7 @@ services: ...@@ -79,7 +79,7 @@ services:
- ${OAUTH_PORT}:${OAUTH_PORT} - ${OAUTH_PORT}:${OAUTH_PORT}
keycloak: keycloak:
container_name: camino_keycloak container_name: camino_keycloak
image: quay.io/keycloak/keycloak:25.0.5 image: quay.io/keycloak/keycloak:26.1.0
depends_on: depends_on:
- db - db
environment: environment:
...@@ -89,7 +89,8 @@ services: ...@@ -89,7 +89,8 @@ services:
KC_DB_PASSWORD: "${PGPASSWORD}" KC_DB_PASSWORD: "${PGPASSWORD}"
KC_DB_USERNAME: "${PGUSER}" KC_DB_USERNAME: "${PGUSER}"
volumes: volumes:
- $PWD/infra/roles/camino/files/keycloak-franceconnect-6.2.0.jar:/opt/keycloak/providers/keycloak-franceconnect-6.2.0.jar - $PWD/infra/roles/camino/files/keycloak-franceconnect-7.0.0.jar:/opt/keycloak/providers/keycloak-franceconnect-7.0.0.jar
- $PWD/infra/roles/camino/files/keycloak-theme-for-kc-26-and-above.jar:/opt/keycloak/providers/keycloak-theme-for-kc-26-and-above.jar
- $PWD/infra/roles/camino/files/keycloak-bcrypt-1.6.0.jar:/opt/keycloak/providers/keycloak-bcrypt-1.6.0.jar - $PWD/infra/roles/camino/files/keycloak-bcrypt-1.6.0.jar:/opt/keycloak/providers/keycloak-bcrypt-1.6.0.jar
- $PWD/infra/roles/camino/files/keycloak_theme/:/opt/keycloak/themes/camino/ - $PWD/infra/roles/camino/files/keycloak_theme/:/opt/keycloak/themes/camino/
command: command:
......
...@@ -85,7 +85,7 @@ services: ...@@ -85,7 +85,7 @@ services:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
oauth2: oauth2:
container_name: camino_oauth2 container_name: camino_oauth2
image: quay.io/oauth2-proxy/oauth2-proxy:v7.6.0 image: quay.io/oauth2-proxy/oauth2-proxy:v7.8.1
depends_on: depends_on:
- ui - ui
- keycloak - keycloak
...@@ -123,7 +123,7 @@ services: ...@@ -123,7 +123,7 @@ services:
- nginx-proxy - nginx-proxy
keycloak: keycloak:
container_name: camino_keycloak container_name: camino_keycloak
image: caminofr/camino-keycloak:25.0.5 image: caminofr/camino-keycloak:26.1.0
depends_on: depends_on:
- db - db
environment: environment:
......
## Intégration avec ProConnect
Nous utilisons la version 26 de keycloak, avec le provider [keycloak-franceconnect](https://github.com/InseeFr/Keycloak-FranceConnect) et le thème [DSFR](https://github.com/codegouvfr/keycloak-theme-dsfr)
Ceci est un mini tutoriel pour configurer proconnect et réussir à récupérer le numéro de siret dans le token, afin d'associer des utilisateurs automatiquement à des entreprises.
Dans l'administration de Keycloak, dans le realm Camino
- Ajouter le provider 'Agent connect' (il devrait être renommé ProConnect un jour)
- alias 'proconnect'
- display name 'ProConnect'
- client id 'le clientid généré par la démarche simplifiée'
- client secret 'le client secret généré par la démarche simplifiée
- environnement AgentConnect 'INTEGRATION_INTERNET' (pour les tests, PRODUCTION_INTERNET pour la prod)
Une fois sauvegardé, de nouvelles options apparaissent.
Pour les scopes, on a mis 'openid profile email siret'
On coche 'trust email'
Pour le First login flow override, on a notre propre flow qui s'appelle 'CaminoIdentityProviderFlow'
Dans les mapper, on ajoute un attribute importer siret, il faut mettre siret partout en gros...
Ensuite il faut aller dans le client (par exemple 'camino-local' pour le développement)
Dans l'onglet Settings, modifier Login theme à "DSFR"
Dans l'onglet client scopes, il faut modifier le 'camino-local-dedicated'
Il faut ajouter un mapper de type "user attribute" (pareil, on met siret partout...)
Et voilà \o/
...@@ -20,4 +20,5 @@ nav: ...@@ -20,4 +20,5 @@ nav:
- 'Base de données': '04-deploiement/03-base-de-donnees.md' - 'Base de données': '04-deploiement/03-base-de-donnees.md'
- Fichiers: '04-deploiement/04-fichiers.md' - Fichiers: '04-deploiement/04-fichiers.md'
- Scripts: '04-deploiement/05-utils.md' - Scripts: '04-deploiement/05-utils.md'
- Keycloak: '04-deploiement/06-keycloak.md'
- Storybook: '/storybook' - Storybook: '/storybook'
File added
File added
...@@ -47,10 +47,23 @@ ...@@ -47,10 +47,23 @@
owner: camino owner: camino
group: users group: users
become: True become: True
- name: Supprime l'ancien jar keycloak france connect
ansible.builtin.file:
path: /srv/www/camino/keycloak-franceconnect-6.2.0.jar
state: absent
become: True
- name: Installe le jar keycloak dsfr
ansible.builtin.copy:
src: keycloak-theme-for-kc-26-and-above.jar
dest: /srv/www/camino/keycloak-theme-for-kc-26-and-above.jar
mode: u=rwx,g=rw,o=r
owner: camino
group: users
become: True
- name: Installe le jar keycloak france connect - name: Installe le jar keycloak france connect
ansible.builtin.copy: ansible.builtin.copy:
src: keycloak-franceconnect-6.2.0.jar src: keycloak-franceconnect-7.0.0.jar
dest: /srv/www/camino/keycloak-franceconnect-6.2.0.jar dest: /srv/www/camino/keycloak-franceconnect-7.0.0.jar
mode: u=rwx,g=rw,o=r mode: u=rwx,g=rw,o=r
owner: camino owner: camino
group: users group: users
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment