OAuth2 மூலம் பாதுகாப்பான மற்றும் தடையற்ற பயனர் அங்கீகாரத்தைத் திறக்கவும். மூன்றாம் தரப்பு அணுகலுக்கான OAuth2 ஐ செயல்படுத்துவது குறித்த விரிவான கண்ணோட்டத்தை இந்த வழிகாட்டி வழங்குகிறது.
OAuth2 செயலாக்கம்: மூன்றாம் தரப்பு அங்கீகாரத்திற்கான ஒரு விரிவான வழிகாட்டி
இன்றைய ஒன்றோடொன்று இணைக்கப்பட்ட டிஜிட்டல் நிலப்பரப்பில், தடையற்ற மற்றும் பாதுகாப்பான பயனர் அங்கீகாரம் மிக முக்கியமானது. மூன்றாம் தரப்பு பயன்பாடுகள் பயனரின் சான்றுகளை வெளிப்படுத்தாமல், வேறு சேவையில் பயனர் ஆதாரங்களை அணுகுவதற்கு OAuth2 தொழில் தரநிலை நெறிமுறையாக உருவெடுத்துள்ளது. இந்த விரிவான வழிகாட்டி OAuth2 செயலாக்கத்தின் நுணுக்கங்களை ஆராய்கிறது, டெவலப்பர்களுக்கு இந்த சக்திவாய்ந்த அங்கீகார கட்டமைப்பை அவர்களின் பயன்பாடுகளில் ஒருங்கிணைக்க தேவையான அறிவு மற்றும் நடைமுறை வழிகாட்டுதலை வழங்குகிறது.
OAuth2 என்றால் என்ன?
OAuth2 (திறந்த அங்கீகாரம்) என்பது ஒரு அங்கீகார கட்டமைப்பாகும், இது ஒரு பயனரின் சார்பாக HTTP சேவையை வரையறுக்கப்பட்ட அணுகலைப் பெற மூன்றாம் தரப்பு பயன்பாட்டை இயக்குகிறது, பயனர் ஒப்புதலை ஒருங்கிணைப்பதன் மூலம் அல்லது மூன்றாம் தரப்பு பயன்பாட்டை அதன் சொந்த சார்பாக அணுகலைப் பெற அனுமதிப்பதன் மூலம். வலை பயன்பாடுகள், டெஸ்க்டாப் பயன்பாடுகள், மொபைல் போன்கள் மற்றும் வாழ்க்கை அறை சாதனங்களுக்கான குறிப்பிட்ட அங்கீகார ஓட்டங்களை வழங்கும் அதே நேரத்தில் OAuth2 கிளையன்ட் டெவலப்பர் எளிமையை மையமாகக் கொண்டுள்ளது.
இதனை பார்க்கிங் சேவையுடன் ஒப்பிடலாம். உங்கள் கார் சாவியை (credentials) நம்பகமான பார்க்கிங் சேவைக்கு (மூன்றாம் தரப்பு பயன்பாடு) வழங்குகிறீர்கள். அவர்கள் உங்கள் காரை (உங்கள் ஆதாரங்களை அணுகுதல்) பார்க்கிங் செய்ய முடியும், ஆனால் உங்கள் காரில் உள்ள எல்லாவற்றுக்கும் நேரடியாக அணுகல் வழங்க வேண்டியதில்லை. நீங்கள் கட்டுப்பாட்டை தக்க வைத்துக் கொள்கிறீர்கள், எப்போதும் உங்கள் சாவியை திரும்பப் பெறலாம் (அணுகலை ரத்து செய்யலாம்).
OAuth2 இல் முக்கிய கருத்துகள்
OAuth2 இன் முக்கிய கருத்துகளைப் புரிந்துகொள்வது வெற்றிகரமான செயலாக்கத்திற்கு முக்கியமானது:
- வள உரிமையாளர்: பாதுகாக்கப்பட்ட வளத்திற்கான அணுகலை வழங்கக்கூடிய நிறுவனம். பொதுவாக, இது இறுதிப் பயனராகும்.
- வள சேவையகம்: பாதுகாக்கப்பட்ட ஆதாரங்களை ஹோஸ்ட் செய்யும் சேவையகம், இது அணுகல் டோக்கன்களைப் பயன்படுத்தி பாதுகாக்கப்பட்ட ஆதாரக் கோரிக்கைகளை ஏற்று பதிலளிக்கிறது.
- கிளையன்ட் பயன்பாடு: வள உரிமையாளரின் சார்பாக பாதுகாக்கப்பட்ட ஆதாரங்களுக்கான அணுகலைக் கோரும் பயன்பாடு. இது ஒரு வலை பயன்பாடு, மொபைல் பயன்பாடு அல்லது டெஸ்க்டாப் பயன்பாடாக இருக்கலாம்.
- அங்கீகார சேவையகம்: வள உரிமையாளரை வெற்றிகரமாக அங்கீகரித்தபின் மற்றும் அவர்களின் அங்கீகாரத்தைப் பெற்ற பிறகு கிளையன்ட் பயன்பாட்டிற்கு அணுகல் டோக்கன்களை வழங்கும் சேவையகம்.
- அணுகல் டோக்கன்: கிளையன்ட் பயன்பாட்டிற்கு வள உரிமையாளரால் வழங்கப்பட்ட அங்கீகாரத்தைக் குறிக்கும் சான்று. இது கிளையன்ட் பயன்பாட்டால் வள சேவையகத்தில் பாதுகாக்கப்பட்ட ஆதாரங்களை அணுகுவதற்குப் பயன்படுகிறது. அணுகல் டோக்கன்கள் பொதுவாக ஒரு வரையறுக்கப்பட்ட ஆயுட்காலம் கொண்டிருக்கும்.
- புதுப்பிப்பு டோக்கன்: வள உரிமையாளருக்கு கிளையன்ட் பயன்பாட்டை மீண்டும் அங்கீகரிக்க தேவையில்லாமல் புதிய அணுகல் டோக்கனைப் பெற பயன்படும் சான்று. புதுப்பிப்பு டோக்கன்கள் பொதுவாக நீண்ட காலம் வாழும் மற்றும் பாதுகாப்பாக சேமிக்கப்பட வேண்டும்.
- நோக்கம்: கிளையன்ட் பயன்பாட்டிற்கு வழங்கப்பட்ட குறிப்பிட்ட அனுமதிகளை வரையறுக்கிறது. உதாரணமாக, ஒரு கிளையன்ட் பயன்பாட்டிற்கு பயனரின் சுயவிவரத்தை படிக்க மட்டும் அனுமதி வழங்கப்படலாம், ஆனால் அதை மாற்றும் திறன் இருக்காது.
OAuth2 மானிய வகைகள்
OAuth2 பல மானிய வகைகளை வரையறுக்கிறது, ஒவ்வொன்றும் குறிப்பிட்ட பயன்பாட்டு நிகழ்வுகளுக்கும் பாதுகாப்பு தேவைகளுக்கும் ஏற்ப வடிவமைக்கப்பட்டுள்ளன. பாதுகாப்பான மற்றும் பயனர் நட்பு அங்கீகார அனுபவத்தை உறுதி செய்வதற்கு பொருத்தமான மானிய வகையைத் தேர்ந்தெடுப்பது முக்கியமானது.
1. அங்கீகார குறியீடு மானியம்
அங்கீகார குறியீடு மானியம் மிகவும் பொதுவாகப் பயன்படுத்தப்படும் மற்றும் வலை பயன்பாடுகளுக்கு பரிந்துரைக்கப்பட்ட மானிய வகை. இது ஒரு பல-படி செயல்முறையை உள்ளடக்கியது, இது கிளையன்ட் ரகசியம் வள உரிமையாளரின் உலாவிக்கு ஒருபோதும் வெளிப்படாமல் இருப்பதை உறுதி செய்கிறது. இது இரகசிய கிளையண்டுகளுடன் (அவர்களின் கிளையன்ட் ரகசியத்தின் ரகசியத்தன்மையைப் பராமரிக்கக்கூடிய கிளையண்டுகள்) பயன்படுத்த வடிவமைக்கப்பட்டுள்ளது. இங்கே ஒரு எளிய முறிவு உள்ளது:
- கிளையன்ட் பயன்பாடு வள உரிமையாளரை அங்கீகார சேவையகத்திற்கு திருப்பி விடுகிறது.
- வள உரிமையாளர் அங்கீகார சேவையகத்துடன் அங்கீகரிக்கிறார் மற்றும் கிளையன்ட் பயன்பாட்டிற்கு அனுமதியை வழங்குகிறார்.
- அங்கீகார சேவையகம் வள உரிமையாளரை அங்கீகார குறியீட்டுடன் கிளையன்ட் பயன்பாட்டிற்கு திருப்பி விடுகிறது.
- கிளையன்ட் பயன்பாடு அணுகல் டோக்கன் மற்றும் புதுப்பிப்பு டோக்கனுக்கான அங்கீகார குறியீட்டை மாற்றுகிறது.
- கிளையன்ட் பயன்பாடு வள சேவையகத்தில் பாதுகாக்கப்பட்ட ஆதாரங்களை அணுக அணுகல் டோக்கனைப் பயன்படுத்துகிறது.
உதாரணம்: ஒரு பயனர் அவர்களின் Google Drive கணக்கை மூன்றாம் தரப்பு ஆவண எடிட்டிங் பயன்பாட்டுடன் இணைக்க விரும்புகிறார். பயன்பாடு பயனரை Google இன் அங்கீகாரப் பக்கத்திற்கு திருப்பி விடுகிறது, அங்கு அவர்கள் உள்நுழைந்து அவர்களின் Google Drive கோப்புகளை அணுக பயன்பாட்டிற்கு அனுமதி வழங்குகிறார்கள். Google பின்னர் பயனரை அங்கீகார குறியீட்டுடன் பயன்பாட்டிற்கு திருப்பி விடுகிறது, அதை பயன்பாடு அணுகல் டோக்கன் மற்றும் புதுப்பிப்பு டோக்கனுக்காக மாற்றுகிறது.
2. மறைமுக மானியம்
மறைமுக மானியம் என்பது அங்கீகார குறியீடு மானியத்தின் எளிமைப்படுத்தப்பட்ட பதிப்பாகும், இது கிளையன்ட் ரகசியத்தை பாதுகாப்பாக சேமிக்க முடியாத கிளையன்ட் பயன்பாடுகளுக்காக வடிவமைக்கப்பட்டுள்ளது, அதாவது ஒரு வலை உலாவியில் இயங்கும் ஒற்றை-பக்க பயன்பாடுகள் (SPAs) அல்லது சொந்த மொபைல் பயன்பாடுகள். இந்த மானிய வகையில், வள உரிமையாளர் அங்கீகார சேவையகத்துடன் அங்கீகரித்த பிறகு அணுகல் டோக்கன் நேரடியாக கிளையன்ட் பயன்பாட்டிற்கு திருப்பி அனுப்பப்படுகிறது. இருப்பினும், அணுகல் டோக்கன் இடைமறிப்பின் அபாயத்தின் காரணமாக இது அங்கீகார குறியீடு மானியத்தை விட குறைவான பாதுகாப்பானதாக கருதப்படுகிறது.
முக்கிய குறிப்பு: மறைமுக மானியம் இப்போது பெரும்பாலும் காலாவதியானதாக கருதப்படுகிறது. பாதுகாப்பு சிறந்த நடைமுறைகள் SPAs மற்றும் சொந்த பயன்பாடுகளுக்கு கூட PKCE (Proof Key for Code Exchange) உடன் அங்கீகார குறியீடு மானியத்தைப் பயன்படுத்த பரிந்துரைக்கின்றன.
3. வள உரிமையாளர் கடவுச்சொல் சான்றுகள் மானியம்
வள உரிமையாளர் கடவுச்சொல் சான்றுகள் மானியம் கிளையன்ட் பயன்பாட்டை வள உரிமையாளரின் பயனர்பெயர் மற்றும் கடவுச்சொல்லை நேரடியாக அங்கீகார சேவையகத்திற்கு வழங்குவதன் மூலம் அணுகல் டோக்கனைப் பெற அனுமதிக்கிறது. இந்த மானிய வகை கிளையன்ட் பயன்பாடு மிகவும் நம்பகமானதாகவும், வள உரிமையாளருடன் நேரடி உறவு கொண்டிருக்கும்போதும் மட்டுமே பயன்படுத்தப்பட வேண்டும். கிளையன்ட் பயன்பாட்டுடன் சான்றுகளை நேரடியாகப் பகிர்வதில் உள்ள பாதுகாப்பு அபாயங்கள் காரணமாக இது பொதுவாக ஊக்கப்படுத்தப்படுகிறது.
உதாரணம்: ஒரு வங்கியால் உருவாக்கப்பட்ட முதல் தரப்பு மொபைல் பயன்பாடு பயனர்கள் தங்கள் கணக்குகளை அணுகுவதற்கு இந்த மானிய வகையைப் பயன்படுத்தலாம். இருப்பினும், மூன்றாம் தரப்பு பயன்பாடுகள் பொதுவாக இந்த மானிய வகையைத் தவிர்க்க வேண்டும்.
4. கிளையன்ட் சான்றுகள் மானியம்
கிளையன்ட் சான்றுகள் மானியம் கிளையன்ட் பயன்பாட்டை வள உரிமையாளரின் சார்பாக செயல்படுவதற்கு பதிலாக அதன் சொந்த சான்றுகளை (கிளையன்ட் ID மற்றும் கிளையன்ட் ரகசியம்) பயன்படுத்தி அணுகல் டோக்கனைப் பெற அனுமதிக்கிறது. இந்த மானிய வகை பொதுவாக சேவையகத்திலிருந்து சேவையக தொடர்பு அல்லது கிளையன்ட் பயன்பாடு நேரடியாக சொந்தமான ஆதாரங்களை அணுக வேண்டியிருக்கும்போது பயன்படுத்தப்படுகிறது.
உதாரணம்: ஒரு கிளவுட் வழங்குநரிடமிருந்து சேவையக அளவீடுகளை அணுக வேண்டிய ஒரு கண்காணிப்பு பயன்பாடு இந்த மானிய வகையைப் பயன்படுத்தலாம்.
5. புதுப்பிப்பு டோக்கன் மானியம்
புதுப்பிப்பு டோக்கன் மானியம் கிளையன்ட் பயன்பாட்டை புதுப்பிப்பு டோக்கனைப் பயன்படுத்தி புதிய அணுகல் டோக்கனைப் பெற அனுமதிக்கிறது. இது கிளையன்ட் பயன்பாட்டை வள உரிமையாளர் பயன்பாட்டை மீண்டும் அங்கீகரிக்கத் தேவையில்லாமல் பாதுகாக்கப்பட்ட ஆதாரங்களுக்கான அணுகலைப் பராமரிக்க அனுமதிக்கிறது. புதிய அணுகல் டோக்கனுக்காகவும், விருப்பமாக புதிய புதுப்பிப்பு டோக்கனுக்காகவும் புதுப்பிப்பு டோக்கன் மாற்றப்படுகிறது. பழைய அணுகல் டோக்கன் செல்லாததாகிறது.
OAuth2 ஐ செயல்படுத்துதல்: படிப்படியான வழிகாட்டி
OAuth2 ஐ செயல்படுத்துவதில் பல முக்கிய படிகள் உள்ளன:
1. உங்கள் கிளையன்ட் பயன்பாட்டைப் பதிவு செய்தல்
முதல் படி உங்கள் கிளையன்ட் பயன்பாட்டை அங்கீகார சேவையகத்தில் பதிவு செய்வது. இது பொதுவாக பயன்பாட்டு பெயர், விளக்கம், திருப்பி விடுதல் URIs (அங்கீகாரத்திற்குப் பிறகு அங்கீகார சேவையகம் வள உரிமையாளரை எங்கு திருப்பி விடும்), மற்றும் விரும்பிய மானிய வகைகள் போன்ற தகவல்களை வழங்குவதை உள்ளடக்குகிறது. அங்கீகார சேவையகம் கிளையன்ட் ID மற்றும் கிளையன்ட் ரகசியத்தை வழங்கும், அவை உங்கள் பயன்பாட்டை அடையாளம் கண்டு அங்கீகரிக்க பயன்படும்.
உதாரணம்: Google இன் OAuth2 சேவையில் உங்கள் பயன்பாட்டைப் பதிவு செய்யும் போது, நீங்கள் ஒரு திருப்பி விடுதல் URI ஐ வழங்க வேண்டும், அது உங்கள் பயன்பாடு அங்கீகார குறியீட்டைப் பெறப் பயன்படுத்தும் URI உடன் பொருந்த வேண்டும். Google Drive அல்லது Gmail க்கான அணுகல் போன்ற உங்கள் பயன்பாட்டிற்குத் தேவையான நோக்கங்களையும் நீங்கள் குறிப்பிட வேண்டும்.
2. அங்கீகார ஓட்டத்தைத் தொடங்குதல்
அடுத்த படி அங்கீகார ஓட்டத்தைத் தொடங்குவது. இது வள உரிமையாளரை அங்கீகார சேவையகத்தின் அங்கீகார இறுதிப்புள்ளிக்கு திருப்பி விடுவதை உள்ளடக்குகிறது. அங்கீகார இறுதிப்புள்ளிக்கு பொதுவாக பின்வரும் அளவுருக்கள் தேவைப்படும்:
client_id: அங்கீகார சேவையகத்தால் வழங்கப்பட்ட கிளையன்ட் ID.redirect_uri: அங்கீகாரத்திற்குப் பிறகு அங்கீகார சேவையகம் வள உரிமையாளரை திருப்பி விடும் URI.response_type: அங்கீகார சேவையகத்திலிருந்து எதிர்பார்க்கப்படும் பதிலின் வகை (எ.கா., அங்கீகார குறியீடு மானியத்திற்குcode).scope: விரும்பிய அணுகல் நோக்கங்கள்.state: குறுக்கு-தள கோரிக்கை மோசடி (CSRF) தாக்குதல்களைத் தடுக்கப் பயன்படும் ஒரு விருப்ப அளவுரு.
உதாரணம்: திருப்பி விடுதல் URI இவ்வாறு இருக்கலாம்: https://example.com/oauth2/callback. state அளவுரு என்பது தோராயமாக உருவாக்கப்பட்ட சரம் ஆகும், அதை உங்கள் பயன்பாடு அங்கீகார சேவையகத்திலிருந்து வரும் பதில் முறையானதா என்பதை சரிபார்க்க பயன்படுத்தலாம்.
3. அங்கீகார பதிலை கையாளுதல்
வள உரிமையாளர் அங்கீகார சேவையகத்துடன் அங்கீகரித்தபின் மற்றும் கிளையன்ட் பயன்பாட்டிற்கு அனுமதி அளித்தபின், அங்கீகார சேவையகம் வள உரிமையாளரை கிளையன்ட் பயன்பாட்டின் திருப்பி விடுதல் URI க்கு அங்கீகார குறியீட்டுடன் (அங்கீகார குறியீடு மானியத்திற்கு) அல்லது அணுகல் டோக்கனுடன் (மறைமுக மானியத்திற்கு) திருப்பி விடும். கிளையன்ட் பயன்பாடு இந்த பதிலை முறையாக கையாள வேண்டும்.
உதாரணம்: அங்கீகார சேவையகம் அங்கீகார குறியீட்டைத் திருப்பினால், கிளையன்ட் பயன்பாடு அதை அணுகல் டோக்கன் மற்றும் புதுப்பிப்பு டோக்கனுக்காக அங்கீகார சேவையகத்தின் டோக்கன் இறுதிப்புள்ளிக்கு POST கோரிக்கை செய்வதன் மூலம் மாற்ற வேண்டும். டோக்கன் இறுதிப்புள்ளிக்கு பொதுவாக பின்வரும் அளவுருக்கள் தேவைப்படும்:
grant_type: மானிய வகை (எ.கா.,authorization_code).code: அங்கீகார சேவையகத்திலிருந்து பெறப்பட்ட அங்கீகார குறியீடு.redirect_uri: அங்கீகார கோரிக்கையில் பயன்படுத்தப்பட்ட அதே திருப்பி விடுதல் URI.client_id: அங்கீகார சேவையகத்தால் வழங்கப்பட்ட கிளையன்ட் ID.client_secret: அங்கீகார சேவையகத்தால் வழங்கப்பட்ட கிளையன்ட் ரகசியம் (இரகசிய கிளையண்டுகளுக்கு).
4. பாதுகாக்கப்பட்ட ஆதாரங்களை அணுகுதல்
கிளையன்ட் பயன்பாடு அணுகல் டோக்கனைப் பெற்றவுடன், அதை வள சேவையகத்தில் பாதுகாக்கப்பட்ட ஆதாரங்களை அணுக பயன்படுத்தலாம். அணுகல் டோக்கன் பொதுவாக HTTP கோரிக்கையின் Authorization தலையில் சேர்க்கப்படும், Bearer திட்டத்தைப் பயன்படுத்துகிறது.
உதாரணம்: ஒரு சமூக ஊடக தளத்தில் ஒரு பயனரின் சுயவிவரத்தை அணுக, கிளையன்ட் பயன்பாடு இது போன்ற கோரிக்கையை விடலாம்:
GET /api/v1/me HTTP/1.1
Host: api.example.com
Authorization: Bearer [access_token]
5. டோக்கன் புதுப்பிப்பை கையாளுதல்
அணுகல் டோக்கன்கள் பொதுவாக ஒரு வரையறுக்கப்பட்ட ஆயுட்காலம் கொண்டிருக்கும். அணுகல் டோக்கன் காலாவதியானால், கிளையன்ட் பயன்பாடு புதுப்பிப்பு டோக்கனைப் பயன்படுத்தி புதிய அணுகல் டோக்கனைப் பெறலாம், வள உரிமையாளர் பயன்பாட்டை மீண்டும் அங்கீகரிக்கத் தேவையில்லை. அணுகல் டோக்கனைப் புதுப்பிக்க, கிளையன்ட் பயன்பாடு அங்கீகார சேவையகத்தின் டோக்கன் இறுதிப்புள்ளிக்கு பின்வரும் அளவுருக்களுடன் POST கோரிக்கை செய்கிறது:
grant_type: மானிய வகை (எ.கா.,refresh_token).refresh_token: அங்கீகார சேவையகத்திலிருந்து பெறப்பட்ட புதுப்பிப்பு டோக்கன்.client_id: அங்கீகார சேவையகத்தால் வழங்கப்பட்ட கிளையன்ட் ID.client_secret: அங்கீகார சேவையகத்தால் வழங்கப்பட்ட கிளையன்ட் ரகசியம் (இரகசிய கிளையண்டுகளுக்கு).
பாதுகாப்பு பரிசீலனைகள்
OAuth2 ஒரு சக்திவாய்ந்த அங்கீகார கட்டமைப்பாகும், ஆனால் பயனர் தரவைப் பாதுகாக்கவும் தாக்குதல்களைத் தடுக்கவும் அதை பாதுகாப்பாக செயல்படுத்துவது முக்கியம். இங்கே சில முக்கிய பாதுகாப்பு பரிசீலனைகள் உள்ளன:
- HTTPS ஐப் பயன்படுத்துங்கள்: கிளையன்ட் பயன்பாடு, அங்கீகார சேவையகம் மற்றும் வள சேவையகம் ஆகியவற்றுக்கு இடையேயான அனைத்து தகவல்தொடர்புகளும் ஒட்டுக்கேட்பதைத் தடுக்க HTTPS ஐப் பயன்படுத்தி என்க்ரிப்ட் செய்யப்பட வேண்டும்.
- திருப்பி விடுதல் URIs ஐ சரிபார்க்கவும்: அங்கீகார குறியீடு ஊசி தாக்குதல்களைத் தடுக்க திருப்பி விடுதல் URIs ஐ கவனமாக சரிபார்க்கவும். பதிவு செய்யப்பட்ட திருப்பி விடுதல் URIs ஐ மட்டுமே அனுமதிக்கவும், அவை சரியாக வடிவமைக்கப்பட்டுள்ளதை உறுதி செய்யவும்.
- கிளையன்ட் ரகசியங்களைப் பாதுகாக்கவும்: கிளையன்ட் ரகசியங்களை இரகசியமாக வைத்திருங்கள். கிளையன்ட்-பக்க குறியீட்டில் அவற்றை ஒருபோதும் சேமிக்க வேண்டாம் அல்லது அங்கீகரிக்கப்படாத கட்சிகளுக்கு அவற்றை வெளிப்படுத்த வேண்டாம்.
- நிலை அளவுருவை செயல்படுத்தவும்: CSRF தாக்குதல்களைத் தடுக்க
stateஅளவுருவைப் பயன்படுத்தவும். - அணுகல் டோக்கன்களை சரிபார்க்கவும்: வள சேவையகம் பாதுகாக்கப்பட்ட ஆதாரங்களுக்கான அணுகலை வழங்குவதற்கு முன்பு அணுகல் டோக்கன்களை சரிபார்க்க வேண்டும். இது பொதுவாக டோக்கனின் கையொப்பம் மற்றும் காலாவதி நேரத்தைச் சரிபார்ப்பதை உள்ளடக்குகிறது.
- நோக்கத்தை செயல்படுத்தவும்: கிளையன்ட் பயன்பாட்டிற்கு வழங்கப்பட்ட அனுமதிகளை கட்டுப்படுத்த நோக்கங்களைப் பயன்படுத்தவும். தேவையான குறைந்தபட்ச அனுமதிகளை மட்டுமே வழங்கவும்.
- டோக்கன் சேமிப்பு: டோக்கன்களைப் பாதுகாப்பாக சேமிக்கவும். சொந்த பயன்பாடுகளுக்கு, இயக்க முறைமையின் பாதுகாப்பான சேமிப்பக வழிமுறைகளைப் பயன்படுத்துவதைக் கருத்தில் கொள்ளுங்கள். வலை பயன்பாடுகளுக்கு, பாதுகாப்பான குக்கீகள் அல்லது சேவையக-பக்க அமர்வுகளைப் பயன்படுத்தவும்.
- PKCE (Proof Key for Code Exchange) ஐக் கருத்தில் கொள்ளுங்கள்: கிளையன்ட் ரகசியத்தை பாதுகாப்பாக சேமிக்க முடியாத பயன்பாடுகளுக்கு (SPAs மற்றும் சொந்த பயன்பாடுகள் போன்றவை), அங்கீகார குறியீடு இடைமறிப்பின் அபாயத்தைக் குறைக்க PKCE ஐப் பயன்படுத்தவும்.
OpenID Connect (OIDC)
OpenID Connect (OIDC) என்பது OAuth2 இன் மேல் கட்டப்பட்ட அங்கீகார அடுக்கு ஆகும். அங்கீகார சேவையகத்தால் செய்யப்படும் அங்கீகாரத்தின் அடிப்படையில் வள உரிமையாளரின் அடையாளத்தை சரிபார்க்க கிளையன்ட் பயன்பாடுகளுக்கு ஒரு தரப்படுத்தப்பட்ட வழியை இது வழங்குகிறது, மேலும் இயங்கக்கூடிய மற்றும் REST-போன்ற முறையில் வள உரிமையாளரைப் பற்றிய அடிப்படை சுயவிவரத் தகவல்களைப் பெறவும் இது வழங்குகிறது.
OAuth2 முதன்மையாக ஒரு அங்கீகார கட்டமைப்பாக இருந்தாலும், OIDC அங்கீகார கூறுகளைச் சேர்க்கிறது, இது ஆதாரங்களுக்கான அணுகலை அங்கீகரிக்க மட்டுமல்லாமல் பயனரின் அடையாளத்தையும் சரிபார்க்க வேண்டிய பயன்பாட்டு நிகழ்வுகளுக்கு ஏற்றதாக அமைகிறது. OIDC ஒரு ID டோக்கன் என்ற கருத்தை அறிமுகப்படுத்துகிறது, இது பயனரின் அடையாளத்தைப் பற்றிய கூற்றுகளைக் கொண்ட JSON Web Token (JWT) ஆகும்.
OIDC ஐ செயல்படுத்தும்போது, அங்கீகார சேவையகத்திலிருந்து வரும் பதிலில் அணுகல் டோக்கன் (பாதுகாக்கப்பட்ட ஆதாரங்களை அணுகுவதற்கு) மற்றும் ID டோக்கன் (பயனரின் அடையாளத்தைச் சரிபார்க்க) ஆகிய இரண்டும் அடங்கும்.
OAuth2 வழங்குநரைத் தேர்ந்தெடுப்பது
நீங்கள் உங்கள் சொந்த OAuth2 அங்கீகார சேவையகத்தை செயல்படுத்தலாம் அல்லது மூன்றாம் தரப்பு வழங்குநரைப் பயன்படுத்தலாம். உங்கள் சொந்த அங்கீகார சேவையகத்தை செயல்படுத்துவது சிக்கலானதாகவும் நேரத்தை எடுத்துக்கொள்வதாகவும் இருக்கும், ஆனால் இது அங்கீகார செயல்முறையின் மீது உங்களுக்கு முழு கட்டுப்பாட்டைக் கொடுக்கிறது. மூன்றாம் தரப்பு வழங்குநரைப் பயன்படுத்துவது பெரும்பாலும் எளிமையானது மற்றும் செலவு குறைந்ததாக இருக்கும், ஆனால் அங்கீகாரத்திற்காக மூன்றாம் தரப்பை நம்புவதை இது குறிக்கிறது.
சில பிரபலமான OAuth2 வழங்குநர்கள் பின்வருமாறு:
- Google Identity Platform
- Facebook Login
- Microsoft Azure Active Directory
- Auth0
- Okta
- Ping Identity
OAuth2 வழங்குநரைத் தேர்ந்தெடுக்கும்போது, பின்வரும் காரணிகளைக் கவனியுங்கள்:
- விலை நிர்ணயம்
- அம்சங்கள்
- பாதுகாப்பு
- நம்பகத்தன்மை
- ஒருங்கிணைப்பின் எளிமை
- ஒழுங்குமுறை தேவைகள் (எ.கா., GDPR, CCPA)
- டெவலப்பர் ஆதரவு
வெவ்வேறு சூழல்களில் OAuth2
வலை பயன்பாடுகள் மற்றும் மொபைல் பயன்பாடுகள் முதல் டெஸ்க்டாப் பயன்பாடுகள் மற்றும் IoT சாதனங்கள் வரை பலவிதமான சூழல்களில் OAuth2 பயன்படுத்தப்படுகிறது. குறிப்பிட்ட செயலாக்க விவரங்கள் சுற்றுச்சூழலைப் பொறுத்து மாறுபடலாம், ஆனால் முக்கிய கருத்துக்கள் மற்றும் கொள்கைகள் அப்படியே இருக்கும்.
வலை பயன்பாடுகள்
வலை பயன்பாடுகளில், OAuth2 பொதுவாக சேவையக-பக்க குறியீட்டுடன் அங்கீகார குறியீடு மானியத்தைப் பயன்படுத்தி டோக்கன் பரிமாற்றம் மற்றும் சேமிப்பகத்தைக் கையாளுகிறது. ஒற்றை-பக்க பயன்பாடுகளுக்கு (SPAs), PKCE உடன் அங்கீகார குறியீடு மானியம் பரிந்துரைக்கப்பட்ட அணுகுமுறை.
மொபைல் பயன்பாடுகள்
மொபைல் பயன்பாடுகளில், OAuth2 பொதுவாக PKCE உடன் அங்கீகார குறியீடு மானியத்தைப் பயன்படுத்தி அல்லது OAuth2 வழங்குநரால் வழங்கப்பட்ட சொந்த SDK ஐப் பயன்படுத்தி செயல்படுத்தப்படுகிறது. இயக்க முறைமையின் பாதுகாப்பான சேமிப்பக வழிமுறைகளைப் பயன்படுத்தி அணுகல் டோக்கன்களைப் பாதுகாப்பாக சேமிப்பது முக்கியம்.
டெஸ்க்டாப் பயன்பாடுகள்
டெஸ்க்டாப் பயன்பாடுகளில், OAuth2 ஐ உட்பொதிக்கப்பட்ட உலாவி அல்லது கணினி உலாவி மூலம் அங்கீகார குறியீடு மானியத்தைப் பயன்படுத்தி செயல்படுத்தலாம். மொபைல் பயன்பாடுகளைப் போலவே, அணுகல் டோக்கன்களைப் பாதுகாப்பாக சேமிப்பது முக்கியம்.
IoT சாதனங்கள்
IoT சாதனங்களில், இந்த சாதனங்களின் வரையறுக்கப்பட்ட ஆதாரங்கள் மற்றும் பாதுகாப்பு தடைகள் காரணமாக OAuth2 செயலாக்கம் மிகவும் சவாலானதாக இருக்கும். கிளையன்ட் சான்றுகள் மானியம் அல்லது அங்கீகார குறியீடு மானியத்தின் எளிமைப்படுத்தப்பட்ட பதிப்பு குறிப்பிட்ட தேவைகளைப் பொறுத்து பயன்படுத்தப்படலாம்.
பொதுவான OAuth2 சிக்கல்களை சரிசெய்தல்
OAuth2 ஐ செயல்படுத்துவது சில நேரங்களில் சவாலாக இருக்கலாம். இங்கே சில பொதுவான சிக்கல்கள் மற்றும் அவற்றை எவ்வாறு சரிசெய்வது:
- செல்லாத திருப்பி விடுதல் URI: அங்கீகார சேவையகத்தில் பதிவு செய்யப்பட்ட திருப்பி விடுதல் URI அங்கீகார கோரிக்கையில் பயன்படுத்தப்பட்ட URI உடன் பொருந்துகிறது என்பதை உறுதிப்படுத்தவும்.
- செல்லாத கிளையன்ட் ID அல்லது ரகசியம்: கிளையன்ட் ID மற்றும் கிளையன்ட் ரகசியம் சரியானதா என்பதை இருமுறை சரிபார்க்கவும்.
- அங்கீகரிக்கப்படாத நோக்கம்: கோரப்பட்ட நோக்கங்கள் அங்கீகார சேவையகத்தால் ஆதரிக்கப்படுவதையும், கிளையன்ட் பயன்பாட்டிற்கு அவற்றை அணுக அனுமதி வழங்கப்பட்டுள்ளதா என்பதையும் உறுதிப்படுத்தவும்.
- அணுகல் டோக்கன் காலாவதியானது: புதிய அணுகல் டோக்கனைப் பெற புதுப்பிப்பு டோக்கனைப் பயன்படுத்தவும்.
- டோக்கன் சரிபார்ப்பு தோல்வியடைந்தது: அணுகல் டோக்கன்களை சரிபார்க்க வள சேவையகம் சரியாக கட்டமைக்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்தவும்.
- CORS பிழைகள்: நீங்கள் குறுக்கு-ஆரிஜின் ரிசோர்ஸ் பகிர்வு (CORS) பிழைகளை எதிர்கொண்டால், உங்கள் கிளையன்ட் பயன்பாட்டின் மூலத்திலிருந்து வரும் கோரிக்கைகளை அனுமதிக்க அங்கீகார சேவையகம் மற்றும் வள சேவையகம் சரியாக கட்டமைக்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்தவும்.
முடிவுரை
OAuth2 என்பது ஒரு சக்திவாய்ந்த மற்றும் பல்துறை அங்கீகார கட்டமைப்பாகும், இது பலவிதமான பயன்பாடுகளுக்கு பாதுகாப்பான மற்றும் தடையற்ற பயனர் அங்கீகாரத்தை செயல்படுத்துகிறது. முக்கிய கருத்துக்கள், மானிய வகைகள் மற்றும் பாதுகாப்பு பரிசீலனைகளைப் புரிந்துகொள்வதன் மூலம், பயனர் தரவைப் பாதுகாக்கவும் சிறந்த பயனர் அனுபவத்தை வழங்கவும் டெவலப்பர்கள் OAuth2 ஐ திறம்பட செயல்படுத்த முடியும்.
இந்த வழிகாட்டி OAuth2 செயலாக்கத்தின் விரிவான கண்ணோட்டத்தை வழங்கியுள்ளது. மேலும் விரிவான தகவல்களுக்கும் வழிகாட்டுதலுக்கும் அதிகாரப்பூர்வ OAuth2 விவரக்குறிப்புகள் மற்றும் நீங்கள் தேர்ந்தெடுத்த OAuth2 வழங்குநரின் ஆவணங்களை கலந்தாலோசிக்க நினைவில் கொள்ளுங்கள். எப்போதும் பாதுகாப்பு சிறந்த நடைமுறைகளுக்கு முன்னுரிமை கொடுங்கள் மற்றும் பயனர் தரவின் ஒருமைப்பாடு மற்றும் ரகசியத்தன்மையை உறுதி செய்வதற்கான சமீபத்திய பரிந்துரைகளில் தொடர்ந்து தெரிந்துகொள்ளுங்கள்.