CARL Source - Facility
Configuration du système [Fédération d'identité]
Personnalisation > Fonctions de personnalisation > Configuration du système > Configuration du système : Formulaires > Configuration du système [Fédération d'identité]

Cet onglet joue un rôle dans la configuration du système : il vous permet de renseigner les paramètres relatifs à la mise en place de la fédération d'identité.

La fédération d'identité est un concept permettant de partager facilement des informations sur un utilisateur entre différentes plateformes. Cela permet à l'utilisateur de naviguer entre différents services en ne s'authentifiant qu'une seule fois.
Ce mécanisme est mis en œuvre au sein d'une architecture SSO (Single Sign-On) et utilise un protocole normalisé tel que SAML, OAuth ou OpenID Connect.
L'environnement CARL Source utilise le protocole SAMLv2.

 

Principe de base

 

  1. Le client demande l’accès à une ressource sur l’application ; les informations sur l’utilisation d’un IDP sont alors échangées entre le client et le SP.

  2. Le SP génère le fichier d’échange SAML et le transfère au client avec une demande de redirection vers l’IDP.

  3. Le client transfère le fichier SAML vers l’IDP avec une demande d’authentification.

  4. L’utilisateur est authentifié et l’IDP génère sa réponse SAML signée et son token, qu’il transmet au client.

  5. Le client fait suivre la réponse de l’IDP au SP. Si tout est correct, la session de l’utilisateur est initialisée sur le SP.

  6. Les échanges (6, 7, 8, …​) entre le client et le SP peuvent alors s’effectuer (tant que la session est active sur le SP) sans redemander une authentification à l’IDP.

 

Configuration dans CARL Source

Sur l'onglet Configuration du système [Système] :

  1. Sélectionner la rubrique Authentification sur la partie gauche.
  2. Effectuer les actions suivantes :
    1. Renseigner le paramètre externalUserDirectoryAdapter avec la valeur suivante : com.carl.xnet.system.backend.auth.FedIdUserDirectory
    2. Décocher la case loginCaseSensitive (Recherche du login en tenant compte de la casse).
    3. Laisser le paramètre loginParameterName sans valeur.

 

Puis, sur l'onglet Configuration du système [Fédération d'identité], configurer les relations à utiliser entre les attributs fournis par l'Identity Provider à travers les entêtes http et les attributs de l'utilisateur qui se connecte.

Le mapping des attributs ne doit comporter aucun espace avant et après le symbole « = ».

Les attributs remontés dans l’entête http doivent impérativement être en minuscules car l’option « Fédération d’Identité » tient compte de la casse et ne supporte que les minuscules.

 

Exemple de Mapping
Copier le code
##################################################################################################
# Mapping des attributs de l'utilisateur par rapport aux attributs dans l'entête HTTP.
#
# Pour les attributs suivants, on précise (à gauche) l'attribut de l'utilisateur et (à droite)
# l'attribut correspondant dans l'entête HTTP qui fournit la valeur.
# Si l'attribut dans l'entête n'est pas précisé, l'attribut de l'utilisateur sera laissé vide.
##################################################################################################
##################################################################################################
# clé contrôle validant l'origine du declenchement de la connexion et du provisionning
# Attribute : l'attirbut de l'entête contenant la passphrase à contrôler (pas de contrôle si nulle)
# value : valeur de la passphrase valide
##################################################################################################
passphrase.attribute=
passphrase.value=
##################################################################################################
# Mapping du login permettant la recherche de l'utilisateur (qui sera créé ou mis à jour)
# avec lequel la connexion à CARLSource sera effectuée 
# Non modifiable - c'est forcément celui du SSO de la configuraiton système (loginParameterName)
##################################################################################################
user.login=
##################################################################################################user.code=myuserid
user.fullName=displayname
user.organization=
user.job=
user.department=
user.language=
user.timeZoneId=
user.address1=
user.address2=
user.address3=
user.zipCode=
user.city=
user.state=
user.country=
user.phone=
user.mobile=
user.fax=
user.mail=email
user.MRAddressee=
user.mobility=
user.external=
user.supervisor=
user.site=
user.profile=
user.customGroup=
user.groupTech=
user.groupSite=
################################################################################
# Valeur par défaut
################################################################################
default.user.site=
default.user.profile=CARL
default.user.customGroup=
default.user.groupTech=
default.user.groupSite =
default.user.business=DEFAULT
default.user.language=fr_FR
default.user.MRAddressee=false
################################################################################
# Attributs à exclure lors de la mise à jour des utilisateurs.
# Les attributs doivent être séparé par des virgules.
# le user.login est user.code sont systématiquement exclus
# On ne tient pas compte de cette liste pour la création des utilisateurs.
# Exemple : excludeForUpdate=user.login,user.code,user.site,user.profile
################################################################################
excludeForUpdate=user.login,user.code

 

Pour toute information complémentaire concernant la mise en place de la fédération d'identité, prendre contact avec le support technique de CARL Berger-Levrault.