FastAPI යෙදුමකට පළමු වරට පරිශීලක ලොගින් හැකියාව ඇතුළත් කරමින් “දොර” එක සුරක්ෂිත කර ඇත.
පසුගිය අදියරේ CRUD (Create, Read, Update, Delete) අන්තර්ගත HTTP අන්තර්මුඛයන් සකස් කර තිබුණද, ඕනෑම කෙනෙකුට එම දත්ත සලසා ගත හැකි නිසා ආරක්ෂාව අඩු විය. මේක නිවැරදි කිරීමට Phase 3 හි “auth” යන නව මොඩියුලය එකතු කරන ලදී.
මෙම අදියරේ ප්රධාන කාර්යයන් වන්නේ පරිශීලකයන්ගේ මුරපදය “hash” කිරීම, JWT (JSON Web Token) නිර්මාණය, සහ “gatekeeper” මාර්ගයක් හරහා සෑම ඉල්ලීමක්ම පරිශීලකයාගේ අයිතිය පරීක්ෂා කිරීමයි.
නව ලයිබ්රරීන්
- passlib[bcrypt] – මුරපදය ආරක්ෂිතව hash කිරීම සඳහා.
- PyJWT – JWT තැනීමට සහ සත්යාපනයට.
- python-multipart – FastAPI වෙත form data කියවීමට අවශ්ය.
පළමුව User මොඩලයට hashed_password නමින් නව තීරුවක් එක් කරයි. මෙය “password” නොව “hashed_password” ලෙස නම් කිරීමෙන් කවුරුත් මුරපදය සජීවීව සුරැකුම් කරන්නේ නැති බව මතක තබාගත හැක.
පසුදා /auth/register මාර්ගය මඟින් hash කර ඇති මුරපදය DB එකට සුරකින්නෙමු, /auth/login මාර්ගය මඟින් මුරපදය පරීක්ෂා කර JWT එක ලබා දෙයි. get_current_user ෆංක්ෂනය එම token එක decode කර පරිශීලකයාගේ තොරතුරු ලබාගෙන, සෑම expense endpoint එකක්ම “owner” පරිශීලකයාටම සීමා කරයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
මෙම ආරක්ෂිත ක්රමය ශ්රී ලංකාවේ තරුණ සංවර්ධකයින්ට මූලික “auth” සැකසීමේ පියවර ඉගෙන ගැනීමට හොඳ උදාහරණයක් වේ. පාඨමාලා, වැඩමුළු, සහ සමාජ මාධ්ය හරහා මේ පියවර ප්රචාරය කරමින්, දේශීය සොෆ්ට්වේයාර් කාර්යාල සහ ස්මාල් බිස්නස් පරිසරයන්ට දත්ත රහස්යතා සහ පාරිභෝගික විශ්වාසය වැඩි කර ගත හැක.
ඉදිරියේදී, මේ ආකාරයේ JWT‑based authentication පද්ධති භාවිතයෙන් ශ්රී ලංකාවේ e‑commerce, fintech, සහ සෞඛ්ය තොරතුරු පද්ධතිවල ආරක්ෂාව තවත් වඩාත් ශක්තිමත් වේ.
අද සිට, ඔබේ FastAPI යෙදුම “දොර” එක ලොක් කර, පරිශීලකයන්ට සුරක්ෂිත පරිසරයක් ලබා දීමට සූදානම්.