IT이야기

Nuxt-auth v5 모듈이 로그인한 사용자를 스토어 상태로 설정하지 않음

cyworld 2022. 6. 10. 21:31
반응형

Nuxt-auth v5 모듈이 로그인한 사용자를 스토어 상태로 설정하지 않음

저는 현재 Nuxt Auth Module의 도움을 받아 인증 기능을 연구하고 있습니다.프런트 엔드에서는 Nuxt Js를 실행하고 백엔드에서는 FastApi를 실행하고 있습니다.

nuxt.config.js에서 인증 설정을 했습니다.

  //Nuxt Auth module configuration https://auth.nuxtjs.org/schemes/local
  auth: {
    rewriteRedirects: false,
    cookie: {
      options: {
          maxAge: 60 * 60 * 60 // 60 hours
      }
    },
    localStorage: {
      prefix: 'auth.'
    },
    strategies: {
      local: {
        token: {
          prefix: 'access_token.',
          property: 'access_token',
          type: 'Bearer',
          maxAge: 60 * 60 * 60
        },
        user: {
          property: 'user',
          autoFetch: true
        },
        endpoints: {
          login: { url: '/api/v1/login/access-token', method: 'post' },
          logout: false,
          user: { url: '/api/v1/users/me', method: 'get' }
        },
        redirect: {
          login: '/login',
          logout: '/',
          // callback: '/login',
          home: '/dashboard'
        }
      }
    }
  }

내 로그인.로그인 메서드가 포함된 폼이 있습니다.materialCard를 '~/components/material/AppCard'에서 Import합니다.

export default {
  components: {
    materialCard
  },
  middleware: 'authenticated',
  auth: 'guest',
  data () {
    return {
      username: 'admin',
      password: 'admin'
    }
  },
  methods: {
    async authenticate () {
      const form = new FormData()
      form.append('username', this.username)
      form.append('password', this.password)
      await this.$auth.loginWith('local', { data: form })
        .then((res) => {
          console.log(res)
        }).catch((err) => {
          console.log(err.res)
        })
    }
  }
}

로그인을 시도하면 비동기 함수 '로그인'이 호출됩니다.사용자 이름과 비밀번호에 대응하는 사용자가 반환됩니다.유일한 문제는 vuex 상태일 때 auth.logged라는 것입니다.in은 false로 유지되고 auth.user는 정의되지 않은 상태로 유지됩니다.

Nuxt Auth가 자동으로 상태를 갱신하는 줄 알았는데, 아니면 뭔가 누락된 건가요?

언급URL : https://stackoverflow.com/questions/70107986/nuxt-auth-v5-module-does-not-set-loggedin-user-in-store-state

반응형