উত্তর:
তারা বিভিন্ন সমস্যার সমাধান করে।
এসএএমএল হ'ল মানকগুলির একটি সেট যা কোনও ব্যবহারকারী কে, তার বৈশিষ্ট্যগুলির সেটটি কী তা সম্পর্কে তথ্য ভাগ করে নেওয়ার জন্য সংজ্ঞায়িত করা হয়েছে এবং আপনাকে কোনও কিছুর অ্যাক্সেস মঞ্জুর / অস্বীকার করার এমনকি প্রমাণীকরণের জন্য অনুরোধ করার একটি উপায় দেয়।
OAuth কোনও কিছুর অ্যাক্সেস দেওয়ার বিষয়ে আরও বেশি। আপনি মূলত কাউকে আপনার মতো "অভিনয়" করার অনুমতি দিচ্ছেন। এটি অ্যাক্সেস এপিআই প্রদান করার জন্য সবচেয়ে বেশি ব্যবহৃত যা আপনার পক্ষ থেকে কিছু করতে পারে।
তারা দুটি সম্পূর্ণ ভিন্ন জিনিস।
কিছু উদাহরণ যা সাহায্য করতে পারে।
ওআউথ একটি টুইটার সম্পর্কে ভাবেন। বলুন আপনি গুগল বাজ এবং টুইটার ব্যবহার করছেন এবং দুটি সিঙ্ক্রোনাইজ রাখতে সক্ষম হতে আপনি একটি অ্যাপ্লিকেশন লিখতে চান। আপনি মূলত আপনার অ্যাপ এবং টুইটারের মধ্যে বিশ্বাস স্থাপন করতে পারেন। প্রথমবার আপনি টুইটারে অ্যাপ্লিকেশনটি লিঙ্ক করতে যান, আপনি টুইটারে লগ ইন করার ক্লাসিক প্রম্পটটি করেন এবং তারপরে সেই নিশ্চয়তা বাক্সটি পপ আপ করে এবং "আপনি কি আপনার অ্যাপ্লিকেশন নামটির অ্যাক্সেস দিতে চান?" একবার আপনি "হ্যাঁ" ক্লিক করলে, বিশ্বাসটি প্রতিষ্ঠিত হয়ে গেছে, এবং এখন আপনার অ্যাপটি টুইটারে আপনার মতো কাজ করতে পারে। এটি আপনার পোস্টগুলি পড়ার পাশাপাশি নতুন করেও তৈরি করতে পারে।
এসএএমএল - এসএএমএল-এর জন্য দুটি অপ্রাসঙ্গিক সদস্যপদ সিস্টেমের মধ্যে কিছু ধরণের "চুক্তি" সম্পর্কে ভাবেন। আমাদের ক্ষেত্রে আমরা ইউএস এয়ারওয়েজ এবং হার্টজ ব্যবহার করতে পারি। এমন কোনও শংসাপত্রের সেট নেই যা আপনাকে এক সাইট থেকে অন্য সাইটে নিয়ে যেতে পারে, তবে বলি হার্টজ ইউএস এয়ারওয়েজের কাছে "চুক্তি" দিতে চায়। (নিশ্চিত যে আমি জানি এটি চরম উদাহরণ, তবে আমার সাথে সহ্য করুন)। একটি ফ্লাইট কেনার পরে, তারা এর চেয়ারম্যান সদস্যদের জন্য একটি বিনামূল্যে ভাড়া গাড়ি সরবরাহ করবে car ইউএস এয়ারওয়েজ এবং হার্টজ কিছুটা বিশ্বাসের সেট তৈরি করত এবং ব্যবহারকারীকে সনাক্ত করার কোনও উপায় ছিল way আমাদের ক্ষেত্রে আমাদের "ফেডারেশন আইডি" ইমেল ঠিকানা হবে, এবং এটি হার্টজ ট্রাস্টের একতরফা বিশ্বাস হবে যে ইউএস এয়ারওয়েজের পরিচয় প্রদানকারী সঠিক এবং সুরক্ষিতভাবে একটি টোকন সরবরাহ করবে। ফ্লাইট বুকিংয়ের পরে ইউএস এয়ারওয়েজের পরিচয় প্রদানকারী একটি টোকেন তৈরি করে এবং তারা কীভাবে ব্যবহারকারীকে সত্যায়িত করেছে তা তৈরি করবে এবং পাশাপাশি আমাদের ক্ষেত্রে ব্যক্তির সম্পর্কে "বৈশিষ্ট্যগুলি" সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্যটি হবে ইউএস এয়ারওয়েজে তার স্ট্যাটাস স্তর। টোকেনটি জনপ্রিয় হওয়ার পরে এটি কোনও প্রকার রেফারেন্সের মাধ্যমে এটি পাস করে, বা একটি ইউআরএল এ এনকোড করা হয় এবং একবার আমরা হার্টজ এ পৌঁছানোর পরে, এটি টোকেনটি দেখে, এটি বৈধ করে এবং এখন নিখরচায় ভাড়ার গাড়িটির জন্য অনুমতি দিতে পারে।
এই এসএএমএল উদাহরণটিতে সমস্যাটি হ'ল এটি অনেকের মধ্যে একমাত্র বিশেষায়িত ব্যবহারের ক্ষেত্রে। এসএএমএল একটি স্ট্যান্ডার্ড এবং প্রায়শই অনেকগুলি উপায় রয়েছে যা আপনি এটি প্রয়োগ করতে পারেন।
বিকল্পভাবে, আপনি যদি অনুমোদনের বিষয়ে চিন্তা না করেন তবে আপনি প্রায় যুক্তি করতে পারেন যে এসএএমএল এবং ওপেনআইডি- র মাধ্যমে প্রমাণীকরণের দাবি দেওয়া ।
কটাক্ষপাত আছে এই সহজ ব্যাখ্যা এখানে সংক্ষিপ্ত:
অনেক লোক এসএএমএল, ওপেনআইডি এবং ওআউথের মধ্যে পার্থক্য সম্পর্কে বিভ্রান্ত, তবে এটি আসলে খুব সহজ। যদিও কিছু ওভারল্যাপ রয়েছে, তবে এখানে তিনটির মধ্যে পার্থক্য করার একটি খুব সহজ উপায়।
ওপেনআইডি - গ্রাহকদের জন্য একক সাইন অন
এসএএমএল - এন্টারপ্রাইজ ব্যবহারকারীদের জন্য একক সাইন-অন
OAuth - অ্যাপ্লিকেশনগুলির মধ্যে API অনুমোদন
OO যেমন পণ্য নকশা নিদর্শন সঙ্গে আরামদায়ক ভাবেন জন্য, আমি মনে হয় একটা চমৎকার সম্পুরক এর মোড়কের নিদর্শন । চিন্তা করুন ছদ্মরূপ , প্রসাধক এবং প্রক্সি নিদর্শন। মৌলিকভাবে এগুলি সব একই, তারা কেবল মোড়ক ... পার্থক্য প্রতিটি প্যাটার্নের উদ্দেশ্য ।
একইভাবে, এসএএমএল, ওআউথ এবং ওপেনআইডি সমস্ত একটি সাধারণ অন্তর্নিহিত প্রক্রিয়াটির মাধ্যমে বিভিন্ন উদ্দেশ্যকে সহজ করে দেয় যা কিছু ব্যক্তিগত যোগাযোগের জন্য কোনও পরিষেবা সরবরাহকারী / পরিচয় কর্তৃত্বকে পুনর্নির্দেশকরণ এবং তৃতীয় পক্ষের অ্যাপের পুনঃনির্দেশের পরে।
নেট ঘুরে দেখলে আপনি প্রোটোকলের দক্ষতার মধ্যে ওভারল্যাপ পাবেন। OAuth এর মাধ্যমে প্রমাণীকরণ পুরোপুরি যুক্তিসঙ্গত। এসএএমএল এবং ওপেনআইডি বিশেষত সংঘবদ্ধ পরিচয়ের দিকে এগিয়ে থাকায় ওআউথের উপর এসএসও খুব বেশি অর্থবোধ করতে পারে না।
নিজেই প্রশ্নের কাছে, কর্পোরেট প্রসঙ্গে এসএএমএল এসএসওর জন্য ওআউথের চেয়ে বেশি উপযুক্ত বলে মনে হচ্ছে । আমি বাজি ধরছি যদি আপনি তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলিকে আপনার কর্পোরেট পরিচয়গুলির সাথে একীকরণ করতে চান তবে আপনি দেখতে পাবেন যে তারা ইতিমধ্যে এসএএমএল / এলডিএপি / রেডিয়াস ইত্যাদির সাথে সংহত করার জন্য নকশাকৃত etc. অ্যাপ্লিকেশন বা সম্ভবত কোনও বৃহত কর্পোরেট পরিবেশে পরিষেবা ওরিয়েন্টেড আর্কিটেকচার সমন্বিত অ্যাপ্লিকেশনগুলির মধ্যে।
অনুমোদনের নিয়মগুলি কর্পোরেট পরিবেশে অন্যান্য উপায়েও নির্দিষ্ট করা যেতে পারে। এলডিএপি এটির জন্য একটি সাধারণ সরঞ্জাম। গ্রুপগুলিতে ব্যবহারকারীদের সংগঠিত করা এবং গোষ্ঠী সদস্যতার বিরুদ্ধে অ্যাপ্লিকেশন সুবিধাদি যুক্ত করা একটি বিস্তৃত পদ্ধতি approach ঠিক তাই ঘটে এলডিএপিও প্রমাণীকরণের জন্য ব্যবহার করা যেতে পারে। অ্যাক্টিভ ডিরেক্টরি একটি দুর্দান্ত উদাহরণ, যদিও আমি ওপেনলডিপ পছন্দ করি।
একক সাইন অন (এসএসও), ফেডারেশন এবং আইডেন্টিটি ম্যানেজমেন্ট অর্জনের জন্য এসএএমএল (সিকিউরিটি অ্যাসারশন মার্কআপ ল্যাঙ্গুয়েজ) স্ট্যান্ডার্ড সেট করা আছে।
উদাহরণ : একটি ব্যবহারকারী (প্রিন্সিপাল) ফ্লাইট বুকিং ওয়েবসাইট, এয়ারফ্লায়ার (পরিচয় সরবরাহকারী) এর সাথে অনুমোদন করে যা এসএলওর মাধ্যমে এসএএমএলকে একটি শাটল বুকিং ওয়েবসাইট, শাটলার (পরিষেবা সরবরাহকারী) দিয়ে কনফিগার করা হয়েছে। একবার ফ্লাইয়ারের কাছে অনুমোদনপ্রাপ্ত হওয়ার পরে, ব্যবহারকারী শটলারে প্রামাণিকতার প্রয়োজনীয়তা ছাড়াই শাটল বুক করতে পারবেন
OAuth (উন্মুক্ত অনুমোদন) সংস্থানগুলির অনুমোদনের জন্য একটি মান। এটি প্রমাণীকরণের সাথে কাজ করে না।
উদাহরণ : একটি ফটো শেয়ারিং মোবাইল অ্যাপ্লিকেশন (ওআউথ গ্রাহক) যা ব্যবহারকারীদের তাদের ইনস্টাগ্রাম অ্যাকাউন্ট (ওআউথ সরবরাহকারী) থেকে ফটো আমদানির অনুমতি দেয় যা কিছু ঘন্টা পরে মেয়াদ শেষ হয়ে যায় এমন ফটো ভাগ করে নেওয়ার অ্যাপে অস্থায়ী অ্যাক্সেস টোকন বা কী প্রেরণ করে।
অন্য ব্যবহারকারীদের আপনার সাইটে "লগ ইন" করার অনুমতি দেওয়া থেকে বেছে নেওয়া স্যামএলএর কাছে বিভিন্ন ধরণের "প্রোফাইল" রয়েছে। এসএএমএল-পি বা এসএএমএল প্যাসিভ সেটআপ করা খুব সাধারণ এবং মোটামুটি সহজ। ডাব্লুএস-ট্রাস্ট একই রকম এবং এটিও ওয়েবসাইটগুলির মধ্যে ফেডারেশনের অনুমতি দেয়।
OAuth অনুমোদনের জন্য ডিজাইন করা হয়েছে। আপনি এখানে আরও পড়তে পারেন:
SAML
প্রমাণীকরণের জন্য - মূলত সিঙ্গল সাইন অন দৃশ্যে ব্যবহৃত । OAuth
সম্পদ প্রতিনিধিত্বের অনুমোদনের জন্য।
জেএসএন ওয়েব টোকেন (জেডাব্লুটি) হ'ল এসএএমএল এক্সএমএল টোকেন্সের বিকল্প। জেডাব্লুটিটি ওআউথের সাথে ব্যবহার করা যেতে পারে
একটি ভাল রেফারেন্স হ'ল এসএএমএল বনাম ওআউথ: আমার কোনটি ব্যবহার করা উচিত?
পদগুলি ফেডারেশন বলতে আসলে সিস্টেম জুড়ে সংযোগের পরিচয় বোঝায়। এটি এসএসও সম্পর্কিত, তবে এগুলি এক রকম নয়। আমি এই ব্লগ পোস্টটি ফেডারেশন বলতে আসলে যা বোঝায় তার পরিপ্রেক্ষিতে সত্যই সহায়ক বলে মনে করেছি।