- "auth" शब्द के दो अर्थ होते हैं: authentication और authorization
- इसी वजह से library या package के नामों में भ्रम पैदा होता है
- "authn" और "authz" जैसे शब्द स्पष्ट नहीं हैं और समझने में कठिन हैं
authentication और authorization में अंतर
- authentication: यह पुष्टि करने की प्रक्रिया कि उपयोगकर्ता कौन है
- authorization: यह तय करने की प्रक्रिया कि उपयोगकर्ता क्या कर सकता है
- ये दोनों अवधारणाएँ अलग हैं, और एक समस्या हल करने से दूसरी अपने-आप हल नहीं होती
"permissions" और "login" इस्तेमाल करने का प्रस्ताव
- प्रस्ताव है कि authentication को "login" और authorization को "permissions" के रूप में स्पष्ट रूप से अलग किया जाए
- "login" को noun और verb, दोनों रूपों में इस्तेमाल किया जा सकता है
- noun: सिस्टम तक पहुँचने के लिए दर्ज की जाने वाली जानकारी
- verb: सिस्टम का उपयोग करने के लिए लॉग इन करने की क्रिया
- "permissions" का उपयोग noun के रूप में किया जाए, और verb रूप में "check permissions" इस्तेमाल किया जाए
स्पष्ट शब्दावली इस्तेमाल करने के फायदे
- software engineer के बाहर के दूसरे क्षेत्रों के लोग भी इसे आसानी से समझ सकते हैं
- इससे बेहतर abstraction संभव होती है
- authentication और authorization को अलग-अलग module में बाँटकर डिज़ाइन किया जा सकता है
GN⁺ की राय
- स्पष्ट शब्दावली का महत्व: शब्द स्पष्ट हों तो communication सुचारु होता है और गलतफहमियाँ कम होती हैं।
- abstraction का लाभ: authentication और authorization को अलग करने से system design अधिक flexible होता है और maintenance आसान हो जाती है।
- दूसरे शब्दों के उपयोग के उदाहरण: "login" और "permissions" के अलावा "access control" जैसे शब्दों पर भी विचार किया जा सकता है।
- तकनीक अपनाते समय ध्यान देने योग्य बातें: नई शब्दावली अपनाने से पहले टीम के भीतर पर्याप्त चर्चा और सहमति ज़रूरी है।
- संबंधित प्रोजेक्ट की सिफारिश: authentication और authorization को अलग रखने वाले प्रमुख प्रोजेक्ट्स में OAuth और OpenID Connect शामिल हैं।
8 टिप्पणियां
डेवलपर्स के बीच
authकी जगहauthn,authzका इस्तेमाल करना, और यूज़र से जुड़ी docs या controller/facade मेंlogin,permissionका इस्तेमाल करना मुझे उचित लगता है। लेकिनauthn,authzतक भी हटा देने की बात मुझे ज़रूरी नहीं लगती।जैसा कि मुख्य लेख में बताया गया है,
authका इस्तेमाल authentication और permissions दोनों अर्थों में होने से भ्रम जरूर होता था। शुद्ध डेवलपर्स के बाहर दूसरे क्षेत्रों के लोगों के साथ comm के लिए इसे अधिक सामान्य शब्दों के जरिए अलग करना एक बेहतर कोशिश लगती है.समस्या अगर यह है कि Authentication और Authorization दोनों को संक्षेप में Auth कहा जा सकता है,
तो जैसा मूल लेख में कहा गया था, Authn और Authz ही काफ़ी लगते हैं...
अगर लगा कि यह भी पर्याप्त रूप से स्पष्ट नहीं है, तो इसे थोड़ा और बढ़ाकर Authenty, Authory कहना भी ठीक रहेगा.
परमिशन सिस्टम में भी एक permission वाला रूप होता है, एक ACL वाला रूप होता है, तो फिर इन्हें अलग कैसे पहचानेंगे..?
कुछ ज़बरदस्ती जैसा लग रहा है...
शायद यह non-developer टीम के सदस्यों के साथ communication cost कम करने की कोशिश लगती है, लेकिन थोड़ा ज़रूरत से ज़्यादा है।
क्या जानबूझकर दोनों को मिलाकर
authनहीं कहा जाता?Authenticationऔरauthorizationहैं, तो फिर आखिर क्यों जानबूझकर...Hacker News राय