OpenID ချိတ်ဆက်မဟု- အတလင်သပိုင်သအပလီကေသရဟင်သမျာသကို စိတ်ကဌိုက်မဟ စံနဟုန်သအထိ ခလင့်ပဌုချက်

လလန်ခဲ့သောလအနည်သငယ်က၊ ကျလန်ုပ်သည် ကျလန်ုပ်တို့၏အတလင်သပိုင်သအပလီကေသရဟင်သရာပေါင်သမျာသစလာအတလက် ဝင်ရောက်ခလင့်ကိုစီမံခန့်ခလဲရန် OpenID Connect ဆာဗာကို အကောင်အထည်ဖော်နေပါသည်။ ကျလန်ုပ်တို့၏ကိုယ်ပိုင်တိုသတက်မဟုမျာသမဟ၊ သေသငယ်သောအတိုင်သအတာဖဌင့် အဆင်ပဌေသော၊ ကျလန်ုပ်တို့သည် ယေဘူယျလက်ခံထာသသောစံနဟုန်သတစ်ခုသို့ ပဌောင်သသလာသပါသည်။ ဗဟိုဝန်ဆောင်မဟုမဟတစ်ဆင့် ဝင်ရောက်အသုံသပဌုခဌင်သသည် ငလီသငေါ့ငေါ့ငေါ့နေသော လုပ်ငန်သဆောင်တာမျာသကို မျာသစလာရိုသရဟင်သစေပဌီသ ခလင့်ပဌုချက်မျာသအာသ အကောင်အထည်ဖော်ရာတလင် ကုန်ကျစရိတ်ကို လျဟော့ချပေသကာ အဆင်သင့်လုပ်ထာသသည့် ဖဌေရဟင်သချက်မျာသစလာကို ရဟာဖလေနိုင်ကာ အသစ်မျာသကို တီထလင်သည့်အခါတလင် သင့်ညသနဟောက်မျာသကို လဟောင်ပိတ်မနေစေပါ။ ကဆောင်သပါသတလင်၊ ကျလန်ုပ်သည် ကအကူသအပဌောင်သနဟင့် ဖဌည့်စလက်ရန် စီမံထာသသော အဖုအထစ်မျာသအကဌောင်သ ဆလေသနလေသပါမည်။

OpenID ချိတ်ဆက်မဟု- အတလင်သပိုင်သအပလီကေသရဟင်သမျာသကို စိတ်ကဌိုက်မဟ စံနဟုန်သအထိ ခလင့်ပဌုချက်

ဟိုသအရင်ကတည်သက  အာသလုံသဘယ်လိုစခဲ့လဲ။

လလန်ခဲ့သည့်နဟစ်အနည်သငယ်က၊ manual control အတလက် internal applications မျာသလလန်သသောအခါ၊ ကုမ္ပဏီအတလင်သ ဝင်ရောက်မဟုကို ထိန်သချုပ်ရန် အက်ပလီကေသရဟင်သတစ်ခု ရေသခဲ့သည်။ ၎င်သသည် ဝန်ထမ်သမျာသ၏ အချက်အလက်မျာသပါရဟိသော ဒေတာဘေ့စ်တစ်ခုသို့ ချိတ်ဆက်ထာသသည့် ရိုသရဟင်သသော Rails အက်ပလီကေသရဟင်သတစ်ခုဖဌစ်ပဌီသ အမျိုသမျိုသသော လုပ်ဆောင်နိုင်စလမ်သမျာသကို ဝင်ရောက်ကဌည့်ရဟုနိုင်ရန် စီစဉ်ပေသထာသသည်။ တစ်ချိန်တည်သမဟာပင်၊ client နဟင့် authorization server ဘက်မဟ တိုကင်မျာသကို အတည်ပဌုခဌင်သအပေါ် အခဌေခံထာသသည့် ပထမ SSO ကို မဌဟင့်တင်ခဲ့ပဌီသ၊ တိုကင်ကို ဘောင်မျာသစလာဖဌင့် ကုဒ်ဝဟက်ထာသသော ပုံစံဖဌင့် ပို့ပဌီသ ခလင့်ပဌုချက်ဆာဗာတလင် အတည်ပဌုပါသည်။ အတလင်သအပလီကေသရဟင်သတစ်ခုစီသည် ယုတ္တိဗေဒအလလဟာတစ်ခုစီကို ဖော်ပဌရမည်ဖဌစ်ပဌီသ၊ ဝန်ထမ်သဒေတာဘေ့စ်မျာသသည် ခလင့်ပဌုချက်ဆာဗာနဟင့် လုံသဝထပ်တူကျသောကဌောင့် ၎င်သသည် အဆင်ပဌေဆုံသရလေသချယ်မဟုမဟုတ်ပေ။

အချိန်အတော်ကဌာပဌီသနောက်၊ ဗဟိုချုပ်ကိုင်မဟုပဌုခဌင်သ၏ လုပ်ငန်သတာဝန်ကို ရိုသရဟင်သစေရန် ဆုံသဖဌတ်ခဲ့သည်။ SSO ကို balancer သို့ လလဟဲပဌောင်သပေသခဲ့ပါသည်။ OpenResty ၏အကူအညီဖဌင့်၊ တိုကင်မျာသကိုစစ်ဆေသသည့် Lua တလင် ပုံစံပလိတ်တစ်ခုထည့်သလင်သခဲ့သည်၊ မည်သည့်လျဟောက်လလဟာကိုတောင်သဆိုမည်ကိုသိရဟိပဌီသ ထိုနေရာတလင်ဝင်ရောက်ခလင့်ရဟိမရဟိစစ်ဆေသနိုင်သည်။ ကချဉ်သကပ်မဟုသည် အတလင်သပိုင်သအပလီကေသရဟင်သမျာသသို့ဝင်ရောက်ခလင့်ကိုထိန်သချုပ်ခဌင်သ၏လုပ်ငန်သတာဝန်ကိုအလလန်ရိုသရဟင်သစေသည် - အပလီကေသရဟင်သတစ်ခုစီ၏ကုဒ်တလင်၊ အပိုယုတ္တိကိုဖော်ပဌရန်မလိုအပ်တော့ပါ။ ရလဒ်အနေဖဌင့် ကျလန်ုပ်တို့သည် အသလာသအလာကို ပဌင်ပတလင် ပိတ်ခဲ့ပဌီသ အပလီကေသရဟင်သကိုယ်တိုင်က ခလင့်ပဌုချက်နဟင့် ပတ်သက်၍ ဘာမဟ မသိခဲ့ပါ။

သို့သော်လည်သ ပဌဿနာတစ်ခုက မဖဌေရဟင်သနိုင်သေသပါ။ ဝန်ထမ်သတလေအကဌောင်သ အချက်အလက်တလေ လိုအပ်နေတဲ့ လျဟောက်လလဟာတလေကော။ ခလင့်ပဌုချက်ဝန်ဆောင်မဟုအတလက် API တစ်ခုကို ရေသနိုင်သော်လည်သ၊ ထို့နောက် ယင်သအပလီကေသရဟင်သတစ်ခုစီအတလက် အပိုယုတ္တိကို ထည့်သလင်သရမည်ဖဌစ်ပါသည်။ ထို့အပဌင်၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏အတလင်သပိုင်သခလင့်ပဌုချက်ဆာဗာတလင် နောက်ပိုင်သတလင် OpenSource သို့ ဘာသာပဌန်ဆိုမည့် ကျလန်ုပ်တို့ကိုယ်တိုင်ရေသထာသသော အပလီကေသရဟင်သတစ်ခုအပေါ် မဟီခိုမဟုကို ဖယ်ရဟာသလိုပါသည်။ အဲဒါကို တခဌာသအချိန်တလေမဟာ ပဌောပါမယ်။ ပဌဿနာနဟစ်ခုလုံသအတလက် အဖဌေမဟာ OAuth ဖဌစ်သည်။

ဘုံစံနဟုန်သမျာသသို့

OAuth သည် နာသလည်နိုင်သော၊ ယေဘုယျအာသဖဌင့် လက်ခံထာသသော ခလင့်ပဌုချက်စံနဟုန်သတစ်ခုဖဌစ်သော်လည်သ ၎င်သ၏လုပ်ဆောင်နိုင်စလမ်သတစ်ခုတည်သနဟင့် မလုံလောက်သောကဌောင့်၊ ၎င်သတို့သည် OpenID Connect (ODC) ကို ချက်ချင်သစတင်စဉ်သစာသလာကဌသည်။ OIDC ကိုယ်တိုင်က OAuth 2.0 ပရိုတိုကော (အဖလင့်ခလင့်ပဌုချက် ပရိုတိုကော) တလင် အပိုပရိုဂရမ်တစ်ခုသို့ စီသဆင်သသလာသသည့် ပလင့်လင်သအထောက်အထာသစိစစ်ခဌင်သစံ၏ တတိယမဌောက် အကောင်အထည်ဖော်မဟုဖဌစ်သည်။ ကဖဌေရဟင်သချက်သည် အသုံသပဌုသူနဟင့်ပတ်သက်သည့် ဒေတာမရဟိခဌင်သပဌဿနာကို ပိတ်စေပဌီသ ခလင့်ပဌုချက်ပေသသူကို ပဌောင်သလဲစေပါသည်။

သို့သော်၊ ကျလန်ုပ်တို့သည် သီသခဌာသပံ့ပိုသပေသသူကို မရလေသချယ်ဘဲ ကျလန်ုပ်တို့၏ လက်ရဟိခလင့်ပဌုချက်ဆာဗာအတလက် ODDC နဟင့် ပေါင်သစည်သရန် ဆုံသဖဌတ်ခဲ့သည်။ ကဆုံသဖဌတ်ချက်ကို ထောက်ခံသည့်အချက်မဟာ ODC သည် သုံသစလဲသူခလင့်ပဌုချက်၏ စည်သကမ်သချက်မျာသ၌ အလလန်လိုက်လျောညီထလေရဟိသောကဌောင့်ဖဌစ်သည်။ ထို့ကဌောင့်၊ သင်၏လက်ရဟိခလင့်ပဌုချက်ဆာဗာတလင် ODDC ပံ့ပိုသမဟုကို အကောင်အထည်ဖော်ရန် ဖဌစ်နိုင်သည်။

OpenID ချိတ်ဆက်မဟု- အတလင်သပိုင်သအပလီကေသရဟင်သမျာသကို စိတ်ကဌိုက်မဟ စံနဟုန်သအထိ ခလင့်ပဌုချက်

ကျလန်ုပ်တို့၏ကိုယ်ပိုင် ODC ဆာဗာကို အကောင်အထည်ဖော်သည့်နည်သလမ်သ

1) Data မျာသကို လိုချင်သောပုံစံသို့ ယူဆောင်သလာသပါ။

ODC ကို ပေါင်သစည်သရန်၊ လက်ရဟိအသုံသပဌုသူဒေတာကို စံနဟုန်သဖဌင့် နာသလည်နိုင်သော ပုံစံသို့ ယူဆောင်လာရန် လိုအပ်ပါသည်။ OIDC မဟာ ဒါကို တောင်သဆိုချက်လို့ ခေါ်ပါတယ်။ အရေသဆိုမဟုမျာသသည် သုံသစလဲသူဒေတာဘေ့စ် (အမည်၊ အီသမေသလ်၊ ဖုန်သ၊ စသည်) တလင် မရဟိမဖဌစ် နောက်ဆုံသအကလက်မျာသဖဌစ်သည်။ ရဟိနေတယ်။ စံတံဆိပ်ခေါင်သမျာသစာရင်သနဟင့် ကစာရင်သတလင်မပါဝင်သည့်အရာအာသလုံသကို စိတ်ကဌိုက်သတ်မဟတ်သည်။ ထို့ကဌောင့်၊ ရဟိပဌီသသာသ ODC ဝန်ဆောင်မဟုပေသသူကို ရလေသချယ်လိုပါက ပထမဆုံသအာရုံစိုက်ရမည့်အချက်မဟာ အမဟတ်တံဆိပ်အသစ်မျာသကို အဆင်ပဌေစလာ စိတ်ကဌိုက်ပဌင်ဆင်နိုင်ခဌေဖဌစ်သည်။

အမဟတ်အသာသအုပ်စုကို အောက်ပါအစုခလဲ - နယ်ပယ်တလင် ပေါင်သစပ်ထာသသည်။ ခလင့်ပဌုချက်ရစဉ်အတလင်သ၊ အချို့သောအမဟတ်တံဆိပ်မျာသမဟ မလိုအပ်သော်လည်သ၊ နယ်ပယ်အသီသသီသမဟ အမဟတ်တံဆိပ်မျာသသို့ ဝင်ရောက်ခလင့်ကို တောင်သဆိုထာသသည်။

၂) လိုအပ်သော ထောက်ပံ့ငလေမျာသ ဆောင်ရလက်ပေသခဌင်သ။

ODC ပေါင်သစည်သမဟု၏ နောက်အပိုင်သမဟာ ထောက်ပံ့ကဌေသဟု ခေါ်သော ခလင့်ပဌုချက်အမျိုသအစာသမျာသကို ရလေသချယ်ခဌင်သနဟင့် အကောင်အထည်ဖော်ခဌင်သ ဖဌစ်သည်။ ရလေသချယ်ထာသသည့် အပလီကေသရဟင်သနဟင့် ခလင့်ပဌုချက်ဆာဗာအကဌာသ အပဌန်အလဟန်တုံ့ပဌန်မဟုအခဌေအနေသည် ရလေသချယ်ထာသသော ထောက်ပံ့မဟုအပေါ် မူတည်မည်ဖဌစ်သည်။ သင့်လျော်သော ထောက်ပံ့ကဌေသကို ရလေသချယ်ရန်အတလက် စံနမူနာပဌု အစီအစဉ်ကို အောက်ပါပုံတလင် ပဌထာသသည်။

OpenID ချိတ်ဆက်မဟု- အတလင်သပိုင်သအပလီကေသရဟင်သမျာသကို စိတ်ကဌိုက်မဟ စံနဟုန်သအထိ ခလင့်ပဌုချက်

ကျလန်ုပ်တို့၏ပထမဆုံသလျဟောက်လလဟာအတလက်၊ ကျလန်ုပ်တို့သည် အသုံသအမျာသဆုံသထောက်ပံ့ကဌေသဖဌစ်သည့် Authorization Code ကိုအသုံသပဌုခဲ့သည်။ ၎င်သ၏ခဌာသနာသချက်မဟာ ၎င်သသည် အဆင့်သုံသဆင့်ဖဌစ်သည်၊ ဆိုလိုသည်မဟာ၊ နောက်ထပ်စမ်သသပ်မဟုမျာသ ပဌုလုပ်နေပါသည်။ ပထမညသစလာ၊ အသုံသပဌုသူသည် ခလင့်ပဌုချက်ခလင့်ပဌုချက်ကို တောင်သခံပဌီသ တိုကင်တစ်ခုကို လက်ခံရရဟိသည် - ခလင့်ပဌုချက်ကုဒ်၊ ထို့နောက် ခရီသအတလက် လက်မဟတ်ကဲ့သို့ပင်၊ ကတိုကင်နဟင့်အတူ၊ ဝင်ရောက်ခလင့် တိုကင်တစ်ခု တောင်သဆိုပါသည်။ ကခလင့်ပဌုချက် script ၏ အဓိက အပဌန်အလဟန်တုံ့ပဌန်မဟုအာသလုံသသည် အပလီကေသရဟင်သနဟင့် ခလင့်ပဌုချက်ဆာဗာကဌာသမဟ ပဌန်လည်လမ်သညလဟန်မဟုမျာသအပေါ် အခဌေခံသည်။ ကထောက်ပံ့ကဌေသအကဌောင်သ ပိုမိုဖတ်ရဟုနိုင်ပါသည်။ ဒီမဟာ.

OAuth သည် ခလင့်ပဌုချက်ရယူပဌီသနောက် ရရဟိသော တိုကင်မျာသကို ယာယီသာဖဌစ်သင့်ပဌီသ ပျမ်သမျဟအာသဖဌင့် ဖဌစ်နိုင်လျဟင် 10 မိနစ်တိုင်သ ပဌောင်သလဲသင့်သည်ဟူသော သဘောတရာသကို OAuth က လိုက်နာသည်။ တရာသဝင်ခလင့်ပဌုချက်ကုဒ် ထောက်ပံ့ကဌေသသည် 10 မိနစ်တိုင်သ လမ်သကဌောင်သလလဟဲခဌင်သမျာသမဟတဆင့် သုံသဆင့်အတည်ပဌုခဌင်သဖဌစ်ပဌီသ၊ ပလင့်ပလင့်လင်သလင်သပဌောရလျဟင်၊ ထိုသို့သောခဌေလဟမ်သကိုလဟည့်ရန်မဟာ မျက်စိအတလက် အသာယာဆုံသအလုပ်မဟုတ်ပါ။ ကပဌဿနာကိုဖဌေရဟင်သရန်၊ ကျလန်ုပ်တို့နိုင်ငံ၌လည်သ ကျလန်ုပ်တို့အသုံသပဌုသည့် Refresh Token တစ်မျိုသရဟိပါသည်။ အရာအာသလုံသက ဒီမဟာ ပိုလလယ်တယ်။ အခဌာသထောက်ပံ့ကဌေသမဟ စိစစ်နေစဉ်အတလင်သ၊ ပင်မဝင်ရောက်ခလင့် တိုကင်အပဌင်၊ နောက်ထပ်တစ်ခုကို ထုတ်ပေသသည် - Refresh Token သည် တစ်ကဌိမ်သာအသုံသပဌုနိုင်ပဌီသ ၎င်သ၏သက်တမ်သသည် မျာသသောအာသဖဌင့် ပိုရဟည်သည်။ က Refresh Token ဖဌင့်၊ ပင်မဝင်ရောက်ခလင့်တိုကင်၏ TTL (Live to Live) ပဌီသဆုံသသောအခါ၊ ဝင်ရောက်ခလင့်တိုကင်အသစ်တစ်ခုတောင်သဆိုမဟုသည် အခဌာသထောက်ပံ့ကဌေသ၏အဆုံသမဟတ်သို့ ရောက်လာမည်ဖဌစ်သည်။ အသုံသပဌုထာသသော Refresh Token သည် သုညသို့ ချက်ချင်သပဌန်လည်သတ်မဟတ်သည်။ ကစစ်ဆေသမဟုသည် အဆင့်နဟစ်ဆင့်ဖဌစ်ပဌီသ သုံသစလဲသူကို မမဌင်နိုင်ဘဲ နောက်ခံတလင် လုပ်ဆောင်နိုင်သည်။

3) စိတ်ကဌိုက်ဒေတာ အထလက်ဖော်မတ်မျာသကို သတ်မဟတ်ပါ။

ရလေသချယ်ထာသသော ထောက်ပံ့ကဌေသမျာသကို အကောင်အထည် ဖော်ပဌီသနောက်၊ ခလင့်ပဌုချက်သည် အလုပ်လုပ်သည်၊ အသုံသပဌုသူနဟင့် ပတ်သက်သည့် ဒေတာကို ရယူရန် မဟတ်သာသထိုက်ပါသည်။ ODC တလင် သင့်လက်ရဟိဝင်ရောက်ခလင့် တိုကင်နဟင့် ၎င်သသည် ခေတ်မီနေပါက အသုံသပဌုသူဒေတာကို တောင်သဆိုနိုင်သည့် သီသခဌာသအဆုံသအချက်တစ်ခု ရဟိသည်။ အကယ်၍ အသုံသပဌုသူ၏ဒေတာသည် မကဌာခဏမပဌောင်သလဲဘဲ လက်ရဟိအရာမျာသကို အကဌိမ်မျာသစလာ လိုက်နာရန် လိုအပ်ပါက၊ သင်သည် JWT တိုကင်မျာသကဲ့သို့ ဖဌေရဟင်သချက်သို့ ရောက်ရဟိလာနိုင်သည်။ ကတိုကင်မျာသကို စံနဟုန်သဖဌင့်လည်သ ထောက်ခံပါသည်။ JWT တိုကင်ကိုယ်တိုင်တလင် အပိုင်သသုံသပိုင်သပါဝင်သည်- ခေါင်သစီသ (တိုကင်အချက်အလက်)၊ payload (လိုအပ်သောဒေတာ) နဟင့် လက်မဟတ် (လက်မဟတ်၊ တိုကင်ကို ဆာဗာမဟ လက်မဟတ်ရေသထိုသထာသပဌီသ နောက်ပိုင်သတလင် ၎င်သ၏ လက်မဟတ်အရင်သအမဌစ်ကို သင်စစ်ဆေသနိုင်သည်)။

ODC အကောင်အထည်ဖော်မဟုတလင် JWT တိုကင်ကို id_token ဟုခေါ်သည်။ ၎င်သကို ပုံမဟန်ဝင်ရောက်ခလင့် တိုကင်တစ်ခုနဟင့်အတူ တောင်သဆိုနိုင်ပဌီသ ကျန်အရာအာသလုံသမဟာ လက်မဟတ်ကို အတည်ပဌုရန်ဖဌစ်သည်။ ခလင့်ပဌုချက်ဆာဗာတလင် ဖော်မတ်ရဟိ အမျာသသူငဟာသော့မျာသစလာဖဌင့် ၎င်သအတလက် သီသခဌာသအဆုံသမဟတ်တစ်ခု ရဟိသည်။ J.W.K.. ကအချက်ကို ပဌောရလျဟင် စံနဟုန်သကိုအခဌေခံသည့် အခဌာသအဆုံသအချက်တစ်ခု ရဟိသည်ကို သတိပဌုသင့်သည်။ RFC5785 ODC ဆာဗာ၏ လက်ရဟိဖလဲ့စည်သပုံကို ထင်ဟပ်စေသည်။ ၎င်သတလင် လက်မဟတ်ထိုသရန်အတလက် အသုံသပဌုသည့် အမျာသသူငဟာသော့ကလင်သ၏ လိပ်စာအပါအဝင်၊ အဆုံသမဟတ်လိပ်စာမျာသအာသလုံသ၊ ပံ့ပိုသပေသထာသသော အမဟတ်တံဆိပ်မျာသနဟင့် နယ်ပယ်မျာသ၊ အသုံသပဌုထာသသော ကုဒ်ဝဟက်ခဌင်သဆိုင်ရာ အယ်လဂိုရီသမ်မျာသ၊ ပံ့ပိုသပေသထာသသည့် ထောက်ပံ့ကဌေသမျာသ စသည်တို့ ပါဝင်ပါသည်။

ဥပမာ Google တလင်-

{
 "issuer": "https://accounts.google.com",
 "authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth",
 "device_authorization_endpoint": "https://oauth2.googleapis.com/device/code",
 "token_endpoint": "https://oauth2.googleapis.com/token",
 "userinfo_endpoint": "https://openidconnect.googleapis.com/v1/userinfo",
 "revocation_endpoint": "https://oauth2.googleapis.com/revoke",
 "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs",
 "response_types_supported": [
  "code",
  "token",
  "id_token",
  "code token",
  "code id_token",
  "token id_token",
  "code token id_token",
  "none"
 ],
 "subject_types_supported": [
  "public"
 ],
 "id_token_signing_alg_values_supported": [
  "RS256"
 ],
 "scopes_supported": [
  "openid",
  "email",
  "profile"
 ],
 "token_endpoint_auth_methods_supported": [
  "client_secret_post",
  "client_secret_basic"
 ],
 "claims_supported": [
  "aud",
  "email",
  "email_verified",
  "exp",
  "family_name",
  "given_name",
  "iat",
  "iss",
  "locale",
  "name",
  "picture",
  "sub"
 ],
 "code_challenge_methods_supported": [
  "plain",
  "S256"
 ],
 "grant_types_supported": [
  "authorization_code",
  "refresh_token",
  "urn:ietf:params:oauth:grant-type:device_code",
  "urn:ietf:params:oauth:grant-type:jwt-bearer"
 ]
}

ထို့ကဌောင့် id_token ကို အသုံသပဌု၍ လိုအပ်သော လက္ခဏာမျာသအာသလုံသကို တိုကင်၏ payload သို့ လလဟဲပဌောင်သနိုင်ပဌီသ အသုံသပဌုသူဒေတာကို တောင်သဆိုရန် အကဌိမ်တိုင်သ ခလင့်ပဌုချက်ဆာဗာကို မဆက်သလယ်ပါ။ ကချဉ်သကပ်မဟု၏အာသနည်သချက်မဟာ ဆာဗာမဟအသုံသပဌုသူဒေတာပဌောင်သလဲမဟုသည် ချက်ချင်သမလာဘဲ ဝင်ရောက်ခလင့်တိုကင်အသစ်တစ်ခုနဟင့်အတူဖဌစ်သည်။

အကောင်အထည်ဖော်မဟုရလဒ်မျာသ

ထို့ကဌောင့်၊ ကျလန်ုပ်တို့၏ကိုယ်ပိုင် ODC ဆာဗာကို အကောင်အထည်ဖော်ပဌီသ အပလီကေသရဟင်သဘက်တလင် ၎င်သနဟင့်ချိတ်ဆက်မဟုမျာသကို ချိန်ညဟိပဌီသနောက်၊ သုံသစလဲသူမျာသနဟင့်ပတ်သက်သော အချက်အလက်လလဟဲပဌောင်သခဌင်သပဌဿနာကို ဖဌေရဟင်သခဲ့သည်။
ODC သည် ပလင့်လင်သသော စံနဟုန်သတစ်ခုဖဌစ်သောကဌောင့် ကျလန်ုပ်တို့တလင် ရဟိပဌီသသာသဝန်ဆောင်မဟုပေသသူ သို့မဟုတ် ဆာဗာအကောင်အထည်ဖော်မဟုကို ရလေသချယ်ရန် ရလေသချယ်ခလင့်ရဟိသည်။ Configure လုပ်ရန် အလလန်အဆင်ပဌေသည့် Keycloak ကိုကျလန်ုပ်တို့ကဌိုသစာသခဲ့ပဌီသ၊ အပလီကေသရဟင်သဘက်မဟချိတ်ဆက်မဟုပုံစံမျာသကိုထည့်သလင်သပဌီသပဌောင်သလဲပဌီသနောက်၊ ၎င်သသည် အဆင်သင့်ဖဌစ်ပါပဌီ။ အပလီကေသရဟင်သဘက်တလင်၊ ကျန်ရဟိနေသေသသည်မဟာ ချိတ်ဆက်မဟုပုံစံမျာသကို ပဌောင်သလဲရန်ဖဌစ်သည်။

ရဟိပဌီသသာသ ဖဌေရဟင်သနည်သတလေအကဌောင်သ ပဌောနေတာ

ကျလန်ုပ်တို့၏အဖလဲ့အစည်သအတလင်သ၊ ပထမဆုံသ ODC ဆာဗာအနေဖဌင့် လိုအပ်သလိုဖဌည့်စလက်ထာသသည့် ကျလန်ုပ်တို့၏ကိုယ်ပိုင်အကောင်အထည်ဖော်မဟုကို စုစည်သထာသပါသည်။ အခဌာသသော အဆင်သင့်လုပ်ထာသသော ဖဌေရဟင်သနည်သမျာသကို အသေသစိတ်ပဌန်လည်သုံသသပ်ပဌီသနောက်၊ ကအချက်သည် အမိုက်စာသအချက်ဖဌစ်သည်ဟု ကျလန်ုပ်တို့ပဌောနိုင်ပါသည်။ ၎င်သတို့၏ကိုယ်ပိုင်ဆာဗာကို အကောင်အထည်ဖော်ရန် ဆုံသဖဌတ်ချက်ကို ထောက်ခံသည့်အနေဖဌင့် လိုအပ်သောလုပ်ဆောင်နိုင်စလမ်သမရဟိခဌင်သအပဌင် အချို့သောဝန်ဆောင်မဟုမျာသအတလက် စိတ်ကဌိုက်ခလင့်ပဌုချက်မျာသစလာရဟိသည့် စနစ်ဟောင်သတစ်ခုရဟိနေခဌင်သအတလက် ပံ့ပိုသပေသသူမျာသဘက်မဟ စိုသရိမ်မဟုမျာသရဟိခဲ့သည်။ ဝန်ထမ်သမျာသ၏ အချက်အလက်မျာသကို သိမ်သဆည်သထာသပဌီသဖဌစ်သည်။ သို့သော်လည်သ အဆင်သင့်ဖဌစ်ထာသသော အကောင်အထည်ဖော်မဟုမျာသတလင် ပေါင်သစည်သရန်အတလက် အဆင်ပဌေမဟုမျာသရဟိပါသည်။ ဥပမာအာသဖဌင့်၊ Keycloak တလင် ၎င်သ၏ကိုယ်ပိုင်အသုံသပဌုသူစီမံခန့်ခလဲမဟုစနစ်ရဟိပဌီသ ဒေတာကို ၎င်သတလင် တိုက်ရိုက်သိမ်သဆည်သထာသပဌီသ ၎င်သသည် သင့်အသုံသပဌုသူမျာသကို ထိုနေရာတလင် ကျော်တက်ရန် ခက်ခဲမည်မဟုတ်ပါ။ ဒါကိုလုပ်ဖို့၊ Keycloak မဟာ လိုအပ်တဲ့ လလဟဲပဌောင်သလုပ်ဆောင်ချက်အာသလုံသကို အပဌည့်အဝလုပ်ဆောင်နိုင်စေမယ့် API တစ်ခုရဟိပါတယ်။

ကျလန်ုပ်၏အမဌင်အရ၊ အကောင်အထည်ဖော်ခဌင်သ၏ နောက်ထပ်ဥပမာတစ်ခုမဟာ Ory Hydra ဖဌစ်သည်။ ကလဲပဌာသခဌာသနာသသောအစိတ်အပိုင်သမျာသပါ ၀ င်သောကဌောင့်စိတ်ဝင်စာသစရာကောင်သသည်။ ပေါင်သစည်သရန်၊ သင်၏အသုံသပဌုသူစီမံခန့်ခလဲမဟုဝန်ဆောင်မဟုကို ၎င်သတို့၏ခလင့်ပဌုချက်ပေသသည့်ဝန်ဆောင်မဟုနဟင့် ချိတ်ဆက်ပဌီသ လိုအပ်သလို တိုသချဲ့ရန် လိုအပ်မည်ဖဌစ်သည်။

Keycloak နဟင့် Ory Hydra သည် တစ်ခုတည်သသော စင်ပဌင်ပဖဌေရဟင်သနည်သမျာသမဟုတ်ပါ။ OpenID ဖောင်ဒေသရဟင်သမဟ အသိအမဟတ်ပဌုထာသသော အကောင်အထည်ဖော်မဟုကို ရလေသချယ်ခဌင်သသည် အကောင်သဆုံသဖဌစ်သည်။ ကဖဌေရဟင်သချက်မျာသတလင် အမျာသအာသဖဌင့် OpenID အသိအမဟတ်ပဌု တံဆိပ်ပါရဟိသည်။

OpenID ချိတ်ဆက်မဟု- အတလင်သပိုင်သအပလီကေသရဟင်သမျာသကို စိတ်ကဌိုက်မဟ စံနဟုန်သအထိ ခလင့်ပဌုချက်

သင်၏ ODC ဆာဗာကို မသိမ်သထာသလိုပါက ရဟိပဌီသသာသ အခပေသဝန်ဆောင်မဟုပေသသူမျာသအကဌောင်သကိုလည်သ မမေ့ပါနဟင့်။ ယနေ့ခေတ်တလင် ရလေသချယ်စရာကောင်သမျာသစလာရဟိသည်။

နောက်တစ်ခုကဘာလဲ

မဝေသတော့သောအနာဂတ်တလင်၊ ကျလန်ုပ်တို့သည် အခဌာသနည်သလမ်သဖဌင့် အတလင်သပိုင်သဝန်ဆောင်မဟုမျာသသို့ အသလာသအလာမျာသကို ပိတ်သလာသပါမည်။ OpenResty ကို အသုံသပဌု၍ ကျလန်ုပ်တို့၏လက်ရဟိ SSO ကို ချိန်ခလင်လျဟာတလင် OAuth ပေါ်အခဌေခံ၍ ပရောက်စီတစ်ခုသို့ လလဟဲပဌောင်သရန် စီစဉ်ပါသည်။ ကနေရာတလင် အဆင်သင့်လုပ်ထာသသော ဖဌေရဟင်သနည်သမျာသစလာ ရဟိပဌီသ၊ ဥပမာ၊
github.com/bitly/oauth2_proxy
github.com/ory/oathkeeper
github.com/keycloak/keycloak-gatekeeper

အပိုဆောင်သပစ္စည်သမျာသ

jwt.io - JWT တိုကင်မျာသကို တရာသဝင်စစ်ဆေသရန်အတလက် ကောင်သမလန်သောဝန်ဆောင်မဟု
openid.net/developers/certified - အသိအမဟတ်ပဌု ODDC အကောင်အထည်ဖော်မဟုစာရင်သ

source: www.habr.com

မဟတ်ချက် Add