Данные пользователя не устанавливаются после входа в систему с помощью nuxt.js / auth - PullRequest
0 голосов
/ 28 июня 2019

Я создаю веб-приложение с Nuxt.js и хочу, чтобы пользователь вошел в систему со своей электронной почтой и паролем.

Я пытаюсь использовать модуль Nuxt.js / auth и подключаю его к моему API в ExpressJS. У меня работает логин, но после входа в систему пользовательские данные не устанавливаются.

Я использую:

  • Nuxt.js v2.8.1
  • Nuxt.js / auth v4.8.1
  • ExpressJs v4.16.4

Я пробовал большинство (если не все) из вопросов о стековом потоке на эту тему. Но не удалось.

Вот код:

Nuxt.config.js

auth: {
  redirect: {
    login: '/login',
    logout: '/login',
    home: '/'
  },
  strategies: {
    local: {
      endpoints: {
        login: { url: 'login', method: 'post', propertyName: 'token' },
        user: { url: 'user', method: 'get', propertyName: false },
        logout: false
      }
    }
  }
}

login.vue : (логика входа)

async login(email, password) {
  try {
    await this.$auth.loginWith('local', {
      data: { email, password }
    })
  } catch (e) {
    this.$toast.error(e)
  }
}

login.js в API:

module.exports = (req, res) => {
  async.waterfall([
    callback => {
      lid.readByEmail((err, lidDetails) => {
        if (err) {
          console.log(err)
          callback(err, null)
        }
        if (lidDetails.length < 1) {
          console.log(err)
          return res.status(404).json({ message: 'Kan lid niet vinden.' })
        } else {
          callback(null, lidDetails[0])
        }
      }, req.body.email)
    },
    (lidDetails, callback) => {
      if (!lidDetails) {
        return rejectLogin(res)
      }
      bcrypt.compare(req.body.password, lidDetails.wachtwoord, (err, passwordsMatch) => {
        if (err) {
          return callback(err, null)
        }
        if(!passwordsMatch) {
          return rejectLogin(res)
        }
        callback(null, lidDetails)
      })
    }
  ], (err, lidDetails) => {
    if (err) {
      return res.status(500).json({ message: 'Er is een fout opgetreden' })
    }

    delete lidDetails.wachtwoord

    const userJson = JSON.parse(JSON.stringify(lidDetails))
    res.json({
      user: userJson
    })
  })
}

В результате я ожидаю получить пользовательский объект со своими свойствами из базы данных. На самом деле я получаю пустой пользовательский объект без каких-либо сообщений об ошибках.

Кто-нибудь знает решение этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...