استراتيجية Passport للمصادقة مع حسابات Microsoft (المعروفة أيضًا باسم Windows Live) باستخدام OAuth 2.0 API.
تتيح لك هذه الوحدة المصادقة باستخدام Windows Live في تطبيقات Node.js الخاصة بك. من خلال التوصيل بـ Passport، يمكن دمج مصادقة Windows Live بسهولة وبشكل غير مخفي في أي تطبيق أو إطار عمل يدعم البرامج الوسيطة ذات نمط الاتصال، بما في ذلك Express.
$ npm install passport-windowslive
قبل استخدام passport-windowslive
، يجب عليك تسجيل تطبيق لدى Microsoft. إذا لم تكن قد قمت بذلك بالفعل، فيمكن إنشاء تطبيق جديد في إدارة تطبيق Live Connect. سيتم إصدار معرف العميل وسر العميل لتطبيقك، ويجب توفيرهما للاستراتيجية. ستحتاج أيضًا إلى تكوين عنوان URL لإعادة التوجيه الذي يطابق المسار الموجود في تطبيقك.
تعمل إستراتيجية مصادقة Windows Live على مصادقة المستخدمين باستخدام حساب Windows Live ورموز OAuth 2.0 المميزة. يتم توفير معرف العميل والسر الذي تم الحصول عليه عند إنشاء تطبيق كخيارات عند إنشاء الإستراتيجية. تتطلب الإستراتيجية أيضًا رد اتصال verify
، والذي يتلقى رمز الوصول ورمز التحديث الاختياري، بالإضافة إلى profile
الذي يحتوي على ملف تعريف Windows Live الخاص بالمستخدم الذي تمت مصادقته. يجب أن يستدعي رد الاتصال verify
cb
مما يوفر للمستخدم إكمال المصادقة.
passport.use(new WindowsLiveStrategy({ clientID: WINDOWS_LIVE_CLIENT_ID, clientSecret: WINDOWS_LIVE_CLIENT_SECRET, callbackURL: "http://www.example.com/auth/windowslive/callback" }, function(accessToken, refreshToken, profile, cb) { User.findOrCreate({ windowsliveId: profile.id }, function (err, user) { return cb(err, user); }); } ));
استخدم passport.authenticate()
، مع تحديد استراتيجية 'windowslive'
، لمصادقة الطلبات.
على سبيل المثال، كبرنامج وسيط للمسار في تطبيق Express:
app.get('/auth/windowslive', passport.authenticate('windowslive', { scope: ['wl.signin', 'wl.basic'] })); app.get('/auth/windowslive/callback', passport.authenticate('windowslive', { failureRedirect: '/login' }), function(req, res) { // Successful authentication, redirect home. res.redirect('/'); });
يمكن للمطورين الذين يستخدمون إطار عمل الويب Express الشهير الرجوع إلى مثال كنقطة بداية لتطبيقات الويب الخاصة بهم. يوضح المثال كيفية مصادقة المستخدمين باستخدام Facebook. ومع ذلك، نظرًا لأن كلاً من Facebook وWindows Live يستخدمان OAuth 2.0، فإن الرمز مشابه. ما عليك سوى استبدال المراجع إلى Facebook بالمراجع المقابلة إلى Windows Live.
يجب أن يتضمن طلب المصادقة الخاص بك wl.offline_access
كما هو مفصل في النطاقات والأذونات.
جواز السفر.authenticate('windowslive', { النطاق: ['wl.offline_access' ] })
توجد مجموعة الاختبار في الدليل test/
. من المتوقع أن تحتوي جميع الميزات الجديدة على حالات اختبار مقابلة. تأكد من اجتياز مجموعة الاختبار الكاملة عن طريق تنفيذ:
$ إجراء الاختبار
من المتوقع أن تخضع جميع عمليات تطوير الميزات الجديدة إلى تغطية اختبارية. يتم قبول التصحيحات التي تزيد من تغطية الاختبار بسعادة. يمكن الاطلاع على تقارير التغطية من خلال تنفيذ:
$ قم بإجراء اختبار cov $ جعل عرض cov
يتم توفير هذا البرنامج لك كمصدر مفتوح ومجاني. تم تخصيص الوقت والجهد لتطوير هذا المشروع وصيانته بواسطةjaredhanson. إذا كنت أنت (أو صاحب عملك) تستفيد من هذا المشروع، فيرجى النظر في المساهمة المالية. تساعد مساهمتك في مواصلة الجهود التي تنتج هذا البرنامج وغيره من البرامج مفتوحة المصدر.
يتم قبول الأموال عبر PayPal وVenmo وطرق أخرى. هو موضع تقدير أي مبلغ.
رخصة معهد ماساتشوستس للتكنولوجيا
حقوق الطبع والنشر (ج) 2011-2016 جاريد هانسون <http://jaredhanson.net/>