Interconnexion Shibboleth

Préambule

L'interconnexion de l'application LockSelf à une fédération d'identité se fait via le protocole SAMLv2. Il est donc possible d'interconnecter l'application avec votre IDP Shibboleth.

Attention, suivant l'installation faite et la version de Shibboleth utilisée, les éléments proposés pourraient légèrement varier.

Étape 1 : Déposer sur LockSelf les metadatas de l'IDP

Cette première étape consiste à récupérer le fichier de metadatas issu de votre IDP.

Récupérez l'URL ou le fichier metadatas, et renseignez-le dans l'application LockSelf. Pour cela, consultez cette documentation : Configuration de l'interconnexion SSO (cloud privé uniquement)

Étape 2 : Récupérer les metadatas de l'application

Une fois votre fichier de metadatas issus de votre IDP déposé sur LockSelf, vous pourrez récupérer les metadatas de l'application qui vous serviront à créer le connecteur à l'URL suivante : 

https://FQDN/saml2/metadata

(où FQDN remplace le nom de domaine de votre installation LockSelf)

Étape 3 : Adapter le fichier metadata-providers.xml

Cette troisième étape va permettre d'ajouter LockSelf à votre liste de service provider.

Il faudra donc ajouter dans ce fichier l'élément suivant : 

<MetadataProvider id="LockSelf"
xsi:type="FileBackedHTTPMetadataProvider"
backingFile="%{idp.home}/metadata/lockself-metadata.xml"
disregardTLSCertificate="true"
metadataURL="https://FQDN/saml2/metadata">
</MetadataProvider>
  • "BackingFile" doit correspondre au path où peut être récupéré les metadatas de l'application LockSelf (récupéré à l'étape 2)
  • "MetadataURL" doit correspondre à l'URL d'accès aux metadatas LockSelf. FQDN est à remplacer par le nom de domaine choisi pour votre installation

Étape 4 : Préparer les attributs

Vous devez maintenant préparer les attributs qui seront envoyés par l'IDP à l'application. Pour rappel, les trois attributs à envoyer sont :

  • firstname (contenant le prénom de l'utilisateur)
  • lastname (contenant le nom de l'utilisateur)
  • mail (contenant l'email de l'utilisateur)

Dans le fichier attribute-filter.xml, vous allez devoir créer ces attributs si ceux-ci ne sont pas définis. Par exemple : 

<AttributeFilterPolicy>
<AttributeRule attributeID="firstname">
<PermitValueRule xsi:type="ANY" />
</AttributeRule>
<AttributeRule attributeID="lastname">
<PermitValueRule xsi:type="ANY" />
</AttributeRule>
<AttributeRule attributeID="mail">
<PermitValueRule xsi:type="ANY" />
</AttributeRule>
</AttributeFilterPolicy>

Étape 5 : Bind des attributs

Une fois que les attributs sont créés et utilisables, vous allez devoir créer les règles qui vont permettre de binder les attributs d'un utilisateur au nom attendu par l'application LockSelf.

Pour ce faire, vous allez devoir modifier le fichier attribute-resolver-ldap.xml et vous baser sur l'exemple ci-dessous :

<!-- LockSelf -->
<resolver:AttributeDefinition xsi:type="ad:Simple" id="firstname" sourceAttributeID="givenName">
<resolver:Dependency ref="myLDAP" />
<resolver:AttributeEncoder xsi:type="enc:SAML2String" name="firstname" />
</resolver:AttributeDefinition>

<resolver:AttributeDefinition xsi:type="ad:Simple" id="lastname" sourceAttributeID="sn">
<resolver:Dependency ref="myLDAP" />
<resolver:AttributeEncoder xsi:type="enc:SAML2String" name="lastname" />
</resolver:AttributeDefinition>

<resolver:AttributeDefinition xsi:type="ad:Simple" id="mail" sourceAttributeID="mail">
<resolver:Dependency ref="myLDAP" />
<resolver:AttributeEncoder xsi:type="enc:SAML2String" name="mail" />
</resolver:AttributeDefinition>
  • "sourceAttributeID" correspond aux valeurs issues de votre IDP. Il faudra adapter cette valeur suivant la configuration de cet IDP

Mise à jour