Aller au contenu

Authentification unique (SSO)

eodia analytics accepte la connexion par mot de passe et par OpenID Connect (Keycloak, Microsoft Entra ID, Google, Authentik… tout fournisseur qui publie une configuration de découverte). Un seul fournisseur se déclare par instance, par des variables d’environnement. C’est le même mécanisme que dans eodia insights : un même fournisseur peut servir les deux.

Chez le fournisseur, enregistrez une application web avec cette adresse de retour :

https://stats.exemple.fr/api/auth/oidc/callback

Elle se déduit de PUBLIC_URL : vérifiez que cette variable donne bien l’adresse publique de l’instance. Puis, côté eodia analytics :

Fenêtre de terminal
OIDC_ISSUER=https://sso.exemple.fr/realms/entreprise
OIDC_CLIENT_ID=eodia-analytics
OIDC_CLIENT_SECRET=…
OIDC_LABEL="Se connecter avec le compte de l’entreprise"

La connexion suit le flux authorization code avec PKCE. Le jeton d’identité est vérifié avec les clés publiées par le fournisseur (émetteur, audience, nonce).

À la première connexion d’une personne :

  • si son identité OIDC est déjà liée à un compte, elle s’y connecte ;
  • sinon, si un compte porte la même adresse e-mail, l’identité lui est liée ;
  • sinon, un compte est créé, avec l’adresse et le nom transmis par le fournisseur.

Le fournisseur doit donc transmettre une adresse e-mail (email). Un compte désactivé dans Administration › Personnes ne peut plus se connecter, même par le SSO.

Fenêtre de terminal
OIDC_GROUPS_CLAIM=groups

Avec cette variable, les groupes du fournisseur sont reflétés à chaque connexion : la personne est retirée de ses groupes personnalisés, puis ajoutée à ceux dont le nom figure dans le claim. Les groupes doivent exister dans eodia analytics sous le même nom ; ceux qui n’existent pas sont ignorés.

Les accès aux sites se donnent par groupe, dans les Réglages de chaque site : en lecture (installation, vérification, statistiques) ou en modification (réglages, métadonnées). Les administrateurs voient tout ; créer un site leur est réservé.

Fenêtre de terminal
PASSWORD_LOGIN=0

L’écran de connexion n’offre plus que le bouton du fournisseur, et l’API refuse toute connexion par mot de passe. Sur une instance neuve, l’écran de création du premier administrateur reste proposé : donnez-lui l’adresse e-mail de son compte chez le fournisseur, puisqu’il se connectera ensuite par le SSO et que son compte sera retrouvé par cette adresse.

Administration › Réglages indique si le SSO et l’envoi d’e-mails sont configurés.

eodia analytics est un logiciel libre d’Eodia.