[javascript] Nuxt.js에서의 API 인증 방법은?

Nuxt.js에서 JWT를 사용하여 API를 인증하는 방법은 다음과 같습니다.

  1. Axios Interceptor 설정: Nuxt.js에서 API 요청을 처리하는 Axios에 interceptor를 추가하여 모든 요청에 JWT를 포함시킵니다.
// axios.interceptors.request.use를 사용하여 모든 요청에 JWT를 포함시킴
$axios.interceptors.request.use(config => {
  const token = localStorage.getItem('token');
  if (token) {
    config.headers.common['Authorization'] = `Bearer ${token}`;
  }
  return config;
});
  1. 인증 미들웨어 생성: 사용자가 로그인한 경우 JWT를 받아서 로컬 스토리지에 저장하고, 그것을 추출하여 API 요청에 포함시킵니다.
// middleware/auth.js
export default function ({ app, redirect }) {
  const token = localStorage.getItem('token');
  if (!token) {
    return redirect('/login');
  }
}
  1. 로그인 페이지 생성: 사용자가 로그인할 때 JWT를 받아와서 로컬 스토리지에 저장합니다.
// pages/login.vue
methods: {
  async login() {
    // 로그인 로직
    localStorage.setItem('token', 'your_jwt_token');
  }
}

이러한 방법으로 Nuxt.js에서 API를 인증하여 안전하게 사용할 수 있습니다.

뿐만 아니라, Nuxt.js에서 auth 모듈을 사용하여 인증을 간편하게 관리할 수도 있습니다. 관련 자세한 내용은 Nuxt.js 공식 문서의 auth 모듈 설명을 참고하시기 바랍니다.