static auth
2.1.2
الطريقة الأكثر بساطة لإضافة المصادقة الأساسية إلى موقع ويب ثابت مستضاف على Vercel.
لقد قمت في الأصل بإنشاء هذا لإضافة طبقة مصادقة إلى مشاريعي المستضافة على Vercel ، ولكن يمكن استخدامها مع وحدة http المدمجة في Node أيضًا ويجب أن تعمل مع Express.
$ npm i static-auth -s
# or
$ yarn add static-auth const auth = require ( 'static-auth' ) ;
// Example with Vercel
module . exports = auth (
'/admin' ,
( user , pass ) => ( user === 'admin' && pass === 'admin' ) // (1)
) ;(1) التحقق من بيانات الاعتماد عبر المشغلين
==أو===يجعل الكود الخاص بك عرضة لهجمات التوقيت. يمكن حل ذلك باستخدام حزمة الحكم الآمن بدلاً من ذلك.
index.js
const auth = require ( 'static-auth' ) ;
// create a handler that will check for basic authentication before serving the files
const serveHandler = auth ( /* ... */ ) ;
// start the server
const http = require ( 'http' ) ;
const server = http . createServer ( serveHandler ) ;
server . listen ( 4444 , ( ) => console . log ( 'Listening on port 4444...' ) ) ; auth(url, validator, [options])
مطلوب :
url ( سلسلة ): عنوان URL الأساسي للحماية من المصادقة الأساسية. استخدم / لتقييد الوصول إلى موقع الويب بأكمله ، أو /<path> (مثل /admin ) لتقييد الوصول فقط إلى قسم من موقعك.validator ( الدالة ): وظيفة تقبل معلمتين ( user pass ) ويعيد true إذا منحت بيانات اعتماد تسجيل الدخول المتوفرة الوصول إلى المنطقة المحظورة.خياري :
[options] ( كائن ):[directory] ( سلسلة ، افتراضات إلى process.cwd() ): المسار الأساسي لخدمة الأصول الثابتة من. على سبيل المثال ، إذا كان يجب على طلب إلى my-website.com/app.css إرجاع محتوى الملف الموجود على ./www/app.css (بالنسبة إلى البرنامج النصي للعقدة) ، يجب عليك تعيين هذا على __dirname + '/www' ، وإلا فإن البرنامج النصي سيبحث عن ./app.css - وهو غير موجود - وإرجاع 404.[onAuthFailed] ( وظيفة ): رد اتصال يقبل معلمة واحدة ( res ، كائن http.ServerResponse ) ، مفيد إذا كنت تريد إرجاع رسالة خطأ مخصصة أو صفحة HTML عندما تكون بيانات الاعتماد المقدمة غير صالحة.[realm] ( سلسلة ، الافتراضية إلى 'default-realm' ): انظر ما هو "عالم" في المصادقة الأساسية (StackOverflow).[serveStaticOptions] ( كائن ، الإعدادات الافتراضية إلى {} ): خيارات للانتقال إلى الوحدة النمطية الأساسية للخدمة المستخدمة لخدمة الملفات (انظر مثال الاستخدام هنا).