Discourse creates new users if dots are present/absent in google email address when logging in using Google

Google ignores dots in email addresses and if someone who made an account on a discourse forum using an email for example noname@gmail.com and later logged in via gmail where there email id is no.name@gmail.com then discourse treats both as separate users.

Should discourse overwrite the user’s existing email (noname@gmail.com) with the one that google login provides (no.name@gmail.com)

I can create a bazillion email addresses by appending a + and text to my email username. Should Discourse make those go to the same account?

My personal feeling is: No for your question and No for my question, for the same reasons.

It provides a simple way to have multiple accounts linked to a single email box. The spam filtering should be smart enough to be able to work backwards from such an address to find all of the related addresses, but outside of that spam case, it is a feature not a failure to treat different addresses as different.

(I have a +address alt here, for example: @Alt-Elijah . I’ve used it for testing things specifically related to +addressing.)

6 Likes

There’s nothing in the SMTP RFCs about periods (or just about any other character) being special, nor anything about treating different local parts as equivalent (with the exception of postmaster, which is to be treated as case-insensitive). Yep, local parts are (potentially) case sensitive. Dropping periods is the least of anyone’s problems…

What a given mail provider wants to do weirdly with their mail system is their business, but it’s up to them to educate their userbase on the implications of whatever cockamamie rules they decide to implement.

5 Likes

On that point you are wrong. Periods are delimiters, and if you don’t have anything before or after them, you have to jump through hoops (to be RFC compliant).

RFC5321:

   Local-part     = Dot-string / Quoted-string
                  ; MAY be case-sensitive


   Dot-string     = Atom *("."  Atom)

   Atom           = 1*atext

   Quoted-string  = DQUOTE *QcontentSMTP DQUOTE

Atoms can’t be zero length.

Otherwise, I agree with the answer.

3 Likes

This becomes a problem for people who don’t know that this can turn around and bite them in the back :neutral_face:. The second thing I searched for right after one of my users bumped into this issue was if I could actually then merge these accounts somehow.

Since this was a new forum and there hadn’t been much activity, the solution at that point was to delete the account created via Google, change the email in the older account (add the dot in the email), then when we logged in via Google, it basically got linked to that account as it should.