Skip to content

Configurer S-Filer Portal pour OpenID Connect ​

S-Filer Portal peut être configuré pour OpenID Connect dans la console administrative ou avec le CLI de configuration. Les deux méthodes suivent les mêmes quatre étapes. Elles doivent être réalisées après qu'OpenID Connect a été configuré dans votre fournisseur d'identité choisi, car certaines informations de cette configuration sont nécessaires dans ces étapes.

Association de l'identité OpenID Connect à un utilisateur S-Filer ​

Lorsqu'un utilisateur se connecte avec OpenID Connect, S-Filer Portal associe l'identité retournée par le fournisseur d'identité à un utilisateur S-Filer de la façon suivante :

  1. S-Filer Portal valide le id_token retourné par le fournisseur d'identité : son émetteur, son audience (qui doit correspondre à l'Identifiant du Client), sa signature RS256 et son nonce.
  2. S-Filer Portal appelle ensuite le point de terminaison UserInfo du fournisseur d'identité.
  3. Le nom d'utilisateur S-Filer est la valeur de la revendication email retournée par UserInfo. La revendication sub (subject) n'est pas utilisée pour associer l'identité à un utilisateur S-Filer.
  4. Le nom complet de l'utilisateur provient de la revendication name (l'adresse courriel est utilisée si cette revendication est absente) et la langue provient de la revendication locale.

Azure AD B2C constitue un cas particulier : ce fournisseur d'identité ne retourne pas de jeton d'accès, de sorte que UserInfo ne peut pas être appelé. L'adresse courriel est alors lue dans la revendication emails du id_token, et c'est la première valeur qui est utilisée.

Le nom d'utilisateur obtenu doit respecter le format de nom d'utilisateur de S-Filer Portal. Sinon, la connexion est refusée.

Si aucun utilisateur S-Filer ne porte ce nom dans le domaine d'authentification, l'utilisateur passe par l'inscription automatique : S-Filer Portal lui propose de lier son authentification à un compte S-Filer existant dont l'adresse courriel correspond, ou de créer un nouveau compte. C'est pourquoi l'Inscription Automatique doit être activée à l'étape 2 de la configuration.

Important

  • Le fournisseur d'identité doit être configuré pour retourner la revendication email (portée email). Sans elle, l'utilisateur ne peut pas être associé à un utilisateur S-Filer.
  • Les comptes S-Filer existants ne sont reconnus directement que si leur nom d'utilisateur est l'adresse courriel de l'utilisateur. Sinon, l'utilisateur doit lier son authentification au compte existant, ou s'inscrire avec un nouveau compte.
  • Comme l'adresse courriel identifie l'utilisateur et sert à trouver les comptes existants à lier, S-Filer Portal fait confiance au fournisseur d'identité pour cette valeur. N'utilisez qu'un fournisseur d'identité qui retourne la revendication email pour des adresses courriel vérifiées, et qui ne permet pas aux utilisateurs de choisir ou de modifier librement leur adresse. Avec un fournisseur d'identité multilocataire, ou qui permet l'inscription libre (par exemple Azure AD B2C), limitez-le aux locataires ou aux domaines de courriel de confiance. Sinon, un utilisateur pourrait revendiquer l'adresse courriel d'un utilisateur S-Filer existant et accéder à son compte.

Configuration avec la console administrative ​

Les étapes suivantes se déroulent dans la console administrative de S-Filer Portal.

Étape 1 - Activer la fonctionnalité Multidomaine pour le client Web ​

  • Se connecter à la Console Administrative avec vos identifiants
  • Ouvrir la section du composant de l'interface utilisateur web pour lequel vous souhaitez offrir l'authentification OpenID Connect
  • Ouvrir la section Configuration
  • Cliquer sur Fonctionnalités
  • Activer la fonctionnalité "Multi domaine"

admin-multi-domain-actif

Étape 2 - Créer et configurer la méthode d'authentification ​

  • Utiliser le lien représenté par le nom du serveur dans le menu de gauche pour créer un nouveau mécanisme d'authentification.

admin-creer-nouvelle-meth-auth

  • Entrer un nom
  • Sélectionner l'option OpenID Connect comme Mécanisme d'Authentification
  • Cliquer sur Ajouter un Mécanisme d'Authentification

admin-creer-nouvelle-auth-openid-connect

  • Dans le menu de gauche, ouvrir la section du serveur S-Filer
  • Ouvrir le menu Authentification
  • Sélectionner le mécanisme d'authentification nouvellement ajouté
  • Dans l'onglet Configurations de base, vous devez Activer le mécanisme d'authentification et l'Inscription Automatique
    • Ceci est nécessaire car c'est la seule manière d'adopter des utilisateurs dans S-Filer Portal puisque l'adoption automatique n'est pas supportée pour OpenID Connect

admin-authentification-active

Étape 3 - Configuration d'OpenID Connect ​

  • Aller dans l'onglet OpenID Connect
  • Entrer les valeurs obtenues lors de la configuration du fournisseur d'identité dans les paramètres URL de Métadonnées, Identifiant du Client et Secret du Client
  • Sélectionner votre fournisseur d'identité dans le menu déroulant du paramètre Fournisseur d'Identité
    • S'il n'est pas listé, sélectionner Autre
    • Ce paramètre détermine le nom et le logo du bouton de connexion représentant ce mécanisme d'authentification sur la page d'authentification de l'interface Web de S-Filer Portal
    • Tous les fournisseurs d'identité connus de S-Filer Portal ont un nom et un logo qui ne peuvent pas être modifiés

INFO

Dans le cas d'un fournisseur inconnu (le choix Autre), les paramètres Nom d'affichage du fournisseur d'identité et Logo personnalisé du fournisseur d'identité sont utilisés pour personnaliser le bouton de connexion. Le Nom d'affichage du fournisseur d'identité apparaitra sur le bouton de connexion après le texte Connectez-vous avec. Le Logo personnalisé du fournisseur d'identité est le nom du fichier contenant le logo à afficher sur le bouton de connexion. Ce fichier doit être placé dans le thème client à cet emplacement précis sur la machine où la passerelle S-Filer Portal a été installée :

/chemin_installation_passerelle/gateway/webapps/sfiler-gui-ajax/themes/votre_theme/images/authentication/5

Si le paramètre Logo personnalisé du fournisseur d'identité n'est pas défini, ou si le fichier défini n'est pas trouvé à l'emplacement spécifié sur le système de fichiers, un logo générique sera utilisé.

admin-authentification-openid-connect

Voir aussi

Se reporter à la documentation de configuration du mécanisme d'authentification pour OpenID Connect pour une description complète de tous les champs de configuration pour ce mécanisme d'authentification.

Étape 4 - Prise en compte des changements ​

Les changements sont pris en compte automatiquement, sans redémarrage :

  • Le serveur S-Filer Portal recharge sa configuration toutes les 5 minutes, y compris la liste des domaines d'authentification et leurs paramètres.
  • L'interface Web recharge sa propre configuration toutes les 5 minutes, environ 30 secondes après le serveur : la liste des domaines fédérés, le fournisseur d'identité, le nom affiché, le logo et la fonctionnalité Multidomaine.

Un nouveau domaine d'authentification, ou une modification de sa configuration, est donc pris en compte en 5 à 6 minutes environ. Pour appliquer les changements immédiatement, redémarrez le serveur S-Filer Portal et l'interface Web. Il n'est pas nécessaire de redémarrer la passerelle.

Une fois les changements pris en compte, un nouveau bouton devient disponible sur la page d'authentification.

login-avec-bouton-microsoft

Configuration avec le CLI de configuration ​

Les étapes suivantes réalisent la même configuration avec le CLI de configuration sfiler-config-cli.

Étape 1 - Activer la fonctionnalité Multidomaine pour le client Web ​

Utiliser la commande set-config pour attribuer la valeur true à la clé cfg.java.gui.sfiler.feature.multi.domain du composant de l'interface utilisateur web pour lequel vous souhaitez offrir l'authentification OpenID Connect. La commande list-components liste les noms des composants.

shell
./sfiler-config-cli.sh -l my-user -p my-password -cf "conf/sfiler.conf" set-config -n "My web GUI" -k "cfg.java.gui.sfiler.feature.multi.domain" -v "true"
shell
.\sfiler-config-cli.bat -l my-user -p my-password -cf "conf\sfiler.conf" set-config -n "My web GUI" -k "cfg.java.gui.sfiler.feature.multi.domain" -v "true"

Si plusieurs interfaces Web doivent offrir l'authentification OpenID Connect, répéter la commande pour chacune d'elles.

Étape 2 - Créer et configurer la méthode d'authentification ​

Utiliser la commande add-auth-domain avec le type 5 (OpenID Connect) pour créer le domaine d'authentification, puis la commande set-auth-config pour activer le domaine et l'inscription automatique :

  • cfg.authentication.external.active : true
  • cfg.authentication.external.autoenroll : true
    • Sa valeur par défaut est déjà true, mais il faut l'indiquer explicitement : l'inscription automatique est la seule manière d'adopter des utilisateurs dans S-Filer Portal puisque l'adoption automatique n'est pas supportée pour OpenID Connect
  • cfg.authentication.external.default.enrollment.role : au besoin, l'identifiant numérique du rôle attribué aux utilisateurs inscrits (voir Lors de la création automatique d'un compte)
shell
./sfiler-config-cli.sh -l my-user -p my-password -cf "conf/sfiler.conf" add-auth-domain -n "My OpenID Connect domain" -t 5
./sfiler-config-cli.sh -l my-user -p my-password -cf "conf/sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.external.active" -v "true"
./sfiler-config-cli.sh -l my-user -p my-password -cf "conf/sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.external.autoenroll" -v "true"
./sfiler-config-cli.sh -l my-user -p my-password -cf "conf/sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.external.default.enrollment.role" -v "0"
shell
.\sfiler-config-cli.bat -l my-user -p my-password -cf "conf\sfiler.conf" add-auth-domain -n "My OpenID Connect domain" -t 5
.\sfiler-config-cli.bat -l my-user -p my-password -cf "conf\sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.external.active" -v "true"
.\sfiler-config-cli.bat -l my-user -p my-password -cf "conf\sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.external.autoenroll" -v "true"
.\sfiler-config-cli.bat -l my-user -p my-password -cf "conf\sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.external.default.enrollment.role" -v "0"

Étape 3 - Configuration d'OpenID Connect ​

Utiliser la commande set-auth-config pour définir les paramètres du mécanisme avec les valeurs obtenues lors de la configuration du fournisseur d'identité :

  • cfg.authentication.openid.connect.metadata.url : l'URL de métadonnées
  • cfg.authentication.openid.connect.client.id : l'identifiant du client
  • cfg.authentication.openid.connect.client.secret : le secret du client
  • cfg.authentication.openid.connect.identity.provider : le fournisseur d'identité
  • cfg.authentication.openid.connect.identity.provider.other.display.name : le nom affiché sur le bouton de connexion, seulement lorsque le fournisseur d'identité est other
  • cfg.authentication.openid.connect.identity.provider.other.custom.logo : le nom du fichier contenant le logo affiché sur le bouton de connexion, seulement lorsque le fournisseur d'identité est other (voir l'emplacement de ce fichier à l'étape 3 de la console administrative)

Le paramètre cfg.authentication.openid.connect.identity.provider détermine le bouton de connexion de la page d'authentification. Il accepte les valeurs suivantes :

ValeurBouton de connexion
microsoftMicrosoft, logo fixe
googleGoogle, logo fixe
salesforceSalesforce, logo fixe
otherNom tiré de cfg.authentication.openid.connect.identity.provider.other.display.name, logo tiré de cfg.authentication.openid.connect.identity.provider.other.custom.logo (logo générique sinon)

La valeur doit être écrite en minuscules, exactement comme dans le tableau : Google, par exemple, n'est pas accepté. Ce paramètre est obligatoire pour un domaine OpenID Connect, car sa valeur par défaut est vide. La console administrative oblige à choisir dans une liste, mais la commande set-auth-config ne valide pas la valeur.

Warning

Si le paramètre cfg.authentication.openid.connect.identity.provider est vide ou contient une valeur invalide, la page de connexion de l'interface Web ne s'affiche plus du tout, et pas seulement le bouton OpenID Connect.

Warning

Le secret du client est un paramètre de type mot de passe : la commande set-auth-config le chiffre automatiquement avant de l'enregistrer dans la base de données, comme le fait la console administrative. Fournir la valeur en clair avec l'option -v. Ne pas fournir une valeur déjà chiffrée, car elle serait chiffrée une seconde fois.

Le secret passé en ligne de commande peut rester dans l'historique du shell. Le supprimer de l'historique une fois la configuration terminée.

shell
./sfiler-config-cli.sh -l my-user -p my-password -cf "conf/sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.openid.connect.metadata.url" -v "https://accounts.google.com/.well-known/openid-configuration"
./sfiler-config-cli.sh -l my-user -p my-password -cf "conf/sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.openid.connect.client.id" -v "my-client-id"
./sfiler-config-cli.sh -l my-user -p my-password -cf "conf/sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.openid.connect.client.secret" -v "my-client-secret"
./sfiler-config-cli.sh -l my-user -p my-password -cf "conf/sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.openid.connect.identity.provider" -v "google"
shell
.\sfiler-config-cli.bat -l my-user -p my-password -cf "conf\sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.openid.connect.metadata.url" -v "https://accounts.google.com/.well-known/openid-configuration"
.\sfiler-config-cli.bat -l my-user -p my-password -cf "conf\sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.openid.connect.client.id" -v "my-client-id"
.\sfiler-config-cli.bat -l my-user -p my-password -cf "conf\sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.openid.connect.client.secret" -v "my-client-secret"
.\sfiler-config-cli.bat -l my-user -p my-password -cf "conf\sfiler.conf" set-auth-config -n "My OpenID Connect domain" -k "cfg.authentication.openid.connect.identity.provider" -v "google"

Voir aussi

  • Authentification OpenID Connect liste toutes les clés de configuration d'un domaine OpenID Connect et leurs valeurs par défaut.
  • GUI décrit la clé cfg.java.gui.sfiler.feature.multi.domain.

Étape 4 - Prise en compte des changements ​

Comme avec la console administrative, les changements sont pris en compte automatiquement dans un délai d'environ 5 minutes. Pour les appliquer immédiatement, redémarrez le serveur S-Filer Portal et l'interface Web. Il n'est pas nécessaire de redémarrer la passerelle. Voir l'étape 4 de la console administrative pour plus de détails.