Configurer SSO pour Koha 23.05

Configurer SSO pour Koha 23.05

Mise en place de l'application single tenant et mapping des données

1. Accéder au portail Azure Entra id

2. Créer un nouvel enregistrement d'application single tenant, attribuer un nom significatif et laisser l'URI de redirection vide





3. Sous Certificats et secrets, ajouter un nouveau secret client. Changer la date d'expiration pour le plus tard possible (24 mois) où selon la recommandation du cégep, la description n'a pas d'importance



Prendre note de la valeur du secret et le copier ailleurs. Le secret ne sera ensuite plus affiché en entièreté dans Azure



Si le secret est perdu, il est toujours possible de recommencer cette étape, elle sera aussi à refaire lors de son expiration

Sous l'onglet Manifeste, ajuster la valeur acceptMappedClaims à true pour autoriser Azure à utiliser des réclamations personnalisés


4. Se diriger dans vue d'ensemble, ouvrir les endpoints et prendre note de l'id d'application et de l'url du document de métadonnée OIDC



5. accéder à l'application géré dans le répertoire local



6. Sous authentification unique, éditer la section attributs et réclamations 



7. Ajouter les attributs nécessaires que l'application va envoyer à Koha, le nom de l'attribut est au choix mais doit préférablement être significatif. Les attributs ajoutés doivent obligatoirement avoir les valeurs du numéro de carte, prénom et nom de famille.

Exemple d'une configuration d'attribut complète. À gauche, le nom de l'attribut. À droite, la propriété de l'utilisateur dans Entra id:


8. Pour les établissement dont le numéro de carte Koha n'est pas le même que l'attribut dans Azure, il est possible de transformer l'attribut pour envoyer la valeur que l'on souhaite dans Koha à l'aide de RegexReplace(). Exemple:

Numéro de DA: 123456
Numéro de carte: A00307123456x



la valeur employeeid dans "Regex pattern" s'agit seulement d'une variable et doit être comprise dans le "Replacement pattern" entre accolades. Dans la plupart des cas, le modèle regex sera toujours (?'employeeid'^.*) puisqu'on veut récupérer la valeur au complet de cette propriété (dans cet exemple user.employeeid)

Il est possible de tester la transformation avant de l'ajouter



9. Sous utilisateurs et groupes, assigner les utilisateurs qui auront l'autorisation d'accéder à la plateforme SSO Koha



10. Se connecter à l'intranet, conserver la fenêtre Azure ouverte

Administration Koha > Paramètres divers > Fournisseurs d'identité



11. Créer un nouveau fournisseur d'identité :

Code: la valeur n'a pas d'importance

Description: Nom qui sera affiché au bouton de connexion dans l'OPAC / intranet

Protocole: OIDC
oAuth est également supporté mais ne sera pas utilisé dans cette procédure. Je n'ai pas réussi à le faire fonctionner
Configuration: Appuyer sur configuration OIDC par défaut et remplir les informations par les valeurs récupérés d'Azure plus tôt
Correspondances: Appuyer sur configuration OIDC par défaut, remplir les correspondances avec les attributs définis dans Azure. Pour plus de correspondance, la liste complète est disponible en ligne ici: https://schema.koha-community.org/23_05/tables/borrowers.html



Point de concordance: au choix du client, userid n'est pas recommandé
URL de l'icône: l'icône qui s'ajoutera au bouton de connexion OIDC, laisser vide

Domaine: le ou n'importe quel domaine qui aura la permission de se connecter OIDC, ajouter le domaine du tenant azure ou une étoile pour permettre tout le monde
Il sera possible plus tard d'ajouter d'autres domaines pour l'accès à l'opac et/ou l'intranet séparément
Bibliothèque par défaut: La bibliothèque où l'utilisateur sera assigné si la correspondance dans ses propriétés Azure est vide
Catégorie par défaut: La catégorie où l'utilisateur sera assigné si la correspondance dans ses propriétés Azure est vide
Permettre à l'OPAC: faire afficher le bouton SSO dans l'OPAC, il sera nécessaire de l'activer pour poursuivre
Permettre à l'intranet: faire afficher le bouton SSO dans l'intranet
Enregistrement automatique: enregistrer l'utilisateur automatiquement s'il n'existe pas dans Koha
Mettre à jour lors de la connexion: mettre à jour les informations dans Koha automatiquement s'ils les champs de correspondance sont aussi modifiés dans Azure

Exemple d'une configuration complète:



À cette étape, l'équipe d'infrastructure Koha doit être informé de redémarrer les services. Les modifications ne se font pas automatiquement
Le bouton de connexion devrait désormais apparaître dans l'OPAC




12. Faire un click droit sur le/les bouton de connexion SSO, copier l'adresse du lien et en prendre note

13. Retourner dans Entra id > enregistrement d'application

14. Sous Authentification, ajouter une nouvelle plateforme web



15. Ajouter l'URL copié du bouton de connexion OPAC dans l'url de redirection

16. Décocher les jetons d'accès et les ID de jetons s'ils sont activés et sauvegarder


Pour configurer SSO pour l'intranet, il est possible d'utiliser la même application Azure en copiant le Redirect URI à partir du bouton de connexion dans l'intranet. Il est aussi nécessaire d'ajouter l'url de l'instance Koha dans la préférence système staffClientBaseURL


Tester

Modification à apporter dans Koha

Instructions de connexion

Vous avez probablement des informations de connexion sur votre OPAC pour aider vos utilisateurs à se connecter. Ces instructions sont habituellement placées dans la section OPACLoginInstructions, dans les personnalisations HTML. Cette section apparait sous la boîte de connexion :


Vous pourrez donc modifier ces instructions en fonction de la nouvelle procédure de connexion avec le SSO. Pour ce faire, rendez-vous dans vos Outils, sous Outils supplémentaires et Personnalisations HTML.

Bouton de connexion SSO

Pour faire apparaitre le bouton de connexion pour l'authentification SSO sur l'interface professionnelle et l'OPAC, il faut que les paramètres suivant soient à Permettre :



Ces paramètres se retrouvent dans les configurations du fournisseur d'identité, pas dans les préférences système ! On les retrouve donc dans l'Administration, sous Paramètres divers et Fournisseurs d'identité.
Dans les fournisseurs d'identité, vis-à-vis le fournisseur qui nous intéresse (vous devriez en avoir qu'un seul), vous cliquerez sur Gérer les domaines.



Dans la liste des domaines, encore une fois, il devrait en avoir un seul, vous cliquerez sur Edit. C'est là où se trouve ces paramètres.



Le libellé du bouton de connexion va dépendre de ce qui est inscrit dans la description du fournisseur d'identité.




Boîte de connexion Identifiant / Mot de passe

Il se pourrait qu'avec la nouvelle méthode d'authentification SSO, vous n'ayez plus du tout besoin que la boîte de connexion traditionnelle dans Koha soit visible. Si l'ensemble de vos utilisateurs peuvent accéder à Koha par l'authentification SSO, vous pouvez alors cacher l'ancienne boîte de connexion. Pour ce faire, il faudra inscrire le code Javascript suivant dans la préférence système OpacUserJs :
//cacher login manuel
$("#auth div.local-login").hide();


    • Related Articles

    • Prêt numérique via Koha

      Deux solutions sont possible pour l'accès à la ressource Prêt numérique : Solution 1 : par connexion à votre répertoire Azure de Office365 (solution recommandée) Cela signifie que la ressource Prêt numérique aura le même comportement que vos autres ...
    • Gestion d'un Koha multisites

      Koha permet la gestion de plusieurs sites/bibliothèques/campus. Certains paramètres sont communs à l'ensemble des bibliothèques d'une même instance Koha alors que certains sont individuels et peuvent être changés en fonction des besoins de chaque ...
    • Feuille de style dans Koha

      Il existe 6 feuilles de style dans Koha, et oui! Mais c’est quoi une feuille de style? C’est un fichier codé en langage xslt  qui permet de faire afficher du contenu d’une certaine façon. Depuis la version 3.8 de Koha, les feuilles de style peuvent ...
    • Choix de la langue pour les notifications

      **NOUVEAUTÉS 17.05** Dans cette capsule, vous allez apprendre comment configurer la nouvelle préférence système pour donner le choix à vos utilisateurs de choisir la langue dans laquelle seront rédigées leurs notifications. Administration Une ...
    • Comment configurer la notification HOLD_SLIP

      Dans cette capsule, nous allons voir comment générer le ticket ( HOLD_SLIP). De plus, nous allons voir comment paramétrer ce reçu dans le module des Outils de Koha. À quel moment est générée cette notification ? Cette notification est en fait un reçu ...