OAuth 2.0 এবং OpenID Connect (OIDC) দুটি নিরাপত্তা প্রোটোকল যা আধুনিক ওয়েব এবং মোবাইল অ্যাপ্লিকেশনগুলিতে ব্যাপকভাবে ব্যবহৃত হয়। OAuth 2.0 প্রধানত Authorization (অথোরাইজেশন) ব্যবস্থাপনা জন্য ব্যবহৃত হয়, যেখানে OpenID Connect এটি Authentication (অথেনটিকেশন) সিস্টেমের উপরে তৈরি করা হয়েছে। এই প্রোটোকলগুলির মাধ্যমে, ব্যবহারকারীরা তাদের তথ্য শেয়ার না করেই বিভিন্ন সেবা ও অ্যাপ্লিকেশনগুলিতে সুরক্ষিতভাবে প্রবেশ করতে পারেন।
নিচে কিছু OAuth 2.0 এবং OpenID Connect এর ব্যবহারিক উদাহরণ দেওয়া হলো:
OAuth 2.0 এর ব্যবহারিক উদাহরণ
1. একাধিক প্ল্যাটফর্মে লগিন (Third-party Login)
একটি সাধারণ উদাহরণ হল Google Login, যেখানে ব্যবহারকারী তাদের গুগল অ্যাকাউন্ট ব্যবহার করে একটি তৃতীয় পক্ষের অ্যাপ্লিকেশনে লগ ইন করতে পারেন। এটি OAuth 2.0-এর মাধ্যমে কাজ করে।
প্রক্রিয়া:
- ব্যবহারকারী গুগল অ্যাকাউন্টে লগ ইন করার জন্য তৃতীয় পক্ষের অ্যাপ্লিকেশন থেকে গুগলের Authorization Server-এ রিডিরেক্ট করা হয়।
- গুগল তাদের অ্যাকাউন্ট যাচাইয়ের পর, একটি Authorization Code প্রদান করে।
- তৃতীয় পক্ষের অ্যাপ্লিকেশন এই কোডটি ব্যবহার করে Access Token এবং Refresh Token পেতে গুগলের Token Endpoint-এ রিকোয়েস্ট পাঠায়।
- অ্যাপ্লিকেশন এখন Access Token ব্যবহার করে গুগলের API থেকে ব্যবহারকারীর তথ্য (যেমন, ইমেইল, নাম ইত্যাদি) অ্যাক্সেস করতে পারে।
এখানে, OAuth 2.0 ব্যবহৃত হয়েছে Authorization এর জন্য, যাতে তৃতীয় পক্ষের অ্যাপ্লিকেশন গুগলের তথ্য অ্যাক্সেস করতে পারে, তবে ব্যবহারকারীর পাসওয়ার্ড শেয়ার করার প্রয়োজন হয় না।
2. সার্ভিস-টু-সার্ভিস অথোরাইজেশন
যেমন একটি সার্ভার অন্য সার্ভারের তথ্য অ্যাক্সেস করতে চায়। OAuth 2.0 এই ধরনের ব্যবহারে ব্যবহৃত হয়।
প্রক্রিয়া:
- ক্লায়েন্ট সার্ভার একটি Client Credentials Grant রিকোয়েস্ট পাঠায়, যেখানে তারা তাদের client_id এবং client_secret পাঠায়।
- Authorization Server রিকোয়েস্ট যাচাই করে এবং একটি Access Token প্রদান করে।
- ক্লায়েন্ট সার্ভার এখন Access Token ব্যবহার করে অন্য সার্ভার থেকে ডেটা অ্যাক্সেস করতে পারে।
এটি সার্ভিস-টু-সার্ভিস যোগাযোগের একটি উদাহরণ যেখানে ব্যবহারকারী জড়িত নয়, তবে OAuth 2.0 প্রোটোকল ব্যবহৃত হচ্ছে।
OpenID Connect এর ব্যবহারিক উদাহরণ
1. সিঙ্গেল সাইন-অন (SSO)
OpenID Connect এর মাধ্যমে Single Sign-On (SSO) ব্যবস্থা তৈরি করা যায়, যেখানে ব্যবহারকারী একবার লগ ইন করলে তারা একাধিক সাইটে প্রবেশ করতে পারে। উদাহরণস্বরূপ, গুগল, ফেসবুক, বা মাইক্রোসফটের মাধ্যমে একটি সিঙ্গেল সাইন-অন সিস্টেম বাস্তবায়িত করা।
প্রক্রিয়া:
- ব্যবহারকারী একটি সাইটে OpenID Connect লগইন রিকোয়েস্ট পাঠায়।
- সাইটটি ব্যবহারকারীকে গুগলের Authorization Server-এ রিডিরেক্ট করে।
- গুগল ব্যবহারকারীকে প্রমাণীকৃত করে এবং একটি ID Token এবং Access Token প্রদান করে।
- ব্যবহারকারী সাইটে প্রবেশ করতে পারে, যেখানে ID Token যাচাই করা হয় এবং ব্যবহারকারীর পরিচয় নিশ্চিত করা হয়।
এখানে OpenID Connect ব্যবহৃত হয়েছে, কারণ এটি শুধুমাত্র ব্যবহারকারীর Authentication নিশ্চিত করতে ব্যবহৃত হয়।
2. মোবাইল অ্যাপ্লিকেশনে লগইন (Mobile App Login)
এটা মোবাইল অ্যাপ্লিকেশনে OpenID Connect ব্যবহারের আরেকটি উদাহরণ। মোবাইল অ্যাপ্লিকেশন ব্যবহারকারীকে তৃতীয় পক্ষের প্রমাণীকরণ সার্ভারে (যেমন, গুগল বা ফেসবুক) রিডিরেক্ট করে।
প্রক্রিয়া:
- মোবাইল অ্যাপ্লিকেশন ব্যবহারকারীকে গুগলের Authorization Server-এ রিডিরেক্ট করে।
- গুগল ব্যবহারকারীর অথেনটিকেশন সম্পন্ন করে এবং একটি ID Token প্রদান করে।
- মোবাইল অ্যাপ্লিকেশন এই ID Token যাচাই করে ব্যবহারকারীর পরিচয় নিশ্চিত করে এবং তাদের জন্য নির্দিষ্ট অ্যাক্সেস দেয়।
এখানে OpenID Connect ব্যবহার করা হয়েছে ব্যবহারকারীর Authentication নিশ্চিত করার জন্য, যা OAuth 2.0 এর উপরে তৈরি।
OAuth 2.0 এবং OpenID Connect এর মধ্যে পার্থক্য
- OAuth 2.0 মূলত Authorization প্রোটোকল, যার মাধ্যমে অ্যাপ্লিকেশনগুলি ব্যবহারকারীর তথ্য অ্যাক্সেস করতে পারে। এটি ব্যবহারকারীর পাসওয়ার্ড সরবরাহ করার পরিবর্তে অ্যাক্সেস টোকেন ব্যবহার করে।
- OpenID Connect (OIDC) হল OAuth 2.0 এর উপরে তৈরি একটি Authentication প্রোটোকল, যা ব্যবহারকারীর পরিচয় যাচাই করার জন্য ব্যবহৃত হয়। OIDC মূলত OAuth 2.0 এর ID Token-কে ব্যবহার করে।
সারাংশ
- OAuth 2.0 সাধারণত Authorization এবং Third-party API অ্যাক্সেস ব্যবস্থাপনার জন্য ব্যবহৃত হয়।
- OpenID Connect ব্যবহারকারীর Authentication নিশ্চিত করার জন্য OAuth 2.0 এর উপর ভিত্তি করে তৈরি।
- OAuth 2.0 এবং OpenID Connect ব্যবহারকারীর তথ্যের সুরক্ষা নিশ্চিত করার জন্য বিশ্বব্যাপী জনপ্রিয় এবং কার্যকরী প্রোটোকল।
Read more