// If auth succeeds, but the user has not logged into quassel previously, make
// a new user for them and return that ID.
- // Users created via LDAP have empty usernames.
+ // Users created via LDAP have empty passwords, but authenticator column = LDAP.
+ // On the other hand, if auth succeeds and the user already exists, do a final
+ // cross-check to confirm we're using the right auth provider.
UserId quasselID = Core::validateUser(username, QString());
if (!quasselID.isValid())
{
- return Core::addUser(username, QString());
+ return Core::addUser(username, QString(), displayName());
+ }
+ else if (!(Core::checkAuthProvider(quasselID, displayName())))
+ {
+ return 0;
}
return quasselID;
}