как настроить Nuxt Ax ios Auth для отправки на внешний API? - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь создать приложение nuxt с Laravel Lumen в качестве API, используя JWT. Пытаюсь использовать Auth и Ax ios. Я установил несколько конфигураций, как указано в документации и некоторых руководствах.

Backend протестирован с помощью почтальона и работает правильно.

Проблема в том, что когда я отправляю запрос на вход, он отправляет запрос на localhost:3000/api/login вместо желаемого URL-адреса, например gate.hp.rg/api/login, даже если я установил прокси-сервер true.

Затем в ответ возвращается весь фрагмент страницы nuxt с ошибкой TypeError: Cannot use 'in' operator to search for 'data.token' in <!doctype html> .....

Когда я устанавливаю propertyName: false, он показывает DOMException: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 'Bearer <!doctype html> .....

И когда я удаляю proxy: true, он указывает на gate.hp.rg throw CORS error.

Где-то есть / что-то / что-то я пропустил или что-то делаю неправильно? Пожалуйста, помогите мне пройти через это, мой мозг переполнен. Очень признателен!

Мои конфигурации:

index. vue


middleware: 'guest',
methods: {
  async login () {
      try {
        const response = await this.$auth.loginWith('local', {
          data: {
            email: this.email,
            password: this.password
          }
        })

        console.log(response)

        // this.$router.push('/inventory/list')
      } catch (e) {
        console.log(e)
      }
    },
}

nuxt.config. js


  mode: 'spa,
  proxy: {
    '/api': {
      target: 'http://gate.hp.rg/api',
      pathRewrite: {
        '^/api' : '/'
      }
    },
    changeOrigin: true
  },
  axios: {
    proxy: true,
    // baseURL: 'http://gate.hp.rg'
  },

  auth: {
    strategies: {
      local: {
        endpoints: {
          login: { url: 'login', method: 'post', propertyName: 'token'},
          user: { url: 'me', method: 'get', propertyName: 'data' },
          foo : { url: 'foo', method: 'get', propertyName: 'data' },
          logout: false
        }
      }
    }
  },

промежуточное ПО> гость. js

export default function ({ store, redirect }) {
  if (store.state.auth.loggedIn) {
    return redirect('/')
  }
}
...