nuxt auth-module «Ответ данных пользователя не содержит поля XXX»

Я пытаюсь использовать модуль nuxt-auth, мои настройки для этого модуля

        auth: {
    cookie: false,
    plugins: ['~/plugins/api.js'],
    redirect: {
      logout: '/login',
      login: '/',
      home: false
    },
    strategies: {
      local: {
        scheme: 'refresh',
        token: {
          property: 'token',
          maxAge: 3600
        },
        refreshToken: {
          property: 'refresh_token',
          data: 'refresh_token',
          maxAge: 60 * 60 * 24 * 30
        },
        user: {
          property: 'userDetail'
        },
        endpoints: {
          login: { url: 'http://localhost:8085/api/login_check', method: 'post', propertyName: 'token' },
          refresh: { url: 'http://localhost:8085/api/token/refresh', method: 'post', propertyName: 'refresh_token' },
          logout: false,
          user: { url: 'http://localhost:8085/api/user/fetchactive', method: 'get' }
        },
        tokenRequired: true
      }
    }
  }

Мой "fetchactive" API возвращает JSON, содержащий свойство "userDetail", которое представляет собой строку, содержащую адрес электронной почты (я также пытался сделать userDetail объектом, но безуспешно).

например

      
{"userDetail":{"email":"my@email.test"}}

Nuxt auth постоянно говорит мне, что «Ответ данных пользователя не содержит поля userDetail».

Я также попытался установить "свойство" в значение false, но Nuxt auth в этом случае ищет поле с именем "false" ... Я просто не могу заставить его работать.

Кто-нибудь может помочь?

2 ответа

использование этой конфигурации в файле nuxt.config.js сработало для меня

Это произошло из-за того, что конечная точка auth.user по умолчанию ищет объект 'data' в ответе, но меня там нет, так как у вас есть собственный ключ объекта ответа, не содержащийся в 'data: {...}

попробуйте добавить propertyName, как в примере в auth.user

      endpoints: {
      user: { url: 'http://localhost:8085/api/user/fetchactive', method: 'get', propertyName: '' }
    }
  }
Другие вопросы по тегам