Re: Case Sensitive Usernames

2021-12-12 Thread Kye Russell
The RFC does not specifically disallow case-insensitive email addresses, no. This all feels like a moot point. Messing with user data (read: not rejecting it) before it hits the database for ‘technical’ reasons is certainly swimming against the tide. You hardly ever see it these days. If you

Re: Case Sensitive Usernames

2021-12-12 Thread אורי
Hi, As far as I know, Google, which runs mail servers for about 85% of users worldwide (Gmail + Workspace users), email addresses and usernames are case insensitive. So if you send me for example an email to u...@speedy.net, I will receive it. Although according to the RFC it should have been

Re: Case Sensitive Usernames

2021-12-12 Thread Benny
That’s a matter of perspective - RFC 5321 documents it pretty well. While I agree that, speculatively, the majority of servers may normalize emails to lower-case, it’s not officially recognized. I’m a fan of exhaustive documentation, but this is a standard set by an arguably higher authority.

Re: Case Sensitive Usernames

2021-12-12 Thread Arthur Pemberton
The current behaviour is an undocumented gotcha. It should at least be mentioned in the documentation. Very few major login based platforms are case sensitive, so it should be at least mentioned in the documentation that by default applications built with Django would be different in that regard.

Re: Case Sensitive Usernames

2021-12-12 Thread Benny
IMO this treads dangerously close to what I call a “Django Gotcha” - There exist some implementations, where if you’re not paying attention, it’ll come back to bite you in the keister. One example would be the test runner coercing DEBUG=False in an effort for tests to more accurately reflect a

Re: Case Sensitive Usernames

2021-12-12 Thread Ken Whitesell
Also a strong -1. While it is rare, it is perfectly legitimate to have a mail server treat the name portion of an email address as being case sensitive. Yes, you can find a lot of wrong answers on the internet stating otherwise, but paragraph 2.4 of RFC 5321 clearly states that the

Re: Case Sensitive Usernames

2021-12-12 Thread Arthur Pemberton
Purely anecdotal, but I've never had a user intentionally signup for an account with a case-sensitive email address. I'm not such which users expect their username or email addresses to be case-sensitive. Arthur On Sunday, December 12, 2021 at 10:40:30 PM UTC-5 m...@kye.id.au wrote: > Strong

Re: Case Sensitive Usernames

2021-12-12 Thread Kye Russell
Strong -1 on overriding user intent on capitalisation, especially for email addresses as the RFC stipulates that the local part of an email address is case sensitive, this is just rarely practiced. There are much better solutions out there (CI[Text|Char]FIeld in Postgres, etc) that enforce

Re: Case Sensitive Usernames

2021-12-12 Thread Arthur Pemberton
A setting to convert all usernames to lowercase would be good too -- that's my preference overall in general. However I haven't yet seen how best that could/would be accomplished. For simpler uses case where I'm just sub-classing AbstractUser and not customizing the auth backend, I've taken to

Re: Case Sensitive Usernames

2021-12-12 Thread אורי
Hi Arthur, I would recommend users of Django to use only lowercase usernames. And if they insist that the username is an email address, also convert it to lowercase. Otherwise you can have 3 separate users uri, Uri, and uRI, or 3 separate users with email addresses u...@example.com,

Case Sensitive Usernames

2021-12-12 Thread Arthur Pemberton
Especially with the ability to set USERNAME_FIELD to "email", it would be really useful to at least have a well documented warning that usernames are case-sensitive in Django. I've been using Django for years, and even I forget that fact some times. Until I start Googling and come across [1].