OAuth மற்றும் OpenID இணைப்புக்கான விளக்கப்பட வழிகாட்டி
குறிப்பு. மொழிபெயர்: OAuth மற்றும் OIDC (OpenID Connect) ஆகியவை எவ்வாறு எளிமையாகவும் தெளிவாகவும் செயல்படுகின்றன என்பதை Okta இன் இந்த சிறந்த கட்டுரை விளக்குகிறது. இந்த அறிவு டெவலப்பர்கள், கணினி நிர்வாகிகள் மற்றும் பிரபலமான வலை பயன்பாடுகளின் "வழக்கமான பயனர்களுக்கு" கூட பயனுள்ளதாக இருக்கும், இது பெரும்பாலும் மற்ற சேவைகளுடன் ரகசியத் தரவை பரிமாறிக்கொள்ளும்.
இணையத்தின் கற்காலத்தில், சேவைகளுக்கு இடையே தகவல்களைப் பகிர்வது எளிதாக இருந்தது. உங்கள் உள்நுழைவு மற்றும் கடவுச்சொல்லை ஒரு சேவையிலிருந்து மற்றொரு சேவைக்கு வழங்கினீர்கள், அதனால் அவர் உங்கள் கணக்கில் நுழைந்து அவருக்குத் தேவையான எந்த தகவலையும் பெற்றார்.
"உங்கள் வங்கிக் கணக்கைக் கொடுங்கள்." “கடவுச்சொல் மற்றும் பணத்துடன் எல்லாம் சரியாகிவிடும் என்று நாங்கள் உறுதியளிக்கிறோம். அது நேர்மையானது, நேர்மையானது!" *ஹீ ஹீ*
திகில்! ஒரு பயனர் பெயர் மற்றும் கடவுச்சொல்லைப் பகிர வேண்டும் என்று யாரும் கோரக்கூடாது, சான்றுகளை, மற்றொரு சேவையுடன். இந்தச் சேவையின் பின்னணியில் உள்ள நிறுவனம் தரவைப் பாதுகாப்பாக வைத்திருக்கும் மற்றும் தேவைக்கு அதிகமான தனிப்பட்ட தகவல்களைச் சேகரிக்காது என்பதற்கு எந்த உத்தரவாதமும் இல்லை. இது பைத்தியமாகத் தோன்றலாம், ஆனால் சில பயன்பாடுகள் இன்னும் இந்த நடைமுறையைப் பயன்படுத்துகின்றன!
இன்று ஒரு சேவையானது மற்றொன்றின் தரவைப் பாதுகாப்பாகப் பயன்படுத்த அனுமதிக்கும் ஒரு தரநிலை உள்ளது. துரதிர்ஷ்டவசமாக, இத்தகைய தரநிலைகள் நிறைய வாசகங்கள் மற்றும் சொற்களைப் பயன்படுத்துகின்றன, இது அவர்களின் புரிதலை சிக்கலாக்குகிறது. எளிமையான விளக்கப்படங்களைப் பயன்படுத்தி அவை எவ்வாறு செயல்படுகின்றன என்பதை விளக்குவதே இந்த உள்ளடக்கத்தின் நோக்கமாகும் (எனது வரைபடங்கள் குழந்தைகளின் அழகை ஒத்திருப்பதாக நீங்கள் நினைக்கிறீர்களா? சரி!).
மூலம், இந்த வழிகாட்டி வீடியோ வடிவத்திலும் கிடைக்கிறது:
பெண்கள் மற்றும் தாய்மார்களே, வரவேற்கிறோம்: OAuth 2.0
OAuth 2.0 ஒரு பயன்பாட்டிற்கு மற்றொரு பயன்பாட்டில் உள்ள தகவலை அணுக அனுமதி பெற அனுமதிக்கும் பாதுகாப்பு தரநிலை ஆகும். அனுமதி வழங்குவதற்கான படிகளின் வரிசை [அனுமதி] (அல்லது ஒப்புதல்[ஒப்புதல்]) அடிக்கடி அழைக்கவும் அங்கீகாரம்[அங்கீகாரம்] அல்லது கூட வழங்கப்பட்ட அங்கீகாரம்[பங்களிக்கப்பட்ட அங்கீகாரம்]. இந்த தரநிலையுடன், உங்கள் கடவுச்சொல்லை வழங்காமல் உங்கள் சார்பாக தரவைப் படிக்க அல்லது மற்றொரு பயன்பாட்டின் செயல்பாடுகளைப் பயன்படுத்த பயன்பாட்டை அனுமதிக்கிறீர்கள். வர்க்கம்!
உதாரணமாக, "அன்லக்கி பன் ஆஃப் தி டே" என்ற தளத்தை நீங்கள் கண்டுபிடித்ததாக வைத்துக்கொள்வோம். [தினத்தின் பயங்கரமான வார்த்தை] மற்றும் தொலைபேசியில் குறுஞ்செய்தி வடிவில் தினசரி சிலேடைகளைப் பெறுவதற்காக அதில் பதிவு செய்ய முடிவு செய்தேன். நீங்கள் தளத்தை மிகவும் விரும்பினீர்கள், மேலும் அதை உங்கள் நண்பர்கள் அனைவருடனும் பகிர்ந்து கொள்ள முடிவு செய்தீர்கள். எல்லாவற்றிற்கும் மேலாக, எல்லோரும் தவழும் சொற்களை விரும்புகிறார்கள், இல்லையா?
“அன்றைய துரதிர்ஷ்டவசமான சிலேடை: உடலின் இடது பாதியை இழந்த பையனைப் பற்றி கேள்விப்பட்டீர்களா? இப்போது அவர் எப்போதும் சரியானவர்! ” (தோராயமான மொழிபெயர்ப்பு, ஏனென்றால் அசல் அதன் சொந்த சிலாக்கியத்தைக் கொண்டுள்ளது - தோராயமாக. மொழிபெயர்ப்பு.)
தொடர்பு பட்டியலில் இருந்து ஒவ்வொரு நபருக்கும் எழுதுவது ஒரு விருப்பமல்ல என்பது தெளிவாகிறது. மேலும், நீங்கள் என்னைப் போல் கொஞ்சம் கூட இருந்தால், தேவையற்ற வேலைகளைத் தவிர்க்க எந்த எல்லைக்கும் செல்வீர்கள். அதிர்ஷ்டவசமாக, டெரிபிள் பன் ஆஃப் தி டே உங்கள் நண்பர்கள் அனைவரையும் அழைக்கலாம்! இதைச் செய்ய, உங்கள் தொடர்புகளின் மின்னஞ்சலுக்கான அணுகலைத் திறக்க வேண்டும் - தளமே அவர்களுக்கு அழைப்புகளை அனுப்பும் (OAuth விதிகள்)!
“எல்லோரும் சிலேடைகளை விரும்புகிறார்கள்! - ஏற்கனவே உள்நுழைந்துள்ளீர்கள்? “டெரிபிள் பன் ஆஃப் தி டே இணையதளத்தை உங்கள் தொடர்பு பட்டியலை அணுக அனுமதிக்க விரும்புகிறீர்களா? - நன்றி! இனிமேல், உங்களுக்குத் தெரிந்த அனைவருக்கும், நேரம் முடியும் வரை ஒவ்வொரு நாளும் நினைவூட்டல்களை அனுப்புவோம்! நீங்கள் சிறந்த நண்பர்!"
உங்கள் மின்னஞ்சல் சேவையைத் தேர்ந்தெடுக்கவும்.
தேவைப்பட்டால், அஞ்சல் தளத்திற்குச் சென்று உங்கள் கணக்கில் உள்நுழையவும்.
உங்கள் தொடர்புகளை அணுகுவதற்கு டெரிபிள் பன் ஆஃப் தி டே அனுமதி கொடுங்கள்.
டெரிபிள் பன் ஆஃப் தி டே தளத்திற்குத் திரும்பு.
நீங்கள் உங்கள் எண்ணத்தை மாற்றினால், OAuth ஐப் பயன்படுத்தும் பயன்பாடுகள் அணுகலைத் திரும்பப் பெறுவதற்கான வழியையும் வழங்குகிறது. டெரிபிள் பன் ஆஃப் தி டே உடன் தொடர்புகளைப் பகிர விரும்பவில்லை என்று நீங்கள் முடிவு செய்தவுடன், நீங்கள் அஞ்சல் தளத்திற்குச் சென்று அங்கீகரிக்கப்பட்ட பயன்பாடுகளின் பட்டியலிலிருந்து பன் தளத்தை அகற்றலாம்.
OAuth ஓட்டம்
நாங்கள் வழக்கமாக அழைக்கப்படுவதைக் கடந்து வந்தோம் ஓட்டம்[ஓட்டம்] OAuth. எங்கள் எடுத்துக்காட்டில், இந்த ஓட்டமானது புலப்படும் படிகள் மற்றும் பல கண்ணுக்குத் தெரியாத படிகளைக் கொண்டுள்ளது, இதில் இரண்டு சேவைகள் பாதுகாப்பான தகவல் பரிமாற்றத்தில் உடன்படுகின்றன. முந்தைய டெரிபிள் பன் ஆஃப் தி டே உதாரணம், "அங்கீகாரக் குறியீடு" எனப்படும் மிகவும் பொதுவான OAuth 2.0 ஓட்டத்தைப் பயன்படுத்துகிறது. ["அங்கீகாரக் குறியீடு" ஓட்டம்].
OAuth எவ்வாறு செயல்படுகிறது என்பதைப் பற்றிய விவரங்களுக்குச் செல்வதற்கு முன், சில சொற்களின் பொருளைப் பற்றி பேசலாம்:
வள உரிமையாளர்:
நீ தான்! உங்கள் நற்சான்றிதழ்கள், உங்கள் தரவு மற்றும் உங்கள் கணக்குகளில் செய்யக்கூடிய அனைத்து செயல்பாடுகளையும் நீங்கள் கட்டுப்படுத்துகிறீர்கள்.
கிளையண்ட்:
ஒரு பயன்பாடு (எடுத்துக்காட்டாக, டெரிபிள் பன் ஆஃப் தி டே சேவை) சார்பாக சில செயல்களை அணுக அல்லது செய்ய விரும்புகிறது வள உரிமையாளர்'அ.
அங்கீகார சேவையகம்:
தெரிந்த பயன்பாடு வள உரிமையாளர்'a மற்றும் இதில் u வள உரிமையாளர்'ஏற்கனவே கணக்கு உள்ளது.
வள சேவையகம்:
பயன்பாட்டு நிரலாக்க இடைமுகம் (API) அல்லது சேவை கிளையண்ட் சார்பில் பயன்படுத்த விரும்புகிறது வள உரிமையாளர்'அ.
URI ஐ திருப்பிவிடவும்:
அந்த இணைப்பு அங்கீகார சேவையகம் திருப்பி விடுவார்கள் வள உரிமையாளர்மற்றும் அனுமதி வழங்கிய பிறகு கிளையண்ட்மணிக்கு. இது சில நேரங்களில் "கால்பேக் URL" என்று குறிப்பிடப்படுகிறது.
பதில் வகை:
பெறப்படும் என எதிர்பார்க்கப்படும் தகவல் வகை கிளையண்ட். மிகவும் பொதுவான பதில் வகை'ஓம் என்பது குறியீடு, அதாவது கிளையண்ட் பெற எதிர்பார்க்கிறது அங்கீகார குறியீடு.
நோக்கம்:
இது தேவையான அனுமதிகளின் விரிவான விளக்கமாகும் கிளையண்ட்'y, தரவை அணுகுவது அல்லது சில செயல்களைச் செய்வது போன்றவை.
ஒப்புதல்:
அங்கீகார சேவையகம் தொப்பியை நோக்கங்கள்கோரப்பட்டது கிளையண்ட்'ஓம், மற்றும் கேட்கிறார் வள உரிமையாளர்'அ, அவர் வழங்க தயாரா? கிளையண்ட்'தகுந்த அனுமதிகள் வேண்டும்.
வாடிக்கையாளர் ஐடி:
அடையாளம் காண இந்த ஐடி பயன்படுத்தப்படுகிறது கிளையண்ட்'ஒரு அன்று அங்கீகார சேவையகம்'இ.
வாடிக்கையாளர் ரகசியம்:
இது மட்டுமே தெரிந்த கடவுச்சொல் கிளையண்ட்'u மற்றும் அங்கீகார சேவையகம்மணிக்கு. இது தனிப்பட்ட முறையில் தகவல்களைப் பகிர அனுமதிக்கிறது.
அங்கீகார குறியீடு:
குறுகிய கால செல்லுபடியாகும் தற்காலிக குறியீடு, இது கிளையண்ட் அது வழங்குகிறது அங்கீகார சேவையகம்அதற்கு ஈடாக 'y அணுகல் டோக்கன்.
அணுகல் டோக்கன்:
வாடிக்கையாளர் தொடர்பு கொள்ள பயன்படுத்தும் திறவுகோல் வள சேவையகம்'ஓம். ஒரு வகையான பேட்ஜ் அல்லது முக்கிய அட்டை வழங்கும் கிளையண்ட்'தரவைக் கோர அல்லது செயல்களைச் செய்ய அனுமதி வேண்டும் வள சேவையகம்உங்கள் சார்பாக.
கருத்து: சில சமயங்களில் அங்கீகார சேவையகம் மற்றும் ஆதார சேவையகம் ஒரே சேவையகம். இருப்பினும், சில சந்தர்ப்பங்களில், இவை வெவ்வேறு சேவையகங்களாக இருக்கலாம், அவை ஒரே நிறுவனத்தைச் சேர்ந்ததாக இல்லாவிட்டாலும் கூட. எடுத்துக்காட்டாக, அங்கீகார சேவையகம் ஆதார சேவையகத்தால் நம்பப்படும் மூன்றாம் தரப்பு சேவையாக இருக்கலாம்.
இப்போது நாம் OAuth 2.0 இன் முக்கிய கருத்துகளை உள்ளடக்கியுள்ளோம், மீண்டும் எங்கள் உதாரணத்திற்குச் சென்று OAuth ஓட்டத்தில் என்ன நடக்கிறது என்பதை உற்று நோக்கலாம்.
நீங்கள், வள உரிமையாளர், நீங்கள் டெரிபிள் பன் ஆஃப் தி டே சேவையை வழங்க விரும்புகிறீர்கள் (கிளையண்ட்y) உங்கள் தொடர்புகளை அணுகுவதன் மூலம் அவர்கள் உங்கள் நண்பர்கள் அனைவருக்கும் அழைப்புகளை அனுப்ப முடியும்.
கிளையண்ட் உலாவியை பக்கத்திற்கு திருப்பி விடுகிறது அங்கீகார சேவையகம்'a மற்றும் வினவலில் சேர்க்கவும் வாடிக்கையாளர் ஐடி, URI ஐ திருப்பிவிடவும், பதில் வகை மற்றும் ஒன்று அல்லது அதற்கு மேற்பட்டவை நோக்கங்கள் (அனுமதிகள்) அது தேவை.
அங்கீகார சேவையகம் தேவைப்பட்டால் பயனர்பெயர் மற்றும் கடவுச்சொல்லைக் கேட்டு, உங்களைச் சரிபார்க்கிறது.
அங்கீகார சேவையகம் ஒரு படிவத்தைக் காட்டுகிறது ஒப்புதல் (உறுதிப்படுத்தல்கள்) அனைத்தின் பட்டியலுடன் நோக்கங்கள்கோரப்பட்டது கிளையண்ட்'ஓம். நீங்கள் ஒப்புக்கொள்கிறீர்கள் அல்லது மறுக்கிறீர்கள்.
அங்கீகார சேவையகம் தளத்திற்கு உங்களை திருப்பிவிடும் கிளையண்ட்'a, பயன்படுத்தி URI ஐ திருப்பிவிடவும் உடன் அங்கீகார குறியீடு (அங்கீகார குறியீடு).
கிளையண்ட் நேரடியாக தொடர்பு கொள்கிறது அங்கீகார சேவையகம்'ஓம் (உலாவியைத் தவிர்த்து வள உரிமையாளர்'a) மற்றும் பாதுகாப்பாக அனுப்புகிறது வாடிக்கையாளர் ஐடி, வாடிக்கையாளர் ரகசியம் и அங்கீகார குறியீடு.
அங்கீகார சேவையகம் தரவைச் சரிபார்த்து பதிலளிக்கிறது அணுகல் டோக்கன்'ஓம் (அணுகல் டோக்கன்).
இப்போது கிளையண்ட் பயன்படுத்த முடியும் அணுகல் டோக்கன் ஒரு கோரிக்கையை அனுப்ப வள சேவையகம் தொடர்புகளின் பட்டியலைப் பெற.
வாடிக்கையாளர் ஐடி மற்றும் ரகசியம்
உங்கள் தொடர்புகளை அணுகுவதற்கு டெரிபிள் பன் ஆஃப் தி டேயை நீங்கள் அனுமதிப்பதற்கு நீண்ட காலத்திற்கு முன்பே, கிளையண்ட் மற்றும் அங்கீகார சேவையகம் ஒரு வேலை உறவை ஏற்படுத்தியது. அங்கீகார சேவையகம் கிளையண்ட் ஐடி மற்றும் கிளையண்ட் ரகசியத்தை உருவாக்கியது (சில நேரங்களில் அழைக்கப்படுகிறது பயன்பாட்டு ஐடி и பயன்பாட்டு ரகசியம்) மற்றும் OAuth க்குள் மேலும் தொடர்புகொள்வதற்காக வாடிக்கையாளருக்கு அனுப்பப்பட்டது.
"- வணக்கம்! நான் உங்களுடன் வேலை செய்ய விரும்புகிறேன்! - நிச்சயமாக, ஒரு பிரச்சனை இல்லை! உங்கள் கிளையண்ட் ஐடி மற்றும் ரகசியம் இதோ!”
கிளையண்ட் ரகசியம் ரகசியமாக வைக்கப்பட வேண்டும் என்று பெயர் குறிக்கிறது, இதனால் கிளையண்ட் மற்றும் அங்கீகார சேவையகத்திற்கு மட்டுமே தெரியும். எல்லாவற்றிற்கும் மேலாக, அவரது உதவியுடன்தான் அங்கீகார சேவையகம் கிளையண்டின் உண்மையை உறுதிப்படுத்துகிறது.
ஆனால் அதெல்லாம் இல்லை... OpenID Connect ஐ வரவேற்கவும்!
OAuth 2.0 மட்டுமே வடிவமைக்கப்பட்டுள்ளது அங்கீகாரம் - ஒரு பயன்பாட்டிலிருந்து மற்றொரு பயன்பாட்டிற்கு தரவு மற்றும் செயல்பாடுகளுக்கான அணுகலை வழங்க. OpenID இணைப்பு (OIDC) என்பது OAuth 2.0 இன் மேல் உள்ள மெல்லிய அடுக்கு ஆகும், இது கணக்கில் உள்நுழைந்த பயனரின் உள்நுழைவு மற்றும் சுயவிவர விவரங்களைச் சேர்க்கிறது. உள்நுழைவு அமர்வின் அமைப்பு அடிக்கடி குறிப்பிடப்படுகிறது அங்கீகார[அங்கீகார], மற்றும் கணினியில் உள்நுழைந்த பயனரைப் பற்றிய தகவல்கள் (அதாவது பற்றி வள உரிமையாளர்'இ), - தனிப்பட்ட தகவல்[அடையாளம்]. அங்கீகார சேவையகம் OIDC ஐ ஆதரித்தால், அது சில நேரங்களில் குறிப்பிடப்படுகிறது தனிப்பட்ட தரவு வழங்குநர்[அடையாள வழங்குநர்]ஏனெனில் அது வழங்குகிறது கிளையண்ட்பற்றி தகவல் உள்ளது வள உரிமையாளர்'இ.
ஓபன்ஐடி கனெக்ட் பல பயன்பாடுகளில் ஒற்றை உள்நுழைவை பயன்படுத்தக்கூடிய காட்சிகளை செயல்படுத்த உங்களை அனுமதிக்கிறது - இந்த அணுகுமுறை என்றும் அழைக்கப்படுகிறது ஒற்றை உள்நுழைவு (SSO). எடுத்துக்காட்டாக, பேஸ்புக் அல்லது ட்விட்டர் போன்ற சமூக வலைப்பின்னல்களுடன் SSO ஒருங்கிணைப்பை ஒரு பயன்பாடு ஆதரிக்கலாம், பயனர்கள் தாங்கள் ஏற்கனவே வைத்திருக்கும் கணக்கைப் பயன்படுத்துவதை அனுமதிக்கிறது மற்றும் பயன்படுத்த விரும்புகிறது.
ஓட்டம் (ஓட்டம்) OpenID கனெக்ட் OAuth இன் விஷயத்தைப் போலவே தெரிகிறது. ஒரே வித்தியாசம் என்னவென்றால், முதன்மை கோரிக்கையில், குறிப்பிட்ட நோக்கம் பயன்படுத்தப்படுகிறது openid, - ஏ கிளையண்ட் இறுதியில் பிடிக்கும் அணுகல் டோக்கன், மற்றும் ஐடி டோக்கன்.
OAuth ஓட்டத்தைப் போலவே, அணுகல் டோக்கன் OpenID Connect இல், இது தெளிவாக இல்லாத சில மதிப்பு கிளையண்ட்மணிக்கு. பார்வையில் இருந்து கிளையண்ட்‘а அணுகல் டோக்கன் ஒவ்வொரு கோரிக்கையுடன் அனுப்பப்படும் எழுத்துகளின் சரத்தை குறிக்கிறது வள சேவையகம்'y, இது டோக்கன் சரியானதா என்பதை தீர்மானிக்கிறது. ஐடி டோக்கன் முற்றிலும் மாறுபட்ட ஒன்றைக் குறிக்கிறது.
ஐடி டோக்கன் ஒரு JWT
ஐடி டோக்கன் JSON வெப் டோக்கன் அல்லது JWT என அழைக்கப்படும் எழுத்துகளின் சிறப்பாக வடிவமைக்கப்பட்ட சரம் (சில நேரங்களில் JWT டோக்கன்கள் "ஜோட்ஸ்" போல உச்சரிக்கப்படுகின்றன). வெளிப்புற பார்வையாளர்களுக்கு, JWT புரிந்துகொள்ள முடியாத முட்டாள்தனமாகத் தோன்றலாம், ஆனால் கிளையண்ட் ஐடி, பயனர் பெயர், உள்நுழைவு நேரம், காலாவதி தேதி போன்ற பல்வேறு தகவல்களை JWT இலிருந்து பிரித்தெடுக்க முடியும் ஐடி டோக்கன்'a, JWT இல் தலையிடும் முயற்சிகளின் இருப்பு. உள்ளே தரவு ஐடி டோக்கன்'a அழைக்கப்படுகின்றன பயன்பாடுகள்[கூற்றுக்கள்].
OIDC விஷயத்தில், ஒரு நிலையான வழியும் உள்ளது கிளையண்ட் தனிநபர் பற்றிய கூடுதல் தகவல்களைக் கோரலாம் [அடையாளம்] இருந்து அங்கீகார சேவையகம்'a, எடுத்துக்காட்டாக, ஒரு மின்னஞ்சல் முகவரியைப் பயன்படுத்துகிறது அணுகல் டோக்கன்.
OAuth மற்றும் OIDC பற்றி மேலும் அறிக
எனவே, OAuth மற்றும் OIDC எவ்வாறு செயல்படுகின்றன என்பதை சுருக்கமாக மதிப்பாய்வு செய்தோம். ஆழமாக தோண்ட தயாரா? OAuth 2.0 மற்றும் OpenID Connect பற்றி மேலும் அறிய உதவும் கூடுதல் ஆதாரங்கள் இங்கே உள்ளன:
எப்போதும் போல், தயங்காமல் கருத்து தெரிவிக்கவும். எங்களின் சமீபத்திய செய்திகளுடன் புதுப்பித்த நிலையில் இருக்க, குழுசேரவும் ட்விட்டர் и YouTube டெவலப்பர்களுக்கு Okta!