
🔐 प्रमाणीकरण को सही तरीके से बनाकर सीखें। Cloudflare Workers के लिए Hono, Turso, PBKDF2, और JWT dual-token सत्रों के साथ एक विस्तार योग्य, मानक-अनुरूप संदर्भ कार्यान्वयन।
प्रमाणीकरण को सही तरीके से बनाकर सीखें।
डेमो नोट: लॉगिन एंडपॉइंट एडेप्टिव PoW चुनौतियों द्वारा सुरक्षित है — बार-बार विफल होने पर प्रूफ-ऑफ-वर्क कठिनाई बढ़ती जाती है। कैश-समर्थित दर सीमक लागू और परीक्षण किया गया है, लेकिन वर्तमान में लाइव डेमो में सक्षम नहीं है; इसे सक्रिय करने के लिए
app.tsमेंcreateCacheClientको चालू करें।
Cloudflare Workers के लिए एक शुरुआत से प्रमाणीकरण संदर्भ कार्यान्वयन — PBKDF2 पासवर्ड हैशिंग, JWT दोहरे टोकन सत्र, स्थिर-समय तुलना, स्लाइडिंग समाप्ति, और एक हटाने योग्य ऑब्ज़र्वेबिलिटी प्लगइन — सभी Hono, Turso (वैकल्पिक Valkey/Redis कैशिंग के साथ), और सख्त TypeScript के साथ जुड़े हुए हैं।
प्रत्येक डिज़ाइन विकल्प एक मानक की ओर जाता है: क्रेडेंशियल्स के लिए NIST SP 800-63B, कुंजी व्युत्पत्ति के लिए NIST SP 800-132, सत्यापन के लिए OWASP ASVS, और JWT सर्वोत्तम प्रथाओं के लिए RFC 8725।
कोई उत्पाद शिप कर रहे हैं? इसके बजाय Better Auth का उपयोग करें — यह OAuth, पासकी, MFA, दर सीमक, और बहुत कुछ बॉक्स से बाहर एक सक्रिय प्लगइन पारिस्थितिकी तंत्र के साथ कवर करता है। यह रिपोजिटरी आपको कैसे प्रमाणीकरण काम करता है, यह सिखाने के लिए मौजूद है, न कि किसी उत्पादन लाइब्रेरी को बदलने के लिए।
| परत | यह क्या करता है |
|---|---|
| पासवर्ड संग्रहण | 128-बिट सॉल्ट, अखंडता डाइजेस्ट, संस्करण ट्रैकिंग के साथ PBKDF2-SHA384 (password-service.ts) |
| सत्र प्रबंधन | डिवाइस ट्रैकिंग, स्लाइडिंग समाप्ति, प्रति उपयोगकर्ता अधिकतम-3 सत्र के साथ सर्वर-साइड सत्र; Valkey/Redis के माध्यम से वैकल्पिक कैश-समर्थित सत्र (session-service.ts, cached-session-service.ts) |
| पासवर्ड बदलना | वर्तमान-पासवर्ड पुनः सत्यापन, पूर्ण PBKDF2 पुनः हैश, सभी सत्रों का परमाणु रद्दीकरण (account-service.ts, ADR-004) |
| JWT दोहरे टोकन पैटर्न | 15 मिनट का एक्सेस + 7 दिन का रिफ्रेश टोकन, रद्दीकरण के लिए सत्र-लिंक्ड (token-service.ts) |
| प्रमाणीकरण मिडलवेयर | स्वचालित रिफ्रेश प्रवाह, स्पष्ट HS256 पिनिंग, typ दावा सत्यापन (require-auth.ts) |
| सुरक्षित कुकीज़ | HttpOnly, Secure, SameSite=Strict, Path=/ (cookie.ts) |
| सुरक्षा हेडर | HSTS, CSP, CORP/COEP/COOP, Permissions-Policy, फिंगरप्रिंट हटाना (security.ts) |
| इनपुट सत्यापन | NIST-अनुरूप पासवर्ड नीति (केवल लंबाई, कोई जटिलता नियम नहीं) के साथ Zod स्कीमा |
| दर सीमित करना | ब्रूट-फोर्स और क्रेडेंशियल-स्टफिंग हमलों के खिलाफ फिक्स्ड-विंडो थ्रॉटलिंग: सार्वजनिक प्रमाणीकरण मार्गों पर IP-कुंजी (जैसे लॉगिन), संरक्षित क्रियाओं पर उपयोगकर्ता-कुंजी; कोई हार्ड लॉकआउट नहीं (NIST-संरेखित) (ADR-006) |
| ऑब्ज़र्वेबिलिटी प्लगइन | संरचित सुरक्षा घटनाएँ, एडेप्टिव PoW चुनौतियाँ, एजेंट-प्रमाणित /ops API — मिडलवेयर के माध्यम से प्लग करता है, एक पैकेज हटाकर हटाने योग्य (ADR-008) |
| CLI उपकरण | इवेंट क्वेरी करने, सत्र प्रबंधित करने और /ops सतह के माध्यम से एजेंट क्रेडेंशियल प्रदान करने के लिए Go TUI (plctl) (tools/cli/) |
| आक्रमण-वेक्टर परीक्षण | JWT छेड़छाड़, एल्गोरिदम भ्रम, प्रकार भ्रम, यूनिकोड किनारे के मामले, सूचना-प्रकटीकरण जाँच |
यह परियोजना जानबूझकर उन सुविधाओं को छोड़ती है जो इसके शैक्षिक दायरे से बाहर हैं। यदि आप इस कोड को उत्पादन की ओर बढ़ा रहे हैं (या यह मूल्यांकन कर रहे हैं कि उत्पादन प्रमाणीकरण प्रणाली के लिए क्या आवश्यक है), तो नीचे दी गई तालिकाएँ प्राथमिकता स्तर के अनुसार अंतराल को व्यवस्थित करती हैं।
अधिकांश वास्तविक दुनिया की परियोजनाओं के लिए, इन्हें स्वयं बनाने के बजाय Better Auth का उपयोग करें।
| सुविधा | यह क्यों मायने रखता है | मानक / संदर्भ |
|---|---|---|
| लीक हुए पासवर्ड की जाँच | सार्वजनिक डेटा डंप में ज्ञात पासवर्ड के उपयोग को रोकता है | NIST SP 800-63B §5.1.1.2, HIBP API |