Waxaad dhisatay REST API. Waxaadna baahisay Render ama Railway. Postman baad ku tijaabisay โ shaqeeyeen. Laakiin waxaa jirta dhibaato kale oo muhiim ah: API-gaagu wan-xor yahay. Qof kasta oo link-ka haya wuxuu aqbali karaa xogta. Taas ma aha xal.
Marka la daro authentication, adigu ayaad abuuri doontaa nidaam u sheegaya qofkiiba: "tani waa mid la ogolaado, tana ma ogolaado." JWT (JSON Web Token) ayaa ah qaabka ugu fudud, ugu baahsan, ee loo sameeyo taas. Ma u baahno database gaar ah, ma u baahno session server, wuuna fududahay marka la baahiyo.
Qoraalkan ka dib, waxaad heli doontaa: API u baahan token si loo galo, password si ammaan ah loo kaydiyo, iyo route kasta oo ilaashanaysa xogta gaarka ah.
Qeybtii 1aad โ JWT waa maxay?
JWT waa fariin yar oo la saxiixay. Markaad user-ku login gareyso, server-ku wuxuu soo noqdaa token โ xarafyo dheer oo encrypted ah. Token-kaas waxaad ku xidataa header-ka codsi kasta oo dambe, server-kuna wuxuu ku xaqiijiyaa: "haa, qofkan sax yahay."
Moodaaladii hore, sessions waa la isticmaalay โ server-ku wuxuu xusuustaa user kasta. JWT waa kala-fog: server-ka aad buu u fududahay sababtoo ah xusuus uma baahno โ token-ka qudhiisu wuxuu xukumaa. Haddaad API baahisay cloud-ka, JWT baa munaasib.
JWT wuxuu ka kooban yahay saddex juz': Header (nooca token-ka), Payload (xogta user-ka), iyo Signature (saxiixa ammaan). Saddexdooduba base64 ayaa lagu qabiyaa oo dot (.) ayaa u dhaxeeya. Markaad token-ka furtid, adigu ka dib waxaad arki doontaa macluumaadka user-ka โ laakiin haddaad wax ka beddesho, signature-ku kufurta.
Qeybtii 2aad โ Dejinta iyo Aasaaska
Billow node project haddaadan haysan, markaas ku dar packages-ka muhiimka ah:
npm install express jsonwebtoken bcryptjs dotenv
Express waa server-kaaga, jsonwebtoken wuxuu JWT sameeya oo xaqiijiyaa, bcryptjs wuxuu password-ka hash-gareeyaa, dotenv wuxuu siraha .env ka saara oo koodhka kuma darin. Ku samee file .env oo ku qor: JWT_SECRET=garaad_super_secret_2026_xor_la_leh
Qor route-ka /register: qaado email iyo password, password-ka bcrypt ku hash-garee, user-ka database ku kaydi. Markaas qor /login: email iyo password hubi, haddii sax yihiin jwt.sign() ku samee token, token-ka client-ka u dir. Tan ka dib user-ku token hayaa โ wuxuuna u isticmaalaa calls-ka xiga.
Qeybtii 3aad โ Routes-ka Ilaalinta (Middleware)
Middleware waa shaqo ku taallaa dhexda codsi iyo route. Waxaad u isticmaashaa si aad u xaqiijiso token kahor intaan user-ku helinin xogo gaarka ah.
Samee file middleware/auth.js. Middleware-ku wuxuu ka qaadaa token-ka header-ka โ caadiga ahaan sidan: Authorization: Bearer eyJhbGci... โ markaas wuxuu ku xaqiijiyaa JWT_SECRET. Haddii token-ku sax yahay, wuxuu user-ka xogta ku daraa req.user oo wuxuu u gudbiyaa route-ka xiga. Hadduu been yahay ama dhaminjiray, 401 Unauthorized ayuu soo celiyaa.
Ku dar middleware-ka routes-kaaga gaarka ah markaas: router.get('/profile', authMiddleware, getProfile). Taas ka dib, route-kaas ma furin karo qof aan token hayn. Tijaabi Postman: GET /profile iyada oo aan token laheyn โ 401. Token la jiro, xogta ayaad heshaa. Waa nidaam fudud oo xoog badan.
Qeybtii 4aad โ Khaladaadka Caadiga ah
Khaladka ugu badan: JWT_SECRET-ka lagaga dhiga string fudud sida "123" ama "secret". Tani waa khataraha weyn โ qof kasta oo server-kaaga wax ka og wuu xadi karaa tokens-kaaga. Isticmaal ugu yaraan 32 xaraf oo random ah, environment variable si ammaan ah ayuu u ah.
Khalad labaad: token-ka laga dhigaa mid aan waligiis dhamin. JWT-ga waxaa lagu dari karaa expiresIn: '7d' โ toddobo maalmood ka dib, user-ku waa dib u gali karaa. Taas waxay xadidaysaa khatarta haddii token la xado: khasaare waqti-xaddidan buu leeyahay, ma aha mid aan dhammaanin.
Khalad saddexaad: error messages-ka la faahfaahinayo si aad u sheegto "Token-kaagu waa been" ama "User-ku ma jiro." Ha siinin macluumaad gaar ah โ orod kaliya "Unauthorized." Sida albaab xidnaa: "ma geli kartid" kalaa ka sheegi doontaa, ma ahayne sababta faahfaahsan ee albaabka loogu xidnaa.
Xiriirka Garaad โ Dhismo Wax Dhab ah
Authentication waa mid ka mid ah qaybaha asaasiga ee backend developer kasta oo xirfadlayaanka ah laga sugayo. Haddaad dhisatay REST API, haddaadna baahisay โ tallaabada xiga waa inaad ku darto login nidaam dhabta ah. Kaas baad ku darsanaysaa Garaad.
Garaad waxay kuu baraysa sida loo dhiso full-stack apps dhabta ah: frontend, backend, database, authentication, iyo deployment โ dhammaantoodna Af Soomaali. Ma ahan casharada shabakada ee generic โ waa mashquuliyad, codsi, iyo farsamayn gaar ahaan loogu talagalay dhalinyarada Soomaaliyeed.
Bilow maanta: garaad.org
Backend developer noqoshadu kuma koobna in la xafido syntax-ka โ waa in la fahmaa waxa ka dambeeyaa koodkaaga. API ammaan ah waa bilowga. Hada bilow.



