@Liyebre

Почему не проходит авторизация в NuxtAuth?

Привет.

Вопрос к тем, кто разбирается в auth.nuxtjs.org

В общем:
Пишу сайт, который должен быть доступен только авторизованным пользователям.
В качестве апи юзаю фейковый - https://github.com/techiediaries/fake-api-jwt-json...
Пытаюсь, понять, почему после ввода верных данных страница попросту обновляется и не перенаправляет на главную. А если переходить на главную вручную - ридериктит снова на форму входа..

После нажатия на кнопку "войти" в терминале фейк-апи вижу, что все ок и выводится токен:
login endpoint called; request body:
{ email: 'demo@demo.ru', password: 'demo' }
Access Token:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImRlbW9AZGVtby5ydSIsInBhc3N3b3JkIjoiZGVtbyIsImlhdCI6MTYyNDgxNDc3NiwiZXhwIjoxNjI0ODE4Mzc2fQ.uQEVQD1X6BVuGCH2JUtHOOjeYBHBxBtq2uo9OuHSu6Y
POST /auth/login 200 0.709 ms - 207

Если же ввожу неверные данные, то получаю ошибку - все как и должно быть.

Прошу, помочь найти ошибку и понять что я сделал не так

Вот настройки NuxtAuth из nuxt.config.js

axios: {
    baseURL: 'http://localhost:8000/',
    credentials: true
  },

  auth: {
    strategies: {
      local: {
        endpoints: {
          login: { 
            url: '/auth/login', 
            method: 'post', 
            propertyName: 'data.token' },
          user: { 
            url: '/', 
            method: 'get', 
            propertyName: 'data' },
          logout: false
        }
      }
    }
  },
  router: {
    middleware: ['auth']
  },



store/index.js

export const getters = {
    isAuthenticated(state) {
      return state.auth.loggedIn
    },
  
    loggedInUser(state) {
      return state.auth.user
    }
}



скрипт из страницы логина

export default {
  layout: 'auth',
  components: {
    Notification,
  },
  data() {
    return {
      email: '',
      password: '',
      error: null
    }
  },
  methods: {
    async login() {
      try {
        await this.$auth.loginWith('local', {
          data: {
          email: this.email,
          password: this.password
          }
        })
        this.$router.push('/')
      } catch (e) {
        this.error = e.response.data.message
      }
    }
  },
  auth: 'guest'
}

  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
@Liyebre Автор вопроса
Решил проблему добавлением настроек в nuxt.config.js:
token: {
          property: 'access_token',
          global: true,
        },
        user: {
          property: 'user',
        },
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы