Adresses de transfert dans LDAP?

Est-ce que le champ “Adresses de transfert” d’un compte ynh est dans le LDAP de ynh?

Si non, que pensez-vous de l’idée de l’y ajouter pour que d’autres apps puissent récupérer cet email (l’email de transfert) depuis LDAP plutôt que l’email dit “principal” de ynh (créé avec le nom de domain de ynh) lorsqu’aucun utilisateurs ne consultent jamais (puisqu’ils ont tous des adresses de transfert)? Cas d’une association par exemple ou chaque membre utilise son email perso.

Je pose mes questions ici car je n’ai pas trouvé comment ouvrir une issue sur GitHub - YunoHost/SSOwat: A simple SSO for NGINX, written in Lua?

Oui il est dans le LDAP, c’est genre le champ “drop”

1 Like

Du coup, j’ai monté un ynh de test avec nextcloud et phpLDAPadmin et en effet, il existe bien un champ pour les emails de transfert qui est “maildrop”.
Malheureusement, ce n’est pas un champ avec une seule valeur comme le montre ma capture d’écran de phpLDAPadmin :

Et si je mets “maildrop” au lieu de “mail” dans le champs (de nextcloud ldap setting) Advance > Special attributes > email, alors nextcloud récupère la première valeur, “administrateur” dans mon imprim’écran. Comment puis-je faire pour récupérer la seconde valeur qui est un email?

Par défaut la config LDAP ressemble à ça

yunohost app shell nextcloud
php occ ldap:set-config s01 ldapBase "dc=yunohost,dc=org"
php occ ldap:set-config s01 ldapBaseGroups "ou=groups,dc=yunohost,dc=org"
php occ ldap:set-config s01 ldapBaseUsers "ou=users,dc=yunohost,dc=org"
php occ ldap:set-config s01 ldapConfigurationActive "1"
php occ ldap:set-config s01 ldapEmailAttribute "mail"
php occ ldap:set-config s01 ldapExpertUsernameAttr "uid"
php occ ldap:set-config s01 ldapGroupFilter "(&(objectclass=top)(memberUid=*))"
php occ ldap:set-config s01 ldapGroupFilterObjectclass "posixGroup"
php occ ldap:set-config s01 ldapGroupMemberAssocAttr "memberUid"
php occ ldap:set-config s01 ldapHost "localhost"
php occ ldap:set-config s01 ldapLoginFilter "(&(|(objectclass=posixAccount))(uid=%uid)(permission=cn=nextcloud.main,ou=permission,dc=yunohost,dc=org))"
php occ ldap:set-config s01 ldapPort "389"
php occ ldap:set-config s01 ldapQuotaAttribute "userquota"
php occ ldap:set-config s01 ldapUserDisplayName "cn"
php occ ldap:set-config s01 ldapUserFilterObjectclass "posixAccount"

Je dirais qu’il faut tenter:

yunohost app shell nextcloud
php occ ldap:set-config s01 ldapEmailAttribute "maildrop"

En espérant que ça ne casse pas tout les attributs liés à Postfix ?? Comment va gérer postfix des mails qui n’appartiennent pas au serveur ??

A mon avis la commande pour changer dans nextcloud devrait en effet ressembler à ça.
Le problème pour l’instant est de comprendre pourquoi la première valeur de maildrop est le nom d’utilisateur et non l’email de transfert renseignée dans la webgui.

@Aleks une idée ?

La première valeur corresponds au nom de l’utilisateur parce que l’objectif, quand un mail est envoyé à camille@domaine.tld, c’est de délivrer ce mail effectivement à camille (sans @domaine.tld) qui corresponds au user local, c-à-d la boite mail yunohost, et aussi à l’adresse de forward.

Et si cette première valeur est obligatoire pour maildrop, comment faire pour récupérer la deuxième valeur, la véritable adresse d’email de transfert ?

Enfin, si ce n’est pas facilement récupérable (la valeur 2 'un champ) serait-il possible d’enregistrer l’email de transfert enregistré via la webgui admin de yunohost dans un champ spécifique (en plis peut-être de maildrop) dans LDAP pour qu’elle soit facilement récupérable ?

est-ce que ce n’est pas comme uid=%uid une clé et une valeur ?
maildrop=%maildrop ?
C’est une idée saugrenue, je dis peut-être n’importe quoi…

En cherchant j’ai l’impression que ce n’est pas possible de récupérer la deuxième valeur d’un champ multi valeurs.
Nextcloud les récupère tous et prend la première.
Il faudrait donc soit ajouter un champ LDAP dans lequel on ne met que le mail de transfert choisit par un utilisateur.
Ou alors, faire remonter à nextcloud de faire un test sur les valeurs provenant de LDAP pour prendre la première valeur qui est au format email.

J’ai ouvert cette issue chez Nextcloud : GitHub · Where software is built

Mais est-ce qu’on ne pourrait pas aussi chez ynh ajouter un champ ldap (“FavoriteForwardEmai”) avec une seule valeur d’email de transfert (un email de transfert choisit comme favoris dans la webgui) pour que Nextcloud ou d’autres apps puissent faire le choix de prendre ce champ plutôt que le champ “mail”.

Je suis sûr qu’il y a plein de cas où les emails de ynh ne sont pas du tout utilisés sauf pour rediriger vers un email de transfert et que tous les utilisateurs ont un email de transfert.

Qu’en pensez-vous?

Je propose ce PR pour offrir le choix : [comit] Forward Email? by Thatoo · Pull Request #753 · YunoHost-Apps/nextcloud_ynh · GitHub