Email Login Doesn't Work

I’m getting the same “Email link is too old” message as this thread: Email login link is too old

Sorry, that email login link is too old. Select the Log In button and use 'I forgot my password' to get a new link.

My set up is enough different I thought I should start a new thread.

My host is an Ubuntu 20.04 vps. HAProxy is configured in front of the official docker based setup. HAPRoxy handles the ssl certs, but Discourse is still set to force https.

I have two sites configured. On one, the email login works just fine. On the other, it fails with that error.

I added the TZ environment variable to both containers. When I run date in either container, or my server, they all return the same time.

I did migrate from one server to another recently. I just copied the entire project directory to the new server, then rebuilt. I did run into some issues, but I can’t recall what they were, I did eventually get everything up, at least I thought I did…

Any ideas?

Should I share my container files?

Have you tried this with a different user and email address? Any chance you are looking at the wrong, older email? I have run into this problem in the past too.

1 Like

Ok, so a new user can login via the email method.

While troubleshooting with the rake admin:create task, I ended up creating a new admin user. That user can log in via password.

I was able to create a brand new account, and that account was able to log in via email after I initially logged in via password.

My original admin user is the one I’m having issues with. Just now I was able to reset it’s password. That let me log in with a password. After logging out, I tried logging in via email. That threw the same error as before. When I tried to log in via password again, it says " You can’t log in yet. We previously sent an activation email to you at emailaddress . Please follow the instructions in that email to activate your account."

If I go use my other admin user to send the password reset email again, I can repeat the process and end up at the same place.

Weird. It’s like this one user is getting assigned a log in link with the wrong expiration date, but every other link is set correctly. Is there a table I could check for bad link data?

Is there a way to turn on debugging or something to help track down what’s going on?

Ok, now I’m more confused. On my original admin user, I reset the password again to log in. Then I added, and confirmed, a different email. Then I set that as the primary and removed the other. After that I logged out and tried logging in again via email. This time it worked.

The only thing I can think of is that the email that works is the one I think I set way back when I first created this site. Somehow, in the course of troubleshooting, it got changed to different address. Still not sure why that would cause things to error like that, though…

Anyway. Maybe something my ramblings will help someone else down the road…

2 Likes