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

எந்தவொரு வலை பயன்பாட்டிற்கும் (web application) பாதுகாப்பு என்பது ஒரு முன்னுரிமையாகும். உங்கள் வளங்களை (resources) யார் அணுகுகிறார்கள் என்பதை நீங்கள் கட்டுப்படுத்த வேண்டும். Hyperlane-இல், நீங்கள் இதை middleware மூலம் செய்கிறீர்கள். Middleware ஒரு வாயிற்காவலரைப் போலச் செயல்படுகிறது. இது உங்கள் குறியீட்டை (code) சென்றடைவதற்கு முன்பே கோரிக்கைகளை (requests) இடைமறிக்கிறது.

Hyperlane Middleware எவ்வாறு செயல்படுகிறது

Middleware ServerHook trait-ஐப் பயன்படுத்துகிறது. இதில் இரண்டு முக்கிய பகுதிகள் உள்ளன:

new(): இணைப்பை அமைக்கிறது (Sets up the connection). • handle(): ஒவ்வொரு கோரிக்கைக்கும் இயங்குகிறது. இங்குதான் நீங்கள் பாதுகாப்பைச் சரிபார்க்க வேண்டும்.

handle முறை (method) ஒரு நிலையை (status) வழங்குகிறது:

Status::Continue: கோரிக்கை பாதுகாப்பானது. அதை அனுமதிக்கவும். • Status::Reject: கோரிக்கை பாதுகாப்பற்றது. அதை இங்கேயே நிறுத்தவும்.

பொதுவான Authentication முறைகள்

  1. Header சோதனைகள் (Header Checks) நீங்கள் Authorization header இருக்கிறதா என்று சரிபார்க்கலாம். அந்த header இல்லையென்றால், 401 Unauthorized நிலையைத் திருப்பி அனுப்பவும். கோரிக்கையை உடனடியாக நிராகரிக்கவும்.

  2. Bearer Tokens பெரும்பாலான APIs Bearer tokens-ஐப் பயன்படுத்துகின்றன. உங்கள் middleware பின்வருவனவற்றைச் செய்ய வேண்டும்: • Header "Bearer " என்று தொடங்குகிறதா என்று சரிபார்க்கவும். • Token-ஐப் பிரித்தெடுக்கவும் (Extract). • பிற்காலப் பயன்பாட்டிற்காக token-ஐ context-இல் சேமிக்கவும்.

  3. Attribute Filtering எளிய macros மூலம் கோரிக்கைகளை வடிகட்ட Hyperlane அனுமதிக்கிறது. பின்வருவனவற்றின் மூலம் அணுகலைக் கட்டுப்படுத்தலாம்: • HTTP முறைகள் (GET அல்லது POST போன்ற). • Host பெயர்கள். • குறிப்பிட்ட பாதைகள் (Specific paths). • Referer headers.

பாதுகாப்பான APIs-க்கான சிறந்த நடைமுறைகள்

• விரைவாகத் தோல்வியடையச் செய்யுங்கள் (Fail fast). சர்வர் வளங்களைச் சேமிக்க, தவறான கோரிக்கைகளை ஆரம்பத்திலேயே நிராகரிக்கவும். • context attributes-ஐப் பயன்படுத்தவும். சரிபார்க்கப்பட்ட tokens-ஐ context-இல் சேமிக்கவும், இதனால் உங்கள் பயன்பாட்டின் பிற பகுதிகள் அவற்றை மீண்டும் parse செய்யாமல் நேரடியாகப் படிக்க முடியும். • CORS-ஐச் சரியாகக் கையாளவும். நீங்கள் authentication செய்வதற்கு முன்பே உங்கள் CORS headers-ஐ அமைக்கவும். இது உலாவிகள் (browsers) பிழைச் செய்திகளைப் படிக்க உதவும். • உங்கள் middleware-ஐ அடுக்குகளாகப் பயன்படுத்தவும் (Layer your middleware). வரிசையைத் தீர்மானிக்க முன்னுரிமை எண்களைப் (priority numbers) பயன்படுத்தவும். முதலில் CORS-ஐ இயக்கவும், பின்னர் authentication-ஐ இயக்கவும். • streams-ஐ நிர்வகிக்கவும். ஒரு கோரிக்கை அனுப்பத் தவறினால், பிழைகளைத் தவிர்க்க stream-ஐ மூடவும்.

இந்தத் கருவிகளைப் பயன்படுத்துவதன் மூலம், நீங்கள் பாதுகாப்பான மற்றும் ஒழுங்கமைக்கப்பட்ட அமைப்புகளை உருவாக்கலாம்.

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