وحدة المصادقة البديلة لـ 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
.
A useAuth()
composable متوفر لاستخدامه للوصول إلى أساليب المصادقة.
يتم اتخاذ معظم الخيارات مباشرة من وحدة @nuxtjs/auth. بالإضافة إلى ذلك ، هناك بعض الخيارات الإضافية المتاحة.
globalMiddleware
Boolean
false
تمكين/تعطيل البرامج الوسيطة لاستخدامها عالميا.
enableMiddleware
Boolean
true
تمكين/تعطيل البرامج الوسيطة المدمجة.
stores.state.namespace
String
auth
هذه هي مساحة الاسم لاستخدامها في Nuxt Usestate.
stores.pinia.enabled
Boolean
false
تمكين هذا الخيار لاستخدام متجر Pinia ، 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.
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
atilizng localstorage لإعادة التوجيه ، query
باستخدام معلمات استعلام الطريق.
tokenValidationInterval
Boolean | Number
false
هذا تجريبي. إذا تم ضبطه على TRUE ، فإن الفاصل الزمني الافتراضي هو 1000 مللي ثانية ، وإلا قم بتعيين الوقت بالمللي ثانية. هذا هو عدد المرات التي تحاول فيها التحقق من صحة الرمز المميز للانتهاء.
resetOnResponseError
Boolean | Function
false
عند تمكينه ، سيتم إعادة تعيينه عندما يكون هناك خطأ 401 في أي من الردود. يمكنك تحويل هذا إلى وظيفة للتعامل مع هذا بنفسك:
auth: {
//... module options
resetOnResponseError : ( error , auth , scheme ) => {
if ( error . response . status === 401 ) {
scheme . reset ?. ( )
auth . redirect ( 'login' )
}
} ,
}
يمكن تحرير معلومات المستخدم كما هو الحال بالنسبة لـ TypeScript:
declare module '@nuxt-alt/auth' {
interface UserInfo {
email : string
name : string
}
}
بالإضافة إلى رموز المصادقة ؛
بشكل افتراضي ، يستخدم $auth.strategy
getter نوع Scheme
الذي لا يحتوي على أنواع خاصية token
أو refreshToken
. للمساعدة في ذلك ، تمت إضافة $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