ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-24, Friday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

JWT Refresh Token ක්‍රමය නිවැරදිව භාවිතා කරමින් ආරක්ෂිත පද්ධතියක් ගොඩනැගීම

JWT Refresh Token ක්‍රමය නිවැරදිව භාවිතා කරමින් ආරක්ෂිත පද්ධතියක් ගොඩනැගීම

NestJS හරහා JWT භාවිතා කරමින් පරිශීලක අධිකරණය සැකසීමේදී, ප්‍රවේශ ටෝකනය කාලය අවසන් වීමේ ගැටළුව බොහෝ විට අමතක කරයි. කාලය අවසන් වූ පසු පරිශීලකයා නැවත ලොග්-ඉන් නොවෙයි නම්, සේවාව අත්හිටුවීමක් වැනි අතුරුදන්වීමක් සිදු වේ.

ප්‍රවේශ (access) ටෝකනය තනිවම කාලසීමාවක් (සාමාන්‍යයෙන් 10-15 මිනිත්තු) දෙන එකක් වුවත්, එය ස්ථාතිර නොවන (stateless) නිසා, සර්වරය එය අවලංගු කර ගැනීමට හැකියාවක් නොමැත. එමනිසා, හොරාගත් ටෝකනයක් සදහා අධිකරණය සීමා කළ නොහැකි වේ.

මෙම ගැටළුව විසඳීමට Refresh Token නාමයෙන් හැඳින්වෙන තවත් ටෝකනයක් භාවිතා කරයි. Refresh Token එක දිගු කාලයක් (සති කිහිපයක්) පවත්වාගෙන, නව ප්‍රවේශ ටෝකන නිකුත් කිරීමේ අවස්ථාව සපයයි. Refresh Token කෙලවරින් භාවිතා වන නිසා, එය දත්තගබඩාවක් (PostgreSQL, Redis) තුළ පරීක්ෂා කිරීම ගණනාවක් නොවේ, එමෙන්ම අවලංගු කිරීමේ (revocation) හැකියාවත් ලැබේ.

Refresh Token ක්‍රියාවලිය – පියවරෙන් පියවර

  • පරිශීලකයා ලොග්-ඉන් වන විට, සර්වරය කෙටි කාලීන Access Token එකක් සහ දිගු කාලීන Refresh Token එකක් නිකුත් කරයි.
  • ක্লයින්ට් (frontend) Access Token එක සියලු ආරක්ෂිත API ඇමතුම් වලට එක් කරයි.
  • Access Token එක කාලය අවසන් වූ විට, කල්ලින්නා Refresh Token එක භාවිතා කර නව Access Token එක ඉල්ලයි.
  • සර්වරය Refresh Token එකේ සත්‍යතාවය පරීක්ෂා කර, නව Access Token (සමහරවිට නව Refresh Token) නිකුත් කරයි.
  • Refresh Token එක අවලංගු, කල් ඉකුත්, හෝ පූරණයෙන් භාවිතා කර ඇති නම්, පරිශීලකයා නැවත ලොග්-ඉන් වීමට සිදු වේ.

වැදගත් කරුණක් නම්, Refresh Token එක එකම තත්වයෙන් නැවත නැවත භාවිතා නොකළ යුතුය. එක් වරක් භාවිතා කරන විට පරණ Token එක අවලංගු කර, නව Token එක නිකුත් කරන Token Rotation ක්‍රමය අනුගමනය කළ යුතුය. මෙයින් Token එක දිගුකාලීන රහසක් වීම වැලැක්විය හැක.

Refresh Token ගබඩා කිරීමේදී, ඒවා සෘජුව JWT ලෙස නොතබා, සර්වර පාර්ශ්වයෙන් හෑෂ් (hash) කර ගබඩා කිරීම සුදුසුය. PostgreSQL වැනි ස්ථාවර දත්ත ගබඩාවක් භාවිතා කර, Token ID, පරිශීලක ID, කාල සීමාව, අවලංගු කිරීමේ තොරතුරු වැනි විස්තර සුරකින්න. මෙය Token එකේ අනුපිළිවෙල, අත්හැරීම, සහ අතිරේක ආරක්ෂාව ලබා දේ.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ තරුණ සංවර්ධකයින්, SaaS ආරම්භකයින්, සහ ව්‍යාපාරිකයන්ට මෙම Refresh Token ක්‍රමය ඉතා ප්‍රයෝජනවත් වේ. කෙටි කාලීන Access Token භාවිතයෙන් API කාර්ය සාධනය වැඩි වේ, මෙන්ම Token Rotation මඟින් දත්ත රහස්‍යතා උසස් වේ. එම නිසා, දේශීය වෙළඳපලේ ගනුදෙනුකරුවන්ගේ ගෝප්‍යතාවය රැක ගැනීමට, මොබයිල් ඇප් සහ වෙබ් සේවාවන්හි නිරවද්‍ය ලොග්-ඉන් අත්දැකීමක් ලබා දීමට හැකියාව ලැබේ.

ඉතිරිව, මෙවැනි ආරක්ෂිත ප්‍රවේශ පද්ධතියක් ශ්‍රී ලංකාවේ තාක්ෂණික ආරම්භකයන්ට අන්තර්ජාතික ප්‍රමිතීන් අනුගමනය කිරීමේ අවස්ථාව සලසයි. ඒ නිසා, ආයෝජකයින්ට සහ පාරිභෝගිකයන්ට විශ්වාසයක් ඇති කර, දේශීය IT ක්ෂේත්‍රයේ තරඟශීලීත්වය වැඩි කරයි.

ඉදිරියට, Refresh Token Rotation සහ හෑෂ්-ගබඩා කිරීමේ හොඳම ක්‍රම අනුගමනය කර, ඔබේ පද්ධතියේ ආරක්ෂාව ශක්තිමත් කරගන්න. මෙය ඔබේ පරිශීලකයන්ට නිදහස්, වේගවත්, සහ ආරක්ෂිත අත්දැකීමක් ලබා දේ.

💡 ඔබේ පද්ධතියට අදම Refresh Token Rotation එකක් එක් කරන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#JWT #Refresh Token #NestJS #Security #API