Я пытаюсь создать приложение 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('/')
}
}