pulze
February 2, 2024, 4:48pm
1
Hello!
I’m having trouble where our users try to verify their email address, it gets verified , however the post verification link that redirects them to our website come with a query payload like this : example.com/verify?supportSignUp=true&supportForgotPassword=true&email=user@email.adr&message=Cannot+read+properties+of+undefined+(reading+‘n’)&success=false&code=unknown
Anyone know why this could be?
Or point me in the direction on how to debug this?
Hi @pulze ,
Welcome to the Auth0 Community!
It seems that the error is suggesting that there is bit of code that is trying to read n from a null object.
Could you check to see if you have any piece of code referencing n?
And could you see if redirecting your users to {{ application.callback_domain }} produces a different result?
Thanks,
Rueben
pulze
February 3, 2024, 11:09am
4
I have found the issue, the template and/or our implementation of it was outdated.
We have a MondgoDB database connected.
The MongoDB verify actions script template goes the following:
function verify (email, callback) {
const MongoClient = require('mongodb@3.1.4').MongoClient;
const client = new MongoClient('mongodb://user:pass@localhost');
client.connect(function (err) {
if (err) return callback(err);
const db = client.db('db-name');
const users = db.collection('users');
const query = { email: email, email_verified: false };
users.update(query, { $set: { email_verified: true } }, function (err, result) {
client.close();
if (err) return callback(err);
callback(null, result.result.n > 0);
});
});
}
There is the result.result.n is the one throwing the error, while the document update itself runs perfectly, and successfully.
The mongodb@3.1.4 signals that its too old, so i’ve used “mongodb” instead, to get the latest.
The fix was to update the code with the following :
users.updateOne(query, { $set: { email_verified: true } }, function (err, result) {
client.close();
if (err) return callback(err);
callback(null, result.modifiedCount > 0);
});
TLDR;
update to updateOne, and result.result.n to result.modifiedCount.
Hi @pulze ,
Thanks for the update, and I’m glad that you have resolved the issue!
Feel free to reach out to us again if you have any additional questions.
Thanks,
Rueben