प्रमाणीकरण और प्राधिकरण
अपने एज API एंडपॉइंट को सुरक्षित करने के लिए उपयोगकर्ता प्रमाणीकरण और प्राधिकरण की रणनीतियाँ लागू करें
प्रमाणीकरण और प्राधिकरण, CoddyKit पर Cloudflare Workers और Deno के साथ एज कंप्यूटिंग का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cloudflare Workers और Deno के साथ एज कंप्यूटिंग सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cloudflare Workers और Deno के साथ एज कंप्यूटिंग पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
एज API को सुरक्षित बनाना
स्वागत है! इस पाठ में हम आपके एज API एंडपॉइंट के लिए प्रमाणीकरण और अधिकारीकरण को विस्तार से समझेंगे।
आपके अनुप्रयोगों की सुरक्षा करने और यह सुनिश्चित करने के लिए कि केवल सही उपयोगकर्ता ही विशिष्ट संसाधनों तक पहुँच सकें, ये अत्यंत महत्वपूर्ण अवधारणाएँ हैं।
AuthN बनाम AuthZ
आइए दो महत्वपूर्ण शब्दों को स्पष्ट करें:
- प्रमाणीकरण (AuthN): यह सत्यापित करता है कि आप कौन हैं। इसे अपनी पहचान सिद्ध करने के लिए ID दिखाने जैसा समझिए।
- अधिकारीकरण (AuthZ): यह निर्धारित करता है कि आप क्या कर सकते हैं। यह ऐसा है जैसे आपका ID आपको कुछ क्षेत्रों में प्रवेश देता है, लेकिन अन्य क्षेत्रों में नहीं।
ये अक्सर साथ काम करते हैं, लेकिन अलग-अलग प्रक्रियाएँ हैं।
एज प्रमाणीकरण की सामान्य विधियाँ
एज पर हमें हल्की और दक्ष प्रमाणीकरण विधियों की आवश्यकता होती है। सामान्य तरीकों में शामिल हैं:
- API Keys: किसी अनुप्रयोग या उपयोगकर्ता की पहचान करने के लिए उपयोग किए जाने वाले सरल गुप्त मान।
- JSON Web Tokens (JWTs): सुरक्षित सूचना विनिमय के लिए स्व-निहित, डिजिटल रूप से हस्ताक्षरित टोकन।
- OAuth/OIDC: प्रत्यायोजित अधिकारीकरण के लिए अधिक जटिल प्रोटोकॉल, जो अक्सर JWTs पर निर्भर करते हैं।
हम API Keys और JWTs पर ध्यान केंद्रित करेंगे।
API Key प्रमाणीकरण लागू करना
API Keys का उपयोग सरल है। कोई क्लाइंट आमतौर पर हेडर में एक गुप्त कुंजी भेजता है और आपका Worker उसे मान्य करता है। आइए एक सरल उदाहरण देखें:
export default {
async fetch(request, env, ctx) {
const apiKey = request.headers.get('X-API-Key');
// In a real app, fetch 'MY_API_KEY' from env.MY_API_KEY
if (apiKey !== 'super-secret-key-123') {
return new Response('Unauthorized: Invalid API Key', { status: 401 });
}
return new Response('Access Granted!', { status: 200 });
},
};API Key प्रमाणीकरण की व्याख्या
इस उदाहरण में Worker X-API-Key हेडर की जाँच करता है। यदि वह हमारी अपेक्षित गुप्त कुंजी से मेल नहीं खाता, तो 401 Unauthorized स्थिति के साथ पहुँच अस्वीकार कर दी जाती है।
उत्पादन परिवेश के लिए, अपनी API कुंजियों को हमेशा सुरक्षित रूप से संग्रहीत करें—आमतौर पर Cloudflare Worker के पर्यावरण चर में, सीधे अपने कोड में नहीं।
JSON Web Tokens (JWTs)
JWTs एज एप्लिकेशनों के लिए शक्तिशाली होते हैं, क्योंकि वे स्व-निहित होते हैं। किसी पहचान प्रदाता द्वारा जारी किए जाने के बाद, JWT को हर बार किसी केंद्रीय सर्वर से संपर्क किए बिना आपका Worker सत्यापित कर सकता है।
JWT के तीन भाग होते हैं: Header, Payload और Signature, जो डॉट से अलग किए जाते हैं।
एज पर JWTs का सत्यापन
आपका Worker आमतौर पर Authorization: Bearer हेडर में JWT प्राप्त करेगा। मुख्य चरण इसके हस्ताक्षर का सत्यापन करना है, ताकि यह सुनिश्चित हो सके कि इसके साथ छेड़छाड़ नहीं की गई है।
पूर्ण क्रिप्टोग्राफ़िक सत्यापन के लिए एक लाइब्रेरी आवश्यक होती है, लेकिन सत्यापन के लिए आमतौर पर जानकारी इस तरह निकाली और तैयार की जाती है:
export default {
async fetch(request, env, ctx) {
const authHeader = request.headers.get('Authorization');
if (!authHeader || !authHeader.startsWith('Bearer ')) {
return new Response('Unauthorized: No token', { status: 401 });
}
const token = authHeader.split(' ')[1];
// In a real app, you'd use a crypto library and a secret key
// to verify the token's signature, expiry, and claims.
// e.g., using 'jose' library with `await jwtVerify(token, secretKey)`
if (token) {
// For this example, we'll assume a successful (mock) verification
return new Response('Access Granted with JWT!', { status: 200 });
}
return new Response('Unauthorized: Invalid JWT', { status: 401 });
},
};भूमिका-आधारित प्राधिकरण (RBAC)
जब किसी उपयोगकर्ता का प्रमाणीकरण हो जाता है (जैसे, सत्यापित JWT के माध्यम से), तब आपको तय करना होता है कि वह कौन-सी कार्रवाइयाँ करने के लिए अधिकृत है। यहीं भूमिका-आधारित अभिगम नियंत्रण (RBAC) काम आता है।
RBAC भूमिकाओं को अनुमतियाँ प्रदान करता है (जैसे, 'admin', 'user', 'guest'), और उपयोगकर्ताओं को एक या अधिक भूमिकाएँ दी जाती हैं। इसके बाद आपका Worker किसी कार्रवाई की अनुमति देने से पहले उपयोगकर्ता की भूमिका जाँचता है।
Worker में RBAC लागू करना
आप उपयोगकर्ता की भूमिकाओं या अनुमतियों को 'claims' के रूप में सीधे JWT payload में शामिल कर सकते हैं। JWT का सत्यापन करने के बाद, आपका Worker इन claims को पढ़कर प्राधिकरण नियम लागू कर सकता है।
export default {
async fetch(request, env, ctx) {
// Assume JWT is already verified and we have the user's role
// In a real app, this 'userRole' would come from the decoded JWT payload.
const userRole = 'editor'; // Example role from a verified token
if (request.url.includes('/admin') && userRole !== 'admin') {
return new Response('Forbidden: Admins only!', { status: 403 });
}
if (request.method === 'POST' && userRole === 'guest') {
return new Response('Forbidden: Guests cannot create!', { status: 403 });
}
return new Response(`Welcome, ${userRole}! Request processed.`, { status: 200 });
},
};अपनी समझ जाँचें
निम्नलिखित में से कौन-से कथन Authentication और Authorization के बीच अंतर का सही वर्णन करते हैं?
पुनरावलोकन: AuthN और AuthZ
बहुत अच्छा! आपने अपने एज APIs को सुरक्षित रखने की मूल बातें सीख ली हैं।
- Authentication पहचान की पुष्टि करता है।
- Authorization अभिगम को नियंत्रित करता है।
- API Keys सरल प्रमाणीकरण प्रदान करते हैं।
- JWTs सुरक्षित, स्व-निहित प्रमाणीकरण प्रदान करते हैं और प्राधिकरण संबंधी claims रख सकते हैं।
- RBAC (भूमिका-आधारित अभिगम नियंत्रण) उपयोगकर्ता की भूमिकाओं के आधार पर अनुमतियाँ निर्धारित करने में सहायता करता है।
मज़बूत और सुरक्षित एज एप्लिकेशन बनाने के लिए ये रणनीतियाँ अत्यंत महत्वपूर्ण हैं।
एआई शिक्षक के साथ Cloudflare Workers और Deno के साथ एज कंप्यूटिंग सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 47
अक्सर पूछे जाने वाले प्रश्न
क्या “प्रमाणीकरण और प्राधिकरण” पाठ निःशुल्क है?
हाँ—“प्रमाणीकरण और प्राधिकरण” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cloudflare Workers और Deno के साथ एज कंप्यूटिंग पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cloudflare Workers और Deno के साथ एज कंप्यूटिंग पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“प्रमाणीकरण और प्राधिकरण” में मैं क्या सीखूँगा?
अपने एज API एंडपॉइंट को सुरक्षित करने के लिए उपयोगकर्ता प्रमाणीकरण और प्राधिकरण की रणनीतियाँ लागू करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cloudflare Workers और Deno के साथ एज कंप्यूटिंग का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Cloudflare Workers और Deno के साथ एज कंप्यूटिंग शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cloudflare Workers और Deno के साथ एज कंप्यूटिंग शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“प्रमाणीकरण और प्राधिकरण” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Cloudflare Workers और Deno के साथ एज कंप्यूटिंग पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Cloudflare Workers और Deno के साथ एज कंप्यूटिंग पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- प्रमाणीकरण और प्राधिकरण
- दर सीमित करना और DDoS सुरक्षा
- सुरक्षित सीक्रेट प्रबंधन
- इनपुट स्वच्छीकरण और इंजेक्शन रोकथाम