Logo Khaganat
Traductions de cette page?:

Une authentification unique

… pour les rassembler tous, et dans les ténèbres les lier…

Description

Le forum, le wiki et les autres modules du site nécessitent des authentifications, avec création de compte, chacun sa façon de faire et sa base de donnée. L'idée est d'unifier toutes ces authentifications en une unique pour une meilleure circulation entre les différentes parties.

  • S'inscrire une seule et unique fois pour avoir accès à toutes les parties du site
  • S'enregistrer une seule fois par session (voir même garder en mémoire le fait qu'on s'est connecté) et que ce soit valide sur chaque module.

LDAP semble le plus efficace, le plus complet, permettant de gérer tous les cas de figures. Voir http://khaganat.ninm.net/forum/viewtopic.php?f=4&t=231#p738 et http://khaganat.ninm.net/wikhan/fr:todo:dev:identification (à mettre à jour ?). La tâche peut se découper en plusieurs sous-tâches, mais comme ce sera à la même personne de tout suivre…

  • Apprendre comment fonctionne LDAP
  • Faire marcher LDAP de façon basique (est-ce que lemonldap est une aide ou non ?)
  • Adapter les divers modules (wiki, forum) à ldap

MAJ 17/08/2015 : LDAP est en place mais connecté uniquement à scm pour le moment. Les comptes sont modifiables sur https://ssp.khaganat.net

  • Le support sous dokuwiki est bon. Il va falloir créer les groupes équivalent sous ldap et sans doute faire le ménage dedans ; une fois le plugin ldap activé, on ne peut plus gérer les groupes et les utilisateurs via l'interface du wiki.
  • Sur le forum, il existe un module (payant ? et pas parfait), et un module très vieux. À tester…
  • lier avec le blog ne me semble pas dans les priorités. Il y a peu de rédacteurs et il est possible qu'on migre vers un autre système si c'est plus facile.
  • images : là ça va être coton, car cet outil est un petit truc, ultra light. Mais le dev est français. À voir. Ici aussi, on peut migrer vers d'autres outils si besoin.
  • pastebin : Stikked intègre une authentification via ldap. On devrait d'ailleurs tenter de la mettre en place…
  • pad : etherpad semble pouvoir s'interfacer avec ldap, y'a de la doc dessus sur le net, mais concernant l'engin, je ne promet rien avant la fin.
  • le mmorpg : je ne sais pas si ce sera facile de lier ça. Ryzom core s'appuie sur mysql pour gérer les utilisateurs, si j'ai bien compris. Ce n'est pas non plus la priorité, car nous envisageons de remanier le mode de connexion des joueurs au jeu, à terme.

MAJ 04/03/2016 : On nous conseille d'aller voir du côté de shibboleth . Par ailleurs, Zatalyz a installé https://www.fusiondirectory.org/Fusiondirectory en complément de phpldapadmin pour gérer ldap : création d'utilisateur facilité.

MAJ 04/03/2016 : Un webdev (Aedius) nous a parlé de Oauth, qui semblerait bien convenir à nos besoins. SMF n'a pas de plugin pour ça mais la plupart de nos autres cms semblent pouvoir s'interfacer. Par contre, je trouve peu de doc sur comment installer un serveur Oauth, la plupart des gens utilisant uniquement la version client et se connectant via google/facebook (qui utilisent ce protocole). Il est urgent de trouver une solution : les cms liés à LDAP ne permettent pas la création de compte et ça doit se faire à la main…

Qui travaille dessus ?

Shepeng a commencé à installer LDAP et d'autres trucs du genre.

Compétences demandées

  • Maitrise des questions de SSO
  • Connaitre LDAP ?

Difficulté estimée ou temps restant à y passer

Compliqué.

Tâches liées

Commentaires

2015-11-04 : Configuration de LDAP pour Wikhan UM1 Mediateki et TAF

À faire par la page d'admin, valeurs à utiliser :

conf/local.php:$conf['plugin']['authldap']['server'] = '10.10.100.1';
conf/local.php:$conf['plugin']['authldap']['usertree'] = 'ou=people,dc=khaganat,dc=net';
conf/local.php:$conf['plugin']['authldap']['grouptree'] = 'ou=groups,dc=khaganat,dc=net';
conf/local.php:$conf['plugin']['authldap']['userfilter'] = '(&(uid=%{user})(objectClass=posixAccount))';
conf/local.php:$conf['plugin']['authldap']['groupfilter'] = '(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))';
conf/local.php:$conf['plugin']['authldap']['binddn'] = 'cn=admin,dc=khaganat,dc=net';
conf/local.php:$conf['plugin']['authldap']['bindpw'] = '';
conf/local.php.bak:$conf['plugin']['authldap']['server'] = 'localhost';
conf/local.php.bak:$conf['plugin']['authldap']['usertree'] = 'ou=people,dc=khaganat,dc=net';
conf/local.php.bak:$conf['plugin']['authldap']['grouptree'] = 'ou=groups,dc=khaganat,dc=net';
conf/local.php.bak:$conf['plugin']['authldap']['userfilter'] = '(&(uid=%{user})(objectClass=posixAccount))';
conf/local.php.bak:$conf['plugin']['authldap']['groupfilter'] = '(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))';
conf/local.php.bak:$conf['plugin']['authldap']['binddn'] = 'cn=admin,dc=khaganat,dc=net';
conf/local.php.bak:$conf['plugin']['authldap']['bindpw'] = '';
conf/plugins.locl.php.bak:$plugins['authldap'] = 0;

Forum, blog, etc

Forum

liens utiles mais rien de prêt à l'emploi pour le moment :

Edit du 4/12/2015 : J'ai trouvé une API à SMF : http://www.simplemachines.org/community/index.php?topic=458832.0 Visiblement, dans les options, il y a tout ce qu'il faut pour s'interfacer avec le cookie de session, l'identifiant et le mot de passe, bref exploitable dans le cadre du sso.

Pastebin

Pastebin peut se lier à une authentification via ldap. Dans pastebin/application/config/stikked.php, passer la valeur $config['require_auth'] = de false à true. Puis modifier le fichier 'pastebin/application/config/auth_ldap.php''.

C'est là que ça se corse et que je suis bloquée. Ça ne semble pas se lier avec un couple login/password, qui marche pourtant sur dokuwiki.

Autres
  • Photo : pas trouvé de possibilité
  • pad : je n'ai pas de compte (ou alors j'ai perdu mon mdp)

28/11/2015 : Pour Photo et Blog, il est probable que nous gérions ça dans le futur via spip, qui a des modules pour ça et aussi pour ldap. — Zatalyz 2015/11/28 19:10

CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/taf/web/ergonomie/authentification_unique.txt · Dernière modification : 2021/12/03 19:18 de 127.0.0.1

Licences Mentions légales Accueil du site Contact