ဖြေရှင်းထားသည်- နိုင်ငံကူးလက်မှတ် အမှတ်စဉ်အသုံးပြုသူ

Passport.js သည် Node.js တွင် အသုံးပြုသူ စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းကို ကိုင်တွယ်သည့် လုပ်ငန်းစဉ်ကို ရိုးရှင်းလွယ်ကူစေသည့် နာမည်ကြီး node module တစ်ခုဖြစ်သည်။ ၎င်းသည် ပြောင်းလွယ်ပြင်လွယ်၊ modular ဖြစ်ပြီး နားလည်ရလွယ်ကူသည်။ သင်၏ Node.js အပလီကေးရှင်းများတွင် Passport.js ကို အကောင်အထည်ဖော်ခြင်း၏ အဓိကသော့ချက်တစ်ချက်မှာ `serializeUser` နှင့် `deserializeUser` ကို နားလည်ခြင်းဖြစ်သည်။ ၎င်းတို့သည် သုံးစွဲသူများ၏ တည်မြဲမှုကို စီမံခန့်ခွဲရန်အတွက် အရေးကြီးသော လုပ်ဆောင်ချက်များ နှစ်ခုဖြစ်သည်။

SerializeUser အသုံးပြုသူ၏ စက်ရှင်ကို သိမ်းဆည်းရန် အသုံးပြုသည့် နိုင်ငံကူးလက်မှတ်မှ ပံ့ပိုးပေးသည့် နည်းလမ်းတစ်ခုဖြစ်သည်။ ၎င်းကို အသုံးပြုသူ၏ လော့ဂ်အင်ဟု ခေါ်သည်၊ ထို့ကြောင့် ဒေတာဘေ့စ်မှ ပြန်လည်ရယူထားသော သုံးစွဲသူဒေတာကို စက်ရှင်တွင် သိမ်းဆည်းထားသည်။

DeserializeUser အခြားတစ်ဖက်တွင်၊ အကောင့်ဝင်ပြီးနောက်နောက်ဆက်တွဲတောင်းဆိုမှုတိုင်းကိုခေါ်သည်။ ၎င်းသည် စက်ရှင်မှ အသုံးပြုသူ၏ဒေတာကို ရယူပြီး `req.user` တွင် သိမ်းဆည်းရန် ပတ်စ်ပို့ကို လုပ်ဆောင်သည်။

လုပ်ဆောင်ချက်တွင် Passport SerializeUser

၎င်းအလုပ်လုပ်ပုံကို သရုပ်ဖော်ရန်၊ အောက်ပါ ကုဒ်အပိုင်းကို သုံးသပ်ပါ။

import * as passport from 'passport';
import { User } from './user.interface';

passport.serializeUser((user: User, done) => {
  done(null, user.id);
});

ဤတွင်၊ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏အသုံးပြုသူအရာဝတ္တုတွင် ဖြတ်သန်းပြီး 'ပြီးပြီ' ဟုပြန်ခေါ်ပါ။ Passport.js သည် အရာဝတ္တုအား အမှတ်စဉ်ပြုလုပ်ပြီးသည့်အခါ ၎င်းကို စက်ရှင်တွင် သိမ်းဆည်းရန် အဆင်သင့်ဖြစ်သောအခါ လုပ်ဆောင်သည့်လုပ်ဆောင်ချက်ကို ခေါ်သည်။

Code ထဲကို ခုန်ဆင်းသွားတယ်။

ဤသည်မှာ ကျွန်ုပ်တို့၏ကုဒ်၏ တစ်ဆင့်ပြီးတစ်ဆင့် လမ်းလျှောက်ခြင်းဖြစ်ပါသည်။

1. Passport နှင့် User Interface ကို တင်သွင်းပါ။ပထမဦးစွာ၊ ကျွန်ုပ်တို့သည် နိုင်ငံကူးလက်မှတ် မော်ဂျူးနှင့် ကျွန်ုပ်တို့၏ ကြိုတင်သတ်မှတ်ထားသော User Interface ကို တင်သွင်းပါသည်။

import * as passport from 'passport';
import { User } from './user.interface';

2. အသုံးပြုသူကို အမှတ်စဉ်သတ်မှတ်ပါ- ထို့နောက် ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ serializeUser လုပ်ဆောင်ချက်ကို ကြေညာသည်။

passport.serializeUser((user: User, done) => {
  done(null, user.id);
});

ကျွန်ုပ်တို့၏ `serializeUser` နည်းလမ်းတွင်၊ အသုံးပြုသူ၏ဒေတာမှ မည်သည့်အရာကို စက်ရှင်တွင် သိမ်းဆည်းမည်ကို ဆုံးဖြတ်ပါသည်။ ဤကိစ္စတွင်၊ ကျွန်ုပ်တို့သည် သုံးစွဲသူ၏ ID ကို သိမ်းဆည်းရန် ရွေးချယ်ခဲ့သည်။

3. ပြန်ခေါ်သည့်လုပ်ဆောင်ချက်- Passport.js သည် ငြင်းချက်နှစ်ခုယူသည့် 'ပြီးပြီ' ခေါ်ဆိုမှုလုပ်ဆောင်ချက်ကို အသုံးပြုသည်။ ပထမတစ်ခုသည် error ဖြစ်ပြီး ဒုတိယတစ်ခုသည် session တွင် သင်သိမ်းဆည်းလိုသော အချက်အလက်ဖြစ်သည်။

done(null, user.id);

Node.js တွင် Passport ကို နားလည်ခြင်း။

Passport.js သည် Node.js တွင် အသုံးပြုသူ စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းကို စီမံခန့်ခွဲရန် အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ မှန်ကန်စွာအသုံးပြုသောအခါ၊ ၎င်းသည် အထောက်အထားစိစစ်ခြင်းလုပ်ငန်းစဉ်ကို ရိုးရှင်းစေပြီး အသုံးပြုသူအတွေ့အကြုံကို ပိုမိုကောင်းမွန်စေသည်။ serializeUser ကို ခိုင်မာစွာနားလည်ခြင်းဖြင့်၊ ထိရောက်ပြီး လုံခြုံသောအသုံးပြုသူအထောက်အထားစိစစ်ခြင်းကို အကောင်အထည်ဖော်ရန် သင်သည် ပိုမိုကောင်းမွန်စွာတပ်ဆင်နိုင်မည်ဖြစ်သည်။

ယခု Passport ၏ 'serializeUser' ကို ပိုမိုကောင်းမွန်စွာ နားလည်လာသောအခါ၊ သင်၏ Node.js အပလီကေးရှင်းများတွင် ၎င်းကို မှန်ကန်စွာ အကောင်အထည်ဖော်နိုင်ပါပြီ။ 'serializeUser' သည် သုံးစွဲသူအစည်းအဝေးများကို စီမံခန့်ခွဲရန်နှင့် သင့်အပလီကေးရှင်းသည် အသုံးပြုသူဒေတာကို ဆက်လက်တည်ရှိနေနိုင်စေကြောင်း အမြဲသတိရပါ။

Passport.js နှင့်ဆက်စပ်သော စာကြည့်တိုက်များနှင့် ပက်ကေ့ခ်ျများ

  • Express-Session- ၎င်းသည် စက်ရှင်စီမံခန့်ခွဲမှုကို ကိုင်တွယ်သည့် အမြန်အလယ်တန်းဆော့ဖ်ဝဲတစ်ခုဖြစ်သည်။ အသုံးပြုသူဒေတာဆက်လက်တည်မြဲရန်အတွက် ၎င်းကို passport.js နှင့် ပေါင်းစပ်အသုံးပြုသည်။
  • မွန်ဂိုမ MongoDB object modeling အတွက် passport.js ဖြင့် သုံးလေ့ရှိသည်။
  • Bcrypt- စကားဝှက်များကို ဟက်ရန် စာကြည့်တိုက်။ ၎င်းသည် passport.js ဖြင့် လုံခြုံသောအသုံးပြုသူ စစ်မှန်ကြောင်းအထောက်အထားကို စီမံခန့်ခွဲရာတွင် မရှိမဖြစ်လိုအပ်သော ပက်ကေ့ခ်ျတစ်ခုဖြစ်သည်။

အမြဲသတိရပါ၊ ဤကိရိယာများအကြောင်း သင့်နားလည်မှု ပိုမိုကျယ်ပြန့်လေ၊ သင့်အပလီကေးရှင်း၏ လုံခြုံရေးနှင့် အသုံးပြုသူအတွေ့အကြုံကို မြှင့်တင်ရန် သင်ပိုမိုတပ်ဆင်လာလေလေဖြစ်သည်။

Related ရေးသားချက်များ:

a Comment ချန်ထား