Проверка электронной почты на стороне сервера: Google Chrome преобразует мой URL, включая токен - PullRequest
0 голосов
/ 06 февраля 2019

Я реализовал страницу регистрации с помощью стека MERN (MongoDB, Express, React, Node.js).

Когда пользователь заполняет форму регистрации, ему отправляется электронное письмо с токеном подтверждения электронной почты.

Чтобы завершить процесс регистрации, пользователь щелкает URL-адрес, чтобы подтвердить подлинность своей электронной почты.

Что я хочу знать, так это то, что когда я нажимаю на URL, запрос переходит на оба URL (исходный адрес - http://localhost:5000/api/users/verify?token=randomstrig и измененный адрес - https://www.google.com/url?q=http://localhost:5000/api/users/verify?token%3DfE2LHiOHqbZmfDTHtD1db9qumgQpUoZZ&source=gmail&ust=1549531956198000&usg=AFQjCNEuNxOv5c9SOFPjDr-AVBiCX7uUPw)

Я хочучтобы узнать, почему браузер преобразовывает URL-адрес и запрашивает их оба.

Следующий код - это код node.js, который обрабатывает запрос GET URL-адреса.

router.get('/verify',(req, res , next)=>{
  const urlToken = req.query.token;

  Token.findOne({token: urlToken})
    .exec((err, token)=> {

      if (err) next(err)

      if (!token){
        res.send({message: 'there is no token'})
      }
      else{
        User.update({_id: token._id},{ $set: {verified: true}})
          .exec((err,user)=>{
            if (err) next(err);
            console.log(user);

        });
      }
    })
}); 
...