
NuxtJS ทำ middleware authentication ด้วย @nuxtjs/auth-next
NuxtJS ทำ middleware authentication ด้วย @nuxtjs/auth-next
ก่อนอื่นเรามาคุยเรื่องการทำ middleware ในตัว nuxt กันก่อนครับ โดยปกติแล้ว nuxt จะมี folder middleware มา เราก็ทำในนั้นเลย เขียน logic ต่างๆ แล้วก็เรียกใช้ใน pages ที่ต้องการ ส่วนการทำ auth การส่ง token ไปยัง API ต้องเขียน logic เพิ่มเพื่อส่ง token ไปพร้อมกับ request ทำให้ API ของเรามีความปลอดภัย
วันนี้เรามี library ตัวนึงมานำเสนอ เพื่อลดขั้นตอนในการ เขียน logic ต่างๆ สำหรับการ authentication นั้นก็คือ @nuxtjs/auth-next

เรามาเริ่มต้นการใช้งานกันเลย
เริ่มต้นด้วยการ install กันก่อนนะครับ
yarn add --exact @nuxtjs/auth-next
yarn add @nuxtjs/axios
ในส่วนของ @nuxtjs/axios เป็น library ที่ nuxt ทำมาให้เพื่อง่ายต่อการใช้งานตาม framework
จากนั้นเรียกใช้งานที่ nuxt.config.js
กำหนด strategy เป็นแบบ local และกำหนด endpoints ต่างๆ ซึ่ง ${BASE_API} เรากำหนดผ่าน environment variable หรือกำหนดด้วย axios ก็ได้
กำหนด redirect เมื่อการ authentication ไม่ถูกต้อง เช่น $auth.isLoggedIn เป็น false ก็ redirect ไปหน้า login ที่เรากำหนด
ตัว credentials: true ใน axios คือกำหนดให้ทุกๆ request จะส่ง Authorization header ไปด้วย
Activate Vuex store ด้วยการสร้างไฟล์ store/index.js ข้างในมีแค่นี้
const state = () => ({})
export {state}
การเรียกใช้งานการ login แสนง่ายตัวอย่างดังนี้
การเรียกใช้ใน middleware สามารถเรียกได้เหมือนเดิมภายได้ชื่อ middleware “auth”
เพียงเท่านี้เราก็สามารถทำ authentication เสร็จเรียบร้อยเมื่อ มีการ call request ไปยัง API ก็จะมี headers token ติดไปด้วยเสมอ
บทความที่เกี่ยวข้อง
เทคโนโลยี
TypeScript คืออะไร? แล้วคุณรู้หรือไม่ว่าใช้งานยังไง
บทความแนะนำภาษา TypeScript ว่าคืออะไร ทำไมถึงควรเรียนรู้ และช่วยให้การเขียนโปรแกรมปลอดภัยและจัดการง่ายขึ้นอย่างไร
เทคโนโลยี
มาทำความรู้จักกับ Lodash กัน
ก่อนอื่นเลยต้องขอสวัสดีพี่ๆน้องเพื่อนๆ ชาวโปรแกรมเมอร์ กันก่อนนะครับ สำหรับ Blog นี้ผมจะพาทุกๆคนไปทำความรู้จักกับ Libary…
เทคโนโลยี
Multiple Language ด้วย i18n บน nuxt.js Framework
สวัสดีครับ พอดีผมได้มีโอกาศลองใช้งานเจ้าตัว i18n เห็นว่าเจ้าตัวเนี่ย มันใช้งานค่อนข้างง่ายพอสมควรครับ วันนี้เลยจะมาแชร์ถึงการ setting…