กลยุทธ์ Passport สำหรับการตรวจสอบสิทธิ์กับบัญชี Microsoft (หรือ Windows Live) โดยใช้ OAuth 2.0 API
โมดูลนี้ช่วยให้คุณตรวจสอบสิทธิ์โดยใช้ Windows Live ในแอปพลิเคชัน Node.js ของคุณ ด้วยการเสียบเข้ากับ Passport ทำให้การรับรองความถูกต้องของ Windows Live สามารถรวมเข้ากับแอปพลิเคชันหรือเฟรมเวิร์กใดๆ ที่รองรับมิดเดิลแวร์แบบ Connect ได้อย่างง่ายดายและไม่เกะกะ รวมถึง 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
ตามรายละเอียดในขอบเขตและการอนุญาต
Passport.authenticate('windowslive', { ขอบเขต: [ 'wl.offline_access' ] })
ชุดทดสอบอยู่ในไดเร็กทอรี test/
ฟีเจอร์ใหม่ทั้งหมดคาดว่าจะมีกรณีทดสอบที่เกี่ยวข้อง ตรวจสอบให้แน่ใจว่าชุดการทดสอบที่สมบูรณ์ผ่านการดำเนินการ:
$ ทำการทดสอบ
การพัฒนาฟีเจอร์ใหม่ทั้งหมดคาดว่าจะครอบคลุมการทดสอบ แพทช์ที่เพิ่มความครอบคลุมการทดสอบเป็นที่ยอมรับอย่างมีความสุข สามารถดูรายงานความครอบคลุมได้โดยดำเนินการ:
$ ทำการทดสอบ cov $ ทำให้ดู-cov
ซอฟต์แวร์นี้มอบให้แก่คุณในรูปแบบโอเพ่นซอร์สโดยไม่มีค่าใช้จ่าย เวลาและความพยายามในการพัฒนาและบำรุงรักษาโครงการนี้อุทิศโดย @jaredhanson หากคุณ (หรือนายจ้างของคุณ) ได้รับประโยชน์จากโครงการนี้ โปรดพิจารณาการบริจาคทางการเงิน การสนับสนุนของคุณช่วยสานต่อความพยายามในการผลิตซอฟต์แวร์โอเพ่นซอร์สนี้และอื่นๆ
รับเงินผ่าน PayPal, Venmo และวิธีอื่น ๆ จำนวนเงินใด ๆ ที่ได้รับการชื่นชม
ใบอนุญาตเอ็มไอที
ลิขสิทธิ์ (c) 2011-2016 เจเร็ด แฮนสัน <http://jaredhanson.net/>