Asia/Kolkata
Posts

ஏன் நவீன செயலிகள் JWT-களை விட்டு விலகுகின்றன: Session-Based Auth 2.0 இன் ஆழமான ஆய்வு

November 2, 2025
கிட்டத்தட்ட ஒரு தசாப்தம் முழுவதும், JSON Web Tokens (JWTs) “அடுத்த தலைமுறை அத்தாட்சிப்படுத்தல்” என்று பாராட்டப்பட்டன—stateless, எடுத்துச் செல்ல எளிதானவை, API களுக்கு சிறந்தவை. ஆனால் செயலிகள் அதிகமாக சிக்கலானதாக மாறியபோது, பாதுகாப்பு அச்சுறுத்தல்கள் நுணுக்கமானதாக மாறியபோது மற்றும் பயனர் அனுபவத்திற்கான எதிர்பார்ப்புகள் உயர்ந்தபோது, JWT களையே முதன்மை அடையாள முறையாகத் தாண்டிப்போவது பல மறைமுக பிரச்சினைகளை வெளிப்படுத்தியது. இன்று ஒரு பெரிய மாற்றம் நடைபெற்று வருகிறது. நவீன செயலிகள் Session-Based Auth 2.0 நோக்கி நகர்கின்றன—சர்வர் நிர்வகிக்கும் session-களின் எளிமையையும், நவீன cloud கட்டமைப்புகளுக்குத் தேவையான விநியோகித்த தொழில்நுட்பத்தையும் இணைக்கும் புதிய பாதுகாப்பு முறை. இது பழைய முறைக்கு திரும்புவது இல்லை; உண்மையான production அனுபவங்கள், பாதுகாப்பு சம்பவங்கள் மற்றும் நடைமுறை பொறியியல் பாடங்களால் உருவாகியுள்ள ஒரு மேம்பட்ட முறை இது. இந்த பதிவில் JWT கள் ஏன் பிரச்சினையாக மாறுகின்றன, எந்த சவால்கள் developer-களை பாதிக்கின்றன, மேலும் Session-Based Auth 2.0 எப்படி அவற்றை திறம்படத் தீர்க்கிறது என்பதைக் காண்கிறோம். JWT கள் முதலில் குறுகிய கால authorization claims காக வடிவமைக்கப்பட்டன—நீண்டகால user identity காக அல்ல. ஆனால் இன்று பல செயலிகள் அவற்றை முதன்மை அத்தாட்சிப்படுத்தலாகப் பயன்படுத்துகின்றன, பல நேரங்களில் அவற்றை client-side storage இல் வைத்திருக்கின்றன. மிகப்பெரிய பிரச்சினை token invalidation ஆகும்.
ஒரு JWT ஒருமுறை வழங்கப்பட்டால், அதனை உடனடியாக ரத்து செய்வது கடினம்.
ஒரு பயனர் password மாற்றினாலும், ஒரு சாதனத்தில் இருந்து வெளியேறினாலும் அல்லது token திருடப்பட்டாலும், அது காலாவதியாகும் வரை செயல்பட்டுகொண்டே இருக்கும்.
Refresh token replay attacks போன்றவை மற்றொரு முக்கிய பிரச்சினை. Refresh token களை சரியாக rotate செய்யாதபோது, அவை attackers க்கு மீண்டும் மீண்டும் பயன்படுத்தக்கூடியதாக மாறுகின்றன. மேலும் JWT கள் பெரிதாக வளரும்; claims அதிகரித்தால் token size அதிகரிக்கும், இது bandwidth மற்றும் API performance-ஐ பாதிக்கும். JWT கள் தங்கள் பயன்பாடு உள்ள இடங்களில் சிறந்தவை—ஆனால் universal authentication mechanism ஆக பயன்படுத்தும்போது சிக்கல்கள் அதிகரிக்கின்றன. சில developers-க்கு sessions பழமையானது போல தோன்றலாம். ஆனால் இப்போது Redis, DynamoDB போன்ற distributed stores வந்ததால், session-based auth ஒரு பெரிய திரும்புவை கண்டிருக்கிறது. Session auth இன் மிகப்பெரிய நன்மை immediate revocation.
Session server-side இல் உள்ளது என்பதால்:
  • logout உடனே செயல்படும்
  • திருடப்பட்ட session உடனடியாக ரத்து செய்யப்படும்
  • admin role மாற்றங்களை உடனடியாகப் push செய்ய முடியும்
Cookies இன் HttpOnly, Secure, SameSite flags XSS/CSRF தாக்குதலை மிகுந்த அளவில் தடுக்கின்றன. NextAuth, Clerk, Supabase, Lucia போன்ற பல modern auth சேவைகள் உள்ளே session-ஐ பயன்படுத்துகின்றன—even if they expose tokens externally. Session auth இப்போது பழைய கருத்து அல்ல—மாறாக cloud-friendly, secure, simple. Session-Based Auth 2.0 என்பது நிறைய மேம்பாடுகளுடன் வந்த session architecture: ஒவ்வொரு முக்கிய நடவடிக்கையிலும் session மாற்றப்படுகிறது.
திருடப்பட்ட token ஒன்று இருந்தாலும், பயனர் browse தொடரும் போது அது பயனற்றதாகிவிடும்.
Session-ஐ:
  • device
  • browser
  • approximate location
போன்றவற்றுடன் கட்டுப்படுத்தலாம்.
சரியாக பயன்படுத்தும்போது இது replay attacks-ஐ தடுக்கிறது.
சில செயலிகள் client-க்கு 5 நிமிட காலம் மட்டுமே செல்லுபடியாகும் token கொடுக்கின்றன.
உண்மையான session server-side இல் இருக்கும்.
இது JWT misuse ஐத் தடுக்கிறது.
Cloud providers இப்போது globally replicated session storage வழங்குகின்றன.
இதனால் session auth கூட stateless போலவே வேகமாக செயல்படும்.
Session-Based Auth 2.0 JWT கள் தீர்க்க முடியாத பல பிரச்சினைகளை மிக சீராகத் தீர்க்கிறது. JWT-ஐ default session mechanism ஆகப் பயன்படுத்தும் செயலிகளுக்கு production-level சிக்கல்கள் அதிகம் வருகின்றன:
  • multi-device logout செயல்படாது
  • role updates உடனடியாக user-க்கு தெரியாது
  • localStorage பயன்பாட்டால் XSS ஆபத்து
  • logout ஆன பிறகும் பழைய token பயன்படுத்தப்படலாம்
  • microservices இல் “stateless promise” இருக்கும் நேரத்தில் real-world state தேவைப்படும்
இவை அனைத்தும் developer அனுபவத்தையும் பாதுகாப்பையும் பாதிக்கின்றன. JWT கள் முற்றிலும் தவறானவை அல்ல.
அவை சிறந்தவை:
  • microservices க்கு claims பரிமாற்றம்
  • SSO, OAuth, OIDC flows
  • identity provider → API delegation
  • short-lived authorization tokens
JWT கள் தங்கள் இயல்பான நோக்கத்திற்குப் பயன்படுத்தும் போது மிகவும் சக்திவாய்ந்தவை. பிரச்சினை JWT-க்கள் அல்ல—அவற்றை தவறான இடத்தில் பயன்படுத்துவதே. அத்தாட்சிப்படுத்தல் மிக வேகமாக மாறுகிறது. பல ஆண்டுகளின் production அனுபவங்கள் developers-க்கு உண்மையான பாடங்களை கற்றுக் கொடுத்துள்ளன. எதிர்காலம் ஒரு hybrid model:
  • Server-backed sessions → identity
  • Short-lived JWTs → authorization between services
Session-Based Auth 2.0:
  • அதிக பாதுகாப்பு
  • உடனடி revocation
  • குறைந்த client-side attack surface
  • multi-device friendly
  • cloud distributed
என அனைத்தையும் வழங்குகிறது. JWT கள் முற்றிலும் மறைந்து விடாது.
ஆனால் அவை தங்கள் சுருக்கமான, குறிப்பிட்ட பயன்பாடுகளுக்கு மட்டுமே பயன்படும்.
Session auth, மறுபுறம், நவீன Web apps, mobile apps மற்றும் large-scale systems க்கு பாதுகாப்பு அடித்தளமாக மாறுகிறது. நவீன செயலிகளுக்கு நம்பகத்தன்மை, கட்டுப்பாடு, பாதுகாப்பு மற்றும் குறைந்த அபாயம் தேவை.
Session-Based Auth 2.0 அவற்றை அனைத்தையும் வழங்குகிறது.
இது JWT களின் முடிவு அல்ல—அது authentication ecosystem இன் ஒரு மேம்பட்ட, பாதுகாப்பான, புத்திசாலித்தனமான எதிர்காலத்தின் தொடக்கம்.
On this page