โมดูล 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 โมดูล นอกจากนี้ยังมีตัวเลือกพิเศษบางอย่าง
globalMiddleware
Boolean
false
เปิดใช้งาน/ปิดใช้งานมิดเดิลแวร์ที่จะใช้ทั่วโลก
enableMiddleware
Boolean
true
เปิดใช้งาน/ปิดใช้งานมิดเดิลแวร์ในตัว
stores.state.namespace
String
auth
นี่คือเนมสเปซที่ใช้สำหรับ NUXT usestate
stores.pinia.enabled
Boolean
false
เปิดใช้งานตัวเลือกนี้เพื่อใช้ Pinia Store, Bey Default นี้ถูกปิดใช้งานและใช้ useState
ของ Nuxt แทน
stores.pinia.namespace
String
auth
นี่คือเนมสเปซที่ใช้สำหรับร้าน Pinia
stores.local.enabled
Boolean
true
เปิดใช้งานตัวเลือกนี้เพื่อใช้ร้านค้า LocalStorage
stores.local.prefix
String
auth.
สิ่งนี้ตั้งค่าคำนำหน้า localstorage
stores.session.enabled
Boolean
true
เปิดใช้งานตัวเลือกนี้เพื่อใช้ SessionStorage Store
stores.session.prefix
String
auth.
คล้ายกับตัวเลือก LocalStorage นี่เป็นคำนำหน้าสำหรับการจัดเก็บเซสชัน
stores.cookie.enabled
Boolean
true
เปิดใช้งานตัวเลือกนี้เพื่อใช้ที่เก็บคุกกี้
stores.cookie.prefix
String
auth.
คล้ายกับตัวเลือก LocalStorage นี่เป็นคำนำหน้าสำหรับที่เก็บคุกกี้
stores.cookie.options
Object
{ path: '/' }
ตัวเลือกการจัดเก็บคุกกี้เริ่มต้น
redirectStrategy
query | storage
storage
ประเภทของกลยุทธ์การเปลี่ยนเส้นทางที่คุณต้องการใช้ storage
utilizng localstorage สำหรับการเปลี่ยนเส้นทาง query
โดยใช้พารามิเตอร์การสืบค้นเส้นทาง
tokenValidationInterval
Boolean | Number
false
นี่คือการทดลอง หากตั้งค่าเป็นจริงช่วงเวลาเริ่มต้นคือ 1,000ms มิฉะนั้นตั้งเวลาเป็นมิลลิวินาที นี่คือความถี่ที่โมดูลที่มีความพยายามในการตรวจสอบโทเค็นสำหรับการหมดอายุ
resetOnResponseError
Boolean | Function
false
เมื่อเปิดใช้งานจะรีเซ็ตเมื่อมีข้อผิดพลาด 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
มีการเปลี่ยนคุณสมบัติเป็น:
clientWindow
Boolean
false
เปิด/ปิดใช้งานการใช้ป๊อปอัปสำหรับการตรวจสอบสิทธิ์ไคลเอนต์
clientWidth
Number
400
ความกว้างของหน้าต่างไคลเอนต์
clientHieght
Number
600
ความกว้างของหน้าต่างไคลเอนต์
นามแฝงที่มีอยู่ที่จะใช้ภายใน nuxt
#auth/runtime
#auth/utils
#auth/providers