𝗔𝘂𝘁𝗵𝗲𝗻𝘁𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗠𝗶𝗱𝗱𝗹𝗲𝘄𝗮𝗿𝗲 𝗶𝗻 𝗛𝘆𝗽𝗲𝗿𝗹𝗮𝗻𝗲

कोणत्याही वेब ॲप्लिकेशनसाठी सुरक्षा ही प्राथमिकता असते. तुमच्या संसाधनांचा (resources) वापर कोण करू शकतो यावर तुमचे नियंत्रण असणे आवश्यक आहे. Hyperlane मध्ये, तुम्ही हे middleware वापरून करता. Middleware एका गेटकीपरप्रमाणे (gatekeeper) काम करते. ते तुमच्या कोडपर्यंत पोहोचण्यापूर्वी विनंत्या (requests) अडवते.

Hyperlane Middleware कसे कार्य करते

Middleware ServerHook trait वापरते. त्याचे दोन मुख्य भाग आहेत:

new(): कनेक्शन सेट करते. • handle(): प्रत्येक विनंतीसाठी (request) चालते. येथेच तुम्ही सुरक्षा तपासता.

handle मेथड एक status परत करते:

Status::Continue: विनंती सुरक्षित आहे. तिला पुढे जाऊ द्या. • Status::Reject: विनंती असुरक्षित आहे. तिला येथेच थांबवा.

सामान्य Authentication Patterns

  1. Header Checks तुम्ही Authorization header तपासू शकता. जर header नसेल, तर 401 Unauthorized status परत करा. विनंती त्वरित नाकारून टाका.

  2. Bearer Tokens बहुतेक APIs Bearer tokens वापरतात. तुमच्या middleware ने खालील गोष्टी केल्या पाहिजेत: • header "Bearer " ने सुरू होतो का ते तपासा. • token extract करा. • नंतरच्या वापरासाठी token context मध्ये साठवा.

  3. Attribute Filtering Hyperlane तुम्हाला साध्या macros वापरून विनंत्या फिल्टर करण्याची परवानगी देते. तुम्ही खालील गोष्टींद्वारे प्रवेश मर्यादित करू शकता: • HTTP methods (जसे की GET किंवा POST). • Host names. • विशिष्ट paths. • Referer headers.

सुरक्षित APIs साठी सर्वोत्तम पद्धती (Best Practices)

• Fail fast. सर्व्हरची संसाधने वाचवण्यासाठी खराब विनंत्या (bad requests) लवकर नाकारा. • context attributes वापरा. प्रमाणित (validated) tokens context मध्ये साठवा जेणेकरून तुमच्या ॲपचे इतर भाग पुन्हा parse न करता ते वाचू शकतील. • CORS योग्यरित्या हाताळा. authentication करण्यापूर्वी तुमचे CORS headers सेट करा. यामुळे ब्राउझर त्रुटी संदेश (error messages) वाचू शकतील याची खात्री होते. • तुमचे middleware लेयर्समध्ये वापरा. क्रम ठरवण्यासाठी priority numbers वापरा. प्रथम CORS चालवा, त्यानंतर authentication करा. • streams व्यवस्थापित करा. जर विनंती पाठवण्यात अपयश आल्यास, त्रुटी टाळण्यासाठी stream बंद करा.

ही साधने वापरून, तुम्ही सुरक्षित आणि सुव्यवस्थित प्रणाली तयार करू शकता.

Source: https://dev.to/tengxgfyrz67s/authentication-middleware-151c Project Code: https://github.com/hyperlane-dev/hyperlane