โมดูล Auth ทางเลือกสำหรับ Nuxt
โมดูลนี้มีความหมายเป็นทางเลือกแทน @nuxtjs/auth ยกเว้นนี่คือ NUXT3 เท่านั้นโดยไม่มีการรองรับความเข้ากันได้ย้อนหลัง
@nuxt-alt/auth และ @nuxt-alt/http การพึ่งพาโครงการของคุณ yarn add @nuxt-alt/auth @nuxt-alt/http@nuxt-alt/auth และ @pinia/nuxt ไปยังส่วน modules ของ nuxt.config.ts หมายเหตุ: คุณไม่จำเป็นต้องระบุ @nuxt-alt/http มันจะถูกเพิ่มโดยอัตโนมัติ แต่ถ้าคุณต้องการเพิ่มด้วยตนเองตรวจสอบให้แน่ใจว่าอยู่ด้านล่างโมดูล Auth (และเหนือโมดูลพร็อกซีหากคุณใช้งาน) นอกจากนี้ยังไม่ต้องการ Pinia มันจะใช้ useState ของ Nuxt โดยค่าเริ่มต้น
export default defineNuxtConfig ( {
modules : [
'@nuxt-alt/auth'
] ,
auth : {
/* module options */
}
} ) ; อ่านเอกสาร
ตอนนี้โมดูลใช้ '@nuxt-alt/http' กับฟังก์ชันโมดูลนั้นขยาย Ohmyfetch โปรดทราบว่าหากคุณใช้ data เพื่อโพสต์ข้อมูลตอนนี้คุณต้องใช้ body เนื่องจากนี่คือสิ่งที่ ohmyfetch ใช้ หากคุณตั้งใจจะใช้ SSR โปรดพิจารณาใช้โมดูล @nuxt-alt/proxy
useAuth() สามารถใช้งานได้พร้อมใช้งานเพื่อใช้ในการเข้าถึงวิธีการรับรองความถูกต้อง
ตัวเลือกส่วนใหญ่ใช้โดยตรงจาก @nuxtjs/auth โมดูล นอกจากนี้ยังมีตัวเลือกพิเศษบางอย่าง
globalMiddlewareBooleanfalseเปิดใช้งาน/ปิดใช้งานมิดเดิลแวร์ที่จะใช้ทั่วโลก
enableMiddlewareBooleantrueเปิดใช้งาน/ปิดใช้งานมิดเดิลแวร์ในตัว
stores.state.namespaceStringauthนี่คือเนมสเปซที่ใช้สำหรับ NUXT usestate
stores.pinia.enabledBooleanfalse เปิดใช้งานตัวเลือกนี้เพื่อใช้ Pinia Store, Bey Default นี้ถูกปิดใช้งานและใช้ useState ของ Nuxt แทน
stores.pinia.namespaceStringauthนี่คือเนมสเปซที่ใช้สำหรับร้าน Pinia
stores.local.enabledBooleantrueเปิดใช้งานตัวเลือกนี้เพื่อใช้ร้านค้า LocalStorage
stores.local.prefixStringauth.สิ่งนี้ตั้งค่าคำนำหน้า localstorage
stores.session.enabledBooleantrueเปิดใช้งานตัวเลือกนี้เพื่อใช้ SessionStorage Store
stores.session.prefixStringauth.คล้ายกับตัวเลือก LocalStorage นี่เป็นคำนำหน้าสำหรับการจัดเก็บเซสชัน
stores.cookie.enabledBooleantrueเปิดใช้งานตัวเลือกนี้เพื่อใช้ที่เก็บคุกกี้
stores.cookie.prefixStringauth.คล้ายกับตัวเลือก LocalStorage นี่เป็นคำนำหน้าสำหรับที่เก็บคุกกี้
stores.cookie.optionsObject{ path: '/' }ตัวเลือกการจัดเก็บคุกกี้เริ่มต้น
redirectStrategyquery | storagestorage ประเภทของกลยุทธ์การเปลี่ยนเส้นทางที่คุณต้องการใช้ storage utilizng localstorage สำหรับการเปลี่ยนเส้นทาง query โดยใช้พารามิเตอร์การสืบค้นเส้นทาง
tokenValidationIntervalBoolean | Numberfalseนี่คือการทดลอง หากตั้งค่าเป็นจริงช่วงเวลาเริ่มต้นคือ 1,000ms มิฉะนั้นตั้งเวลาเป็นมิลลิวินาที นี่คือความถี่ที่โมดูลที่มีความพยายามในการตรวจสอบโทเค็นสำหรับการหมดอายุ
resetOnResponseErrorBoolean | Functionfalseเมื่อเปิดใช้งานจะรีเซ็ตเมื่อมีข้อผิดพลาด 401 ในการตอบกลับใด ๆ คุณสามารถเปลี่ยนสิ่งนี้ให้เป็นฟังก์ชั่นเพื่อจัดการกับตัวเอง:
auth: {
//... module options
resetOnResponseError : ( error , auth , scheme ) => {
if ( error . response . status === 401 ) {
scheme . reset ?. ( )
auth . redirect ( 'login' )
}
} ,
} ข้อมูลผู้ใช้สามารถแก้ไขได้เช่น So So สำหรับ typeScript:
declare module '@nuxt-alt/auth' {
interface UserInfo {
email : string
name : string
}
} นอกเหนือจากโทเค็นรับรองความถูกต้อง
โดยค่าเริ่มต้น $auth.strategy getter ใช้ประเภท Scheme ซึ่งไม่มีประเภทคุณสมบัติ token หรือ refreshToken เพื่อช่วยในเรื่องนี้ A $auth.refreshStrategy และ $auth.tokenStrategy getter ได้รับการเพิ่มสำหรับการพิมพ์ พวกเขาทั้งหมดทำสิ่งเดียวกันนี่เป็นเพียงการบอกกล่าวประเภท
OAUTH2 ตอนนี้มีการตรวจสอบหน้าต่างไคลเอนต์ขอบคุณคำขอดึงนี้: NUXT-Community/Auth-Module#1746
มีการเปลี่ยนคุณสมบัติเป็น:
clientWindowBooleanfalseเปิด/ปิดใช้งานการใช้ป๊อปอัปสำหรับการตรวจสอบสิทธิ์ไคลเอนต์
clientWidthNumber400ความกว้างของหน้าต่างไคลเอนต์
clientHieghtNumber600ความกว้างของหน้าต่างไคลเอนต์
นามแฝงที่มีอยู่ที่จะใช้ภายใน nuxt
#auth/runtime#auth/utils#auth/providers