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

Usalama ni kipaumbele kwa programu yoyote ya wavuti. Lazima udhibiti nani anayepata rasilimali zako. Katika Hyperlane, unafanya hivi kwa kutumia middleware. Middleware hufanya kazi kama mlinzi. Inazuia maombi (requests) kabla hayajafika kwenye kodi yako.

Jinsi Middleware ya Hyperlane Inavyofanya Kazi

Middleware hutumia sifa ya ServerHook. Ina sehemu kuu mbili:

new(): Huandaa muunganisho. • handle(): Huendeshwa kwa kila ombi. Hapa ndipo unapokagua usalama.

Njia ya handle hurudisha hali (status):

Status::Continue: Ombi ni salama. Liache lipite. • Status::Reject: Ombi si salama. Lisititise hapa.

Mifumo ya Kawaida ya Uhakiki (Authentication Patterns)

  1. Ukaguzi wa Header Unaweza kukagua header ya Authorization. Ikiwa header haipo, rudisha hali ya 401 Unauthorized. Kataa ombi hilo mara moja.

  2. Token za Bearer API nyingi hutumia token za Bearer. Middleware yako inapaswa: • Kukagua ikiwa header inaanza na "Bearer ". • Kuchukua (extract) token. • Kuhifadhi token kwenye muktadha (context) kwa matumizi ya baadaye.

  3. Uchujaji wa Sifa (Attribute Filtering) Hyperlane inakuwezesha kuchuja maombi kwa kutumia macro rahisi. Unaweza kuzuia ufikiaji kwa: • Njia za HTTP (kama GET au POST). • Majina ya host. • Njia mahususi (specific paths). • Header za Referer.

Mbinu Bora kwa ajili ya API Salama

• Feli haraka (Fail fast). Kataa maombi mabaya mapema ili kuokoa rasilimali za seva. • Tumia sifa za muktadha (context attributes). Hifadhi token zilizothibitishwa kwenye muktadha ili sehemu nyingine za programu yako ziweze kuzisoma bila kuzichambua tena. • Shughulikia CORS kwa usahihi. Weka header zako za CORS kabla ya kufanya uhakiki. Hii inahakikisha vivinjari (browsers) vinaweza kusoma ujumbe wa makosa. • Panga middleware yako kwa tabaka. Tumia namba za kipaumbele kuamua mpangilio. Endesha CORS kwanza, kisha uhakiki. • Dhibiti mtiririko (streams). Ikiwa ombi linashindwa kutumwa, funga mtiririko ili kuzuia makosa.

Kwa kutumia zana hizi, unajenga mifumo salama na iliyoandaliwa vizuri.

Chanzo: https://dev.to/tengxgfyrz67s/authentication-middleware-151c Kodi ya Mradi: https://github.com/hyperlane-dev/hyperlane