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
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.
Le SP génère le fichier d’échange SAML et le transfère au client avec une demande de redirection vers l’IDP.
Le client transfère le fichier SAML vers l’IDP avec une demande d’authentification.
L’utilisateur est authentifié et l’IDP génère sa réponse SAML signée et son token, qu’il transmet au client.
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.
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] :
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.