Magnus Lübeck created GUACAMOLE-1239:
----------------------------------------
Summary: Make usernames case insensitive in DB
Key: GUACAMOLE-1239
URL: https://issues.apache.org/jira/browse/GUACAMOLE-1239
Project: Guacamole
Issue Type: Improvement
Components: guacamole-auth-jdbc, guacamole-auth-jdbc-mysql,
guacamole-auth-jdbc-postgresql, guacamole-auth-ldap
Reporter: Magnus Lübeck
[~cameronp] already summarized this well in GUACAMOLE-404:
Quote:
"We have ldap auth working for us via active directory. We have issues with
case senstivity around logins. For example most users have no idea if their
username is
User.Name
or USER.NAME or whatever. - active directory doesnt care about case, and
neither does ldap authentication.
But when they log in to guac and do not match the case of their login exactly,
guac allows them to log in, but they just don't have any machines to connect to.
Wondering if it could be made to either fail the logins if it doesn't match
correct case, or ignore case when matching the username in the local guac db."
So, when I ran across GUACAMOLE-404, and this email
[https://www.mail-archive.com/[email protected]/msg03715.html] where
[~vnick] discuss this topic in depth, I realized that I need to chip in my
point of view. In the documentation it is mentioned that one can restrict user
login, to avoid confusion that a user can log in per LDAP but not have any
connections,
http://guacamole.incubator.apache.org/doc/gug/jdbc-auth.html#jdbc-auth-restrict.
I am not sure where I would start lobbying for either asking for a default case
insensitive username management, or the option to make the Postgresql/Mysql/etc
usernames case insensitive. I would happily chip in time, money, or other
stimulus to bring this discussion further.
This writeup from google is a text I have visited from time to time, as I think
it is well written and makes many points in a clear manner.
[https://cloud.google.com/blog/products/gcp/12-best-practices-for-user-account]
Point 11: Make user IDs case insensitive
Quote:
"Your users don't care and may not even remember the exact case of their
username. Usernames should be fully case-insensitive. It's trivial to store
usernames and email addresses in all lowercase and transform any input to
lowercase before comparing.
Smartphones represent an ever-increasing percentage of user devices. Most of
them offer autocorrect and automatic capitalization of plain-text fields.
Preventing this behavior at the UI level might not be desirable or completely
effective, and your service should be robust enough to handle an email address
or username that was unintentionally auto-capitalized."
I had a very long discussion about this with a work colleague today. He has to
support a group of customers, of which we get a list of CAPITALIZED usernames
to import into our Active Directory domain controller. These users are quite
used to work in an environment where they don't have to care. I have observed
our customers log in and many users either log in with their username in
lowercase, some log in with their username's first letter CAPITALIZED. Very
rarely do they log in with all caps.
To make matters a bit worse, is that we integrate Guacamole with oauth2_proxy
in front of it. Oauth2_proxy sends the users first to our KeyCloak
installation, which happily authenticates the user with any permutation they
choose to enter. Since we do want to have the users log into the RDP servers
with their own credentials they are asked to log in again (a 2nd time, since we
don't get the password through otherwise). It is very confusing for our users
that they can log into KeyCloak but not into Guacamole.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)