Open Authorization কি? এবং এটি যেভাবে কাজ করে

Open Authorization কি:

আপনি যদি ভার্চুয়াল দুনিয়ায় “Sign in with Google” এরকম কোন বাটন দেখে থাকেন এবং একবার হলেও তাতে ক্লিক করে থাকেন তবে আপনিও Open Authorization (OAuth) সার্ভিসের একজন ব্যবহারকারী হয়ে গেছেন।

সহজ এবং দ্রুততার জন্য বর্তমানে অনেক সাইটেই এর ব্যবহার দেখা যাচ্ছে। যা খুব দ্রুত বাড়ছে। হয়তো লক্ষ করে দেখেছেন বড় বড় সাইটের পাশাপাশি ছোট পরিসরের ওয়েবসাইটগুলোতে আলাদা একাউন্ট না খুলেই গুগল, ফেসবুক, ইয়াহু, মাইক্রোসফট একাউন্ট দিয়েই লগিন করা যায়। OAuth এর কাজ মুলত আপনাকে কোন ওয়েবসাইটে লগিন করার ক্ষেত্রে অন্য একটি সাইটের একাউন্টের তথ্য ব্যবহার করে লগিন করার সুবিধা দেয়া, তাও আবার কোন ধরনের পাসোয়ার্ড ছাড়াই।

মুলত দুটি কারনে OAuth লগিন পদ্ধতিটি খুব জনপ্রিয়তা পেয়েছে। প্রথমত এটি কোন ওয়েব সাইটে একাউন্ট খোলা এবং লগিন করার ঝামেলা থেকে মুক্ত করে দেয়। এবং সর্বাধিক নিরাপত্তা নিশ্চিত করে পুরো প্রক্রিয়াটি সম্পন্ন করে সাইটটি ব্যবহার উপযোগী করতে মাত্র কয়েক সেকেন্ড সময় লাগে। তাছাড়া এতে ইমেইল-পাসোয়ার্ড টাইপ করার কোন ঝামেলা নাই।

এক্ষেত্রে আপনার ফেসবুক আইডিটি ব্রাউজারে লগিন করা থাকলেই হবে। এবং পুরো প্রক্রিয়াটি সম্পুর্ন নিরাপদ। পাসোয়ার্ড চুরি হবার কোন ভয় নেই (অপরিচিত এবং অবিশ্বস্ত সাইটের ক্ষেত্রে ভিন্যতা হতে পারে।)

উদাহরণঃ

যেমন ধরি, alibaba.com -এ আমি কেনাকাটা করতে চাই। আমরা জানি এখানে কেনাকাটা করতে হলে এই সাইটে আগে একটি একাউন্ট খোলার প্রয়োজন হয়। কিন্তু এখানে OAuth এর ব্যাবস্থা থাকায় আমি চাইলে নাম, ইমেইল, দুই-দুইবার পাসোয়ার্ড টাইপ করে একাউন্ট খোলার পরিবর্তে “Sign In With Facebook” বাটনটা ব্যবহার করে সেকেন্ডেই লগিন করে ফেলতে পারি।

 

এই সাইটের জন্য কোন আলাদা ইমেইল/পাসোয়ার্ড মনে রাখার ঝামেলা নাই। মজার না পদ্ধতি টা??

 

 

# আবার ধরি, জনপ্রিয় ক্লাউড স্টোরেজ ওয়েবসাইট Dropbox ব্যবহার করতে চাই। গতানুগতিক পদ্ধতিতে তার জন্য অবশ্যই আমাকে ফুল নেম, ইমেল, পাসওয়ার্ড লিখতে হবে, তারপর মেইলের ইনবক্সে গিয়ে ভেরিফিকেশন করতে করতে হবে। তাছাড়া গতানুগতিক পদ্ধতিতে পরবর্তীতে আবার ড্রুপবক্সে লগিন করার সময় কোন পাসওয়ার্ড এবং কোন মেইল দিয়ে রেজিস্ট্রেশন করেছিলাম তা মনে রাখতে হবে (কারন আমাদের প্রত্যেকেরই ইমেইল একাউন্টের সংখা একাধিক)

কিন্তু ড্রুপবক্সে OAuth সাপোর্ট করার কারনে শুধুমাত্র আমার জিমেইল একাউন্টটিকেই একটি ড্রুপবক্স একাউন্ট হিসেবে ব্যবহার করতে পারি, ইমেইল-পাসওয়ার্ড টাইপ করার ঝামেলা না করেই।

এভাবে যেসব সাইটে OAuth সাপোর্ট করে সবগুলোতে একটি জিমেইল অথবা ফেসবুক একাউন্ট ব্যবহার করেই ব্যবহার করতে পারি। অর্থাৎ একটি সাইটের একাউন্টই আমার ব্যবহার করা সবগুলো সাইটের একাউন্ট হিসেবে কাজ করছে। এখন মোটামুটি প্রায় সব বড় বড় ওয়েবসাইটেই এই সুবিধা দেয়। 

OAuth কিভাবে কাজ করেঃ

আপনি যখন "Sign with Facebook" বাটনে ক্লিক করেন তখন এটি প্রথমবার একটি পপ-আপ উইন্ডোর মাধ্যমে আপনার ফেসবুক একাউন্ট থেকে আপনার নাম, ইমেইল এড্রেস, ইত্যাদি তথ্য সংগ্রহ করার জন্য অনুমতি চায় (ফেসবুক/গুগল/বিশ্বস্ত সাইটগুলো কখনোই আপনার স্পর্শকাতর তথ্য যেমন পাসওয়ার্ড দিবে না। তাই ভয় নাই) আনুমতি দেয়ার পর উক্ত ওয়েবসাইট আপনার ফেসবুক থেকে নেয়া নাম,ইমেইল দিয়ে স্বয়ংক্রিয়ভাবে একটি একাউন্ট তরি করে।

পরবর্তিতে যখন আবার সেই সাইটে লগিন করতে যাবেন তখন এটি প্রথমেই দেখবে এই পরিচয়ে ইতোমদ্ধে একটি একাউন্ট আছে এবং সেটা একই ফেসবুক আইডির মাধ্যমেই অথেন্টিকেশন করা আছে। তাই নতুন একাউন্ট না খুলে আগের একাউন্টে সে তখন এক্সেস দিয়ে দিবে। এতে কোন পাসওয়ার্ড দেয়া লাগবে না। ফেসবুক একাউন্টটাই একটা পাসোয়ার্ড হসেবে কাজ করবে।

এই অথেন্টিকেশন পদ্ধতিটা প্রচলিত পাসওয়ার্ড দেয়ার পদ্ধতি থেকে একেবারেই ভিন্ন। এখানে OAuth সার্ভিসটা কখনোই আপনার ফেসবুকের পাসওয়ার্ড জানবে না। কিন্তু  প্রশ্ন হতে পারে- তাহলে কিভাবে সে একাউন্টের তথ্য পায়?

সার্ভিসটি প্রথমে ফেসবুককে রিকোয়েস্ট করে আপনার নাম, ইমেইল এবং অন্যান্য প্রয়োজনীয় তথ্য দেখার জন্য। তখন ফেসবুক তাকে কতগুলো নম্বর দিয়ে তৈরি একটি এক্সেস টোকেন দেয়। এই টোকেনের বিশেষত্ত হচ্ছে এই টোকেনটি মাত্র একবারই ব্যবহার করা হয়।

প্রথমবার যখন ড্রুপবক্স আপনার নাম আর ইমেইল সংগ্রহ করে ফেলছে তার পরই এই টোকেনের প্রয়োজন শেষ হয়ে গেছে। তাছারা এক্ষেত্রে OAuth শুধুমাত্র আপনার বেসিক কিছু তথ্য যেমন নাম,এমেইল,জন্ম তারিখ, এধরনে তথ্য ছাড়া আর কিছু দেখার পারমিশন পায় না। এক্সেস টোকেন OAuth কে একাউন্টের সেসব তথ্য দেখার পরমিশন দিবে সেগুলো ব্যাতিত আর কিছুই দেখার পারমিশন পাবে না।

পুর্বে এখানে https://asmtanvir.blogspot.com/ প্রকাশিত ব্লগটি কেমন হয়েছে জানাবেন। নতুন শুরু করেছি। তাই সকলের পরামর্শ চাই

ফেসবুকে আমি

Level 2

আমি তাল মিয়া। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 13 বছর 5 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 11 টি টিউন ও 74 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 1 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস