وحدة المصادقة البديلة لـ 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. بالإضافة إلى ذلك ، هناك بعض الخيارات الإضافية المتاحة.
globalMiddlewareBooleanfalseتمكين/تعطيل البرامج الوسيطة لاستخدامها عالميا.
enableMiddlewareBooleantrueتمكين/تعطيل البرامج الوسيطة المدمجة.
stores.state.namespaceStringauthهذه هي مساحة الاسم لاستخدامها في Nuxt Usestate.
stores.pinia.enabledBooleanfalse تمكين هذا الخيار لاستخدام متجر Pinia ، Bey Default يتم تعطيله ويتم استخدام useState من Nuxt بدلاً من ذلك.
stores.pinia.namespaceStringauthهذه هي مساحة الاسم لاستخدامها في متجر Pinia.
stores.local.enabledBooleantrueتمكين هذا الخيار لاستخدام متجر LocalStorage.
stores.local.prefixStringauth.هذا يعين بادئة LocalStorage.
stores.session.enabledBooleantrueتمكين هذا الخيار لاستخدام متجر SessionStorage.
stores.session.prefixStringauth.على غرار خيار LocalStorage ، هذا هو بادئة لتخزين الجلسة.
stores.cookie.enabledBooleantrueتمكين هذا الخيار لاستخدام تخزين ملفات تعريف الارتباط.
stores.cookie.prefixStringauth.على غرار خيار LocalStorage ، هذا هو بادئة لتخزين ملفات تعريف الارتباط.
stores.cookie.optionsObject{ path: '/' }خيارات تخزين ملفات تعريف الارتباط الافتراضية.
redirectStrategyquery | storagestorage نوع استراتيجية إعادة التوجيه التي تريد استخدامها ، storage atilizng localstorage لإعادة التوجيه ، query باستخدام معلمات استعلام الطريق.
tokenValidationIntervalBoolean | Numberfalseهذا تجريبي. إذا تم ضبطه على TRUE ، فإن الفاصل الزمني الافتراضي هو 1000 مللي ثانية ، وإلا قم بتعيين الوقت بالمللي ثانية. هذا هو عدد المرات التي تحاول فيها التحقق من صحة الرمز المميز للانتهاء.
resetOnResponseErrorBoolean | Functionfalseعند تمكينه ، سيتم إعادة تعيينه عندما يكون هناك خطأ 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
تم تغيير الخصائص إلى:
clientWindowBooleanfalseتمكين/تعطيل استخدام المنبثقة لمصادقة العميل.
clientWidthNumber400عرض نافذة العميل.
clientHieghtNumber600عرض نافذة العميل.
الأسماء المستعارة المتاحة لاستخدامها داخل Nuxt
#auth/runtime#auth/utils#auth/providers