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]
( كائن ، الإعدادات الافتراضية إلى {}
): خيارات للانتقال إلى الوحدة النمطية الأساسية للخدمة المستخدمة لخدمة الملفات (انظر مثال الاستخدام هنا).