Hi @rlee23,
Token Mismatch is indicating towards the link that you are receiving in the email. Something must be incorrect with the link in the email or you are trying to copy and paste the link in the browser and some characters of the link is either missing or extra characters are being added.
Anyway, the registration URL that you provided does not work. Please check that so that I can do a test registration and see what’s causing the issue.
Let me know and I will get back to you.
Regards!
Thread Starter
rlee23
(@rlee23)
Hi,
I just tested the link and it is working fine for me, https://www.eclipsefish.com/register.
I am clicking the confirmation link in the email and not copy/pasting it anywhere. I tried in from two different devices.
I also tried doing a resend to get a new token for the same user account and no email was sent.
Thanks,
Rune
Thread Starter
rlee23
(@rlee23)
Hi,
I tested again. Here are more details to the issue.
1. I register a test user.
2. reCAPTCHA is enabled.
3. The email is sent.
– In that email, there is a message: “Be careful with this message. Gmail could not verify that it actually came from eclipsefish11@gmail.com. Avoid clicking links, downloading attachments or replying with personal information.”
– There is a verification link in the email.
4. The clicked link on my phone and on PC shows “Token Mismatch!”.
5. The user account is now validated and they are allowed to login.
How do I fix the Token Mismatch and the email warning?
Your assistance and advice is most appreciated,
R. Lee
-
This reply was modified 6 years, 1 month ago by
rlee23.
Hi @rlee23,
It’s really strange. I would like to work on your site to fix this issue with your permission so please contact us here regarding this issue and I will have a look at this issue. Here is the contact page link: https://wpeverest.com/contact/
Please include the link to this ticket so that it is easy to follow the thread.
Regards!
Hi.
I think this is happening because outlook and gmail are using filters. When you hover the link for the confirmation url, you will see that the url is not the one of the site but outlook/gmail’s filters. So… there are two requests. The first one where the email is validated and the second request where the user see the token mismatch (because it was validated on the first request. I am guessing outlook/gmail makes a request to scan the content of the link first for safety)
I guess there could be a validation on the ‘check_token_before_authenticate’ hook to check whether the request is not a request done by outlook/gmail.
When the token is greater than 100 characters the error occurs.
this happens if the user id is high.
My solution was to replace
// $ur_token = str_split ($_GET[‘ur_token’], 50);
$ur_token [1] = substr($_GET[‘ur_token’], 50, strlen ($_GET[‘ur_token’]));
at line 280 of file class-ur-email-confirmation.php
The same thing is happening to me. I checked klyfas solution, but there no line of code there that matches what he has. I really don’t want to override the code anyways since it will get blown away on the next plugin update.