Bonjour,
Petit message d’Olivier ce matin :
je crois qu’on ne peut plus se connecter au wiki (en mode connecté) depuis qu’on a déplacé le wiki sur le nouveau serveur.
Effectivement la connexion ne marchait pas.
Message d’erreur
Query failed: ERROR: column "email" does not exist
dokuwiki_1 | LINE 1: SELECT email FROM users
dokuwiki_1 | ^ in /var/www/lib/plugins/authdiscoursedb/auth.php on line 94
Donc il ne trouvait plus le champ email dans la table Users, bizarre. Après investigation, j’ai retrouvé ce champ dans la table user_emails. Ils ont du changer ça avec la version 2.0 de discourse.
FIX
Le plugin d’authentification avec discourse a été fait par Ludo. J’ai modifié la méthode trustExternal avec ce bout de code.
if (!empty($user)) {
// do the checking here
//l'email n'est plus dans la table users, ajout d'une requete en amont pour recuperer l'id
$resultsEmail = pg_query_params($this->db,
'SELECT id, email' .
' FROM user_emails'.
' WHERE email=$1',
array($user));
$rowEmail = pg_fetch_assoc ($resultsEmail);
if ($row === false) {
msg('La table existe pas.');
} else {
$idUser = $rowEmail['id'];
}
$result = pg_query_params($this->db,
'SELECT id, username, password_hash, salt, name, admin' .
' FROM users' .
' WHERE id=$1',
array($idUser));
$row = pg_fetch_assoc ($result);
if ($row === false) {
msg('Incorrect username or password.');
return false;
}
$pbkdf2_hash = hash_pbkdf2('sha256', $pass, $row['salt'] , 64000);
Reste à faire
Je ne suis pas sur que le code de ce plugin soit commité, si quelqu’un veut s’en occuper un jour !
Clément