Authentification LDAP

Bonjour,

Existe t-il une configuration ou un plugins permettent de déporter l’authentification à un annuaire LDAP ou une authentification du type HTTP (avec la variable REMOTE_USER) ?

Merci.

Hello,

Non il n’existe pas encore de système de plugin, et il n’est pas pas possible de déporter l’authentification.

Merci pour ce retour rapide.

Est-ce prévu dans une prochaine version ?

Je pense que cela serai une amélioration très appréciée pour une meilleure intégration dans un SI existant.

Oui c’est prévu mais à long terme.

Bonjour,
je viens d’ajouter le plugin (auth-ldap 0.0.1) et configuré celui-ci dans l’administration de Peetube.
J’ai eu ensuite un message m’indiquant d’ajouter le support LDAP au formulaire de connexion dans PeerTube.

2020-04-30 18_46_26-List installed plugins - Vidéothèque de l'académie d'Amiens.

C’est bien dans le fichier de configuration production.yaml ?
Quelle est la syntaxe, avez-vous un exemple.
Merci d’avance pour vos réponses.

Bonjour @cremos,

Le plugin n’est pas disponible ni supporté avant la version 2.2.0 de PeerTube, qui n’est pas encore sortie.

Merci pour votre retour et pour le travail effectué.
Bien à vous

Bonjour,

PeerTube 2.2 est là ! Encore merci à tous pour ce super travail.

Je viens de mettre à jour Pertube de 2.0.0 vers 2.2 et installer le plugin LDAP.
Installation :
debug: Executing (default): SELECT 1 FROM pg_available_extensions WHERE name = ‹ pg_trgm › AND installed_version IS NOT NULL; SELECT 1 FROM pg_available_extensions WHERE name = ‹ unaccent › AND installed_version IS NOT NULL; Executing (default): CREATE OR REPLACE FUNCTION immutable_unaccent(text)

debug: Executing (default): CREATE OR REPLACE FUNCTION pg_temp.sequelize_upsert(OUT created boolean, OUT primary_key text)

debug: Executing (default): SELECT « id », « name », « type », « version », « latestVersion », « enabled », « uninstalled », « peertubeEngine », « description », « homepage », « settings », « createdAt », « updatedAt » FROM « plugin » AS « PluginModel » WHERE « PluginModel ».« id » = ‹ 1 ›;

Quand je souhaite configurer le plugin auth-ldap dans l’administration de Peetube.
J’ai eu ensuite un message m’indiquant : Ce plugin ne dispose pas de paramétrage.

Bien à vous et merci d’avance pour vos retours.

Bonjour,

Je viens de configurer dans la gestion des plugins les paramètres du plugin : plugin auth-ldap
Impossible de s’authentifier via le LDAP :
Journaux :

error[19/06/2020 à 16:26:20] Error in auth method ldap of plugin peertube-plugin-auth-ldap
{
« err »: {
"stack": "TypeError: serveur.ldap is an invalid LDAP url (scope)\n at Object.parse (/var/www/peertube/storage/plugins/node_modules/ldapjs/lib/url.js:15:13)\n at new Client (/var/www/peertube/storage/plugins/node_modules/ldapjs/lib/client/client.js:113:33)\n at Object.createClient (/var/www/peertube/storage/plugins/node_modules/ldapjs/lib/client/index.js:17:12)\n at new LdapAuth (/var/www/peertube/storage/plugins/node_modules/ldapauth-fork/lib/ldapauth.js:103:28)\n at login (/var/www/peertube/storage/plugins/node_modules/peertube-plugin-auth-ldap/main.js:128:22)",
**essage": "serveur.ldap is an invalid LDAP url (scope)"
}
}
Merci d’avance pour vos réponses.

Bonjour,

Il faut mettre le schéma dans l’url : ldap://server.ldap ou ldaps://server.ldap

Merci pour votre réactivité, lien vers la docs : https://www.npmjs.com/package/ldapauth-fork & https://www.npmjs.com/package/peertube-plugin-auth-ldap
J’ai mis : ldap://server.ldap
Impossible de s’authentifier :
warn[19/06/2020 à 18:13:40] Login error.
{
« err »: {
« statusCode »: 400,
« status »: 400,
« code »: 400,
« message »: « Invalid grant: user credentials are invalid »,
« name »: « invalid_grant »,
« stack »: "invalid_grant: Invalid grant: user credentials are invalid\n at new InvalidGrantError (/var/www/peertube/versions/peertube-v2.2.0/node_modules/oauth2-server/lib/errors/invalid-grant-error.js:27:14)\n at /var/www/peertube/versions/peertube-v2.2.0/node_modules/oauth2-server/lib/grant-types/password-grant-type.js:94:15\n at tryCatcher (/var/www/peertube/versions/peertube-

Peertube:
Search filter : (|(mail={{username}})(uid={{uid}}))

Configuration sur un serveur Owncloud :
Utilisateurs : (|(objectclass=person))
Attributs de login : (&(|(objectclass=person))(uid=%uid))
Champ de l’identifiant : uid

Une réponse : https://github.com/Chocobozzz/PeerTube/issues/2773

A priori les données de connexion ne sont pas les bonnes…

Je viens de modifier le schéma et cela fonction, encore merci à tous

Search filter : (|(mail={{username}})(uid={{uid}}))

Par

(uid={{username}})

Petite question, comment fusionner un utilisateur ayant déjà un compte crée manuellement avec celui crée avec une authentification LDAP sachant que l’identifiant est le même.

Voir https://github.com/Chocobozzz/PeerTube/issues/2857#issuecomment-641754278

Super, Merci pour votre retour !

Bonjour @cremos,

Merci de ne pas faire de hors-sujet, et de plutôt créer un sujet dédié à votre problème :wink: