# การยืนยันตัวตน Nuxt (Vue.js / Nuxt.js) > กลยุทธ์ auth, JWT, การจัดการ session, OAuth, การป้องกันด้วย middleware, refresh token, CSRF - 20 คำถามสัมภาษณ์ - Senior - [คำถามสัมภาษณ์: Vue.js / Nuxt.js](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions.md) ## 1. ความแตกต่างหลักระหว่างการยืนยันตัวตนด้วย JWT และการยืนยันตัวตนแบบ session ใน Nuxt คืออะไร? **คำตอบ** JWT จัดเก็บข้อมูลการยืนยันตัวตนไว้ที่ฝั่งไคลเอนต์ในรูปของ token ที่เซ็นชื่อแล้ว ในขณะที่การยืนยันตัวตนแบบ session จัดเก็บข้อมูลไว้ที่ฝั่งเซิร์ฟเวอร์โดยมีตัวระบุ session อยู่ใน cookie JWT เป็นแบบ stateless และขยายขนาดได้แต่เปิดเผยข้อมูลใน token ในขณะที่ session ปลอดภัยกว่าแต่ต้องมีพื้นที่จัดเก็บที่ฝั่งเซิร์ฟเวอร์ (Redis, ฐานข้อมูล) ## 2. จะป้องกันหน้า Nuxt ให้เข้าถึงได้เฉพาะผู้ใช้ที่ผ่านการยืนยันตัวตนแล้วได้อย่างไร? **คำตอบ** การใช้ definePageMeta ร่วมกับ auth middleware ช่วยป้องกันหน้าได้ middleware จะตรวจสอบการยืนยันตัวตนก่อนการ render และเปลี่ยนเส้นทางไปยังหน้า login หากผู้ใช้ยังไม่ได้ผ่านการยืนยันตัวตน วิธีนี้ทำงานได้ทั้งใน SSR และ CSR ให้การป้องกันที่แข็งแกร่ง ## 3. ใน OAuth2 flow ที่ใช้ Nuxt ลำดับขั้นตอนการยืนยันตัวตนที่ถูกต้องคืออะไร? **คำตอบ** OAuth2 Authorization Code flow ทำตามลำดับนี้: เปลี่ยนเส้นทางไปยัง provider (Google, GitHub), การยืนยันตัวตนของผู้ใช้, callback พร้อม authorization code, แลก code เป็น access token ที่ฝั่ง server ลำดับที่ปลอดภัยนี้ช่วยหลีกเลี่ยงการเปิดเผย token ที่ละเอียดอ่อนให้กับ client ## มีอีก 17 คำถาม - เหตุใดจึงควรใช้ refresh token เพิ่มเติมจาก access token ในกลยุทธ์การยืนยันตัวตนแบบ JWT? - การโจมตี CSRF คืออะไร และจะป้องกันมันในแอปพลิเคชัน Nuxt ที่ใช้การยืนยันตัวตนแบบ session ได้อย่างไร? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Vue.js / Nuxt.js อื่นๆ - [พื้นฐาน JavaScript](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/javascript-fundamentals.md): 20 คำถาม, Junior - [JavaScript สมัยใหม่ (ES6+)](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/es6-modern-javascript.md): 20 คำถาม, Junior - [พื้นฐาน Vue](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/vue-basics.md): 22 คำถาม, Junior - [คอมโพเนนต์ Vue](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/vue-components.md): 20 คำถาม, Junior - [Vue Router](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/vue-router.md): 18 คำถาม, Junior - [Pinia State Management](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/pinia-state-management.md): 20 คำถาม, Junior - [Vuex (Legacy)](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/vuex-legacy.md): 15 คำถาม, Mid-Level - [Composition API](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/composition-api.md): 24 คำถาม, Mid-Level - [ระบบ Reactivity ของ Vue](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/vue-reactivity.md): 20 คำถาม, Mid-Level - [พื้นฐาน Nuxt](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/nuxt-fundamentals.md): 22 คำถาม, Mid-Level - [การดึงข้อมูล (Data Fetching) ใน Nuxt](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/nuxt-data-fetching.md): 20 คำถาม, Mid-Level - [SSR และ SSG ใน Nuxt](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/nuxt-ssr-ssg.md): 22 คำถาม, Mid-Level - [Server Routes ของ Nuxt](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/nuxt-server-routes.md): 20 คำถาม, Mid-Level - [โมดูล Nuxt](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/nuxt-modules.md): 18 คำถาม, Mid-Level - [Composables ใน Vue](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/vue-composables.md): 20 คำถาม, Mid-Level - [ฟอร์มและการตรวจสอบ Vue](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/vue-forms-validation.md): 20 คำถาม, Mid-Level - [การจัดการสถานะใน Nuxt](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/nuxt-state-management.md): 18 คำถาม, Mid-Level - [การทดสอบ Vue](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/vue-testing.md): 20 คำถาม, Mid-Level - [การ Deploy Nuxt และ CI/CD](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/nuxt-deployment-cicd.md): 22 คำถาม, Mid-Level - [ประสิทธิภาพของ Vue](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/vue-performance.md): 22 คำถาม, Senior - [รูปแบบขั้นสูงของ Vue](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/vue-advanced-patterns.md): 24 คำถาม, Senior - [TypeScript กับ Vue](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/typescript-vue.md): 22 คำถาม, Senior - [SEO ด้วย Nuxt](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/nuxt-seo.md): 20 คำถาม, Senior - [การทำ Internationalization ใน Nuxt](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/nuxt-i18n.md): 18 คำถาม, Senior - [สถาปัตยกรรม Vue](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/vue-architecture.md): 22 คำถาม, Senior - [ความปลอดภัยของ Nuxt](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/nuxt-security.md): 20 คำถาม, Senior - [ระบบนิเวศ Vue](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/vue-ecosystem.md): 18 คำถาม, Senior - [การย้าย Vue 2→3 & Nuxt 2→3](https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/migration-vue2-vue3-nuxt2-nuxt3.md): 22 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/vue-nuxt/interview-questions/nuxt-auth