Premier article d'une série d'articles sur l'installation et la configuration de LemonLDAP::NG logiciel open source qui fournit une solution d'authentification unique distribuée avec gestion centralisée des droits. Il permet de mettre en place une solution SSO (Single Sign-On / Authentification unique) pour les applications Web et donc de faciliter leur usage par les utilisateurs.
Depuis quelques mois je teste différents logiciels permettant de mettre en place une solution SSO. Dans le cadre d'une expérimentation, je souhaitais pousser ces différentes solutions dans leur retranchement avec comme critères :
Voici un court résumé des différentes solutions testées qui se base sur mes connaissances acquises elles-même sur mon expérience personnelle (forcément imparfaite) :
Authelia :
La solution est parfaite pour un petit CHATONS (Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires) ou une structure simple mais avec peu de fonctionnalités. Dans tous les cas, elle ne répond pas à mes critères.
Si l'authentification Kerberos avait été implémentée, j'aurai certainement arrếté mes recherches. Dans sa version gratuite, elle fera tout aussi efficacement son travail qu'Authelia mais avec plus de fonctionnalités.
Keycloak :
J'ai failli retenir cette solution en version bare-metal jusqu'au moment où j'ai voulu gérer les accès aux applications sans pouvoir la mettre en place. La documentation officielle est très pauvre à mon goût. Ce qui m'a alors amené à (re)tester LemonLDAP::NG.
J'ai d'abord baissé les bras une première fois sur LemonLDAP::NG à cause de la configuration des multiples backend d'authentification qui est documentée mais pas évidente à comprendre dans sa mise en place. Puis à force de fouiller dans la documentation et ayant eu l'info que le multiple backend était possible, j'ai réussi à monter une solution répondant à mes critères. Mais je le redis, c'était une plaie à trouver les informations notamment par le manque de retours sur le net. C'est la raison pour laquelle j'ai décidé de rédiger plusieurs articles sur le sujet.