Keycloak distant
Préparer le client
Section intitulée « Préparer le client »Dans le realm distant, configurer un client OpenID Connect pour Studio avec authentification du client et flux d’autorisation par code (Standard Flow). Reporter son identifiant et son secret dans la configuration ci-dessous.
Prévoir les scopes et claims demandés par Studio. Le realm local fourni dans resources/keycloak/mviewer-realm.json peut servir de référence pour les mappers.
Configurer Studio
Section intitulée « Configurer Studio »Dans docker/envs/.envs-mviewerstudio, renseigner les valeurs du serveur distant :
MVIEWERSTUDIO_AUTHLIB_ISSUER=https://sso.example.org/realms/mviewerMVIEWERSTUDIO_AUTHLIB_METADATA_URL=https://sso.example.org/realms/mviewer/.well-known/openid-configurationMVIEWERSTUDIO_AUTHLIB_CLIENT_ID=mviewerstudioMVIEWERSTUDIO_AUTHLIB_CLIENT_SECRET=secret-du-clientSECRET_KEY=remplacer-par-un-secret-aleatoire-longAdapter MVIEWERSTUDIO_AUTHLIB_METADATA_URL au serveur distant ; la valeur
locale renseignée dans .envs-mviewerstudio cible le service keycloak:8080.
Les endpoints du serveur distant doivent être accessibles depuis le navigateur
pour la connexion, et depuis Studio pour les échanges OIDC.
Le client Keycloak doit autoriser le callback
https://votre-domaine/mviewerstudio/auth/callback, ou
http://localhost/mviewerstudio/auth/callback pour un test local.
Autoriser également le retour après déconnexion vers
https://votre-domaine/mviewer/ (ou http://localhost/mviewer/ en local).
Les claims doivent correspondre au contrôle d’accès configuré par
MVIEWERSTUDIO_AUTHLIB_ALLOWED_GROUPS (par défaut MVIEWER_ACCESS).
Démarrer :
docker compose --env-file docker/.env.docker -f docker/docker-compose.yml up -d --buildPasser du serveur local au serveur distant
Section intitulée « Passer du serveur local au serveur distant »docker compose --env-file docker/.env.docker -f docker/docker-compose.yml --profile keycloak stop keycloakModifier les valeurs de Studio puis relancer la commande de démarrage du mode distant. Le profil contrôle les services ; il ne change pas les URL Authlib et n’arrête pas un conteneur déjà actif.
Publier en HTTPS
Section intitulée « Publier en HTTPS »Le navigateur doit joindre la page de connexion. Studio doit joindre les endpoints de découverte, de jetons et de clés publiques annoncés par le realm. Les certificats HTTPS doivent être reconnus par l’environnement du conteneur.
Voir le guide Reverse proxy et HTTPS.