Strategi paspor untuk mengautentikasi dengan akun Microsoft (alias Windows Live) menggunakan API OAuth 2.0.
Modul ini memungkinkan Anda mengautentikasi menggunakan Windows Live di aplikasi Node.js Anda. Dengan menyambungkannya ke Passport, autentikasi Windows Live dapat diintegrasikan dengan mudah dan diam-diam ke dalam aplikasi atau kerangka kerja apa pun yang mendukung middleware bergaya Connect, termasuk Express.
$ npm install passport-windowslive
Sebelum menggunakan passport-windowslive
, Anda harus mendaftarkan aplikasi ke Microsoft. Jika Anda belum melakukannya, aplikasi baru dapat dibuat di manajemen aplikasi Live Connect. Aplikasi Anda akan mengeluarkan ID klien dan rahasia klien, yang perlu diberikan kepada strategi. Anda juga perlu mengonfigurasi URL pengalihan yang cocok dengan rute di aplikasi Anda.
Strategi autentikasi Windows Live mengautentikasi pengguna menggunakan akun Windows Live dan token OAuth 2.0. ID klien dan rahasia yang diperoleh saat membuat aplikasi disediakan sebagai opsi saat membuat strategi. Strategi ini juga memerlukan panggilan balik verify
, yang menerima token akses dan token penyegaran opsional, serta profile
yang berisi profil Windows Live pengguna yang diautentikasi. Panggilan balik verify
harus memanggil cb
yang menyediakan pengguna untuk menyelesaikan otentikasi.
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); }); } ));
Gunakan passport.authenticate()
, tentukan strategi 'windowslive'
, untuk mengautentikasi permintaan.
Misalnya, sebagai middleware rute dalam aplikasi 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('/'); });
Pengembang yang menggunakan kerangka web Express yang populer dapat merujuk pada contoh ini sebagai titik awal untuk aplikasi web mereka sendiri. Contoh ini menunjukkan cara mengautentikasi pengguna menggunakan Facebook. Namun, karena Facebook dan Windows Live menggunakan OAuth 2.0, kodenya serupa. Cukup ganti referensi ke Facebook dengan referensi terkait ke Windows Live.
Permintaan autentikasi Anda harus menyertakan wl.offline_access
sebagaimana dirinci dalam cakupan dan izin.
paspor.authenticate('windowslive', { cakupan: [ 'wl.offline_access' ] })
Rangkaian pengujian terletak di direktori test/
. Semua fitur baru diharapkan memiliki kasus uji yang sesuai. Pastikan rangkaian pengujian lengkap lolos dengan menjalankan:
$ melakukan tes
Semua pengembangan fitur baru diharapkan memiliki cakupan pengujian. Tambalan yang meningkatkan cakupan pengujian diterima dengan senang hati. Laporan cakupan dapat dilihat dengan menjalankan:
$ membuat tes-cov $ buat tampilan-cov
Perangkat lunak ini disediakan untuk Anda sebagai sumber terbuka, gratis. Waktu dan tenaga untuk mengembangkan dan memelihara proyek ini didedikasikan oleh @jaredhanson. Jika Anda (atau perusahaan Anda) mendapat manfaat dari proyek ini, harap pertimbangkan kontribusi finansial. Kontribusi Anda membantu melanjutkan upaya yang menghasilkan perangkat lunak ini dan perangkat lunak sumber terbuka lainnya.
Dana diterima melalui PayPal, Venmo, dan metode lainnya. Jumlah berapa pun dihargai.
Lisensi MIT
Hak Cipta (c) 2011-2016 Jared Hanson <http://jaredhanson.net/>