Google Workspace-এ 3-legged OAuth

প্রতি আবেদনে একবার
১. ব্যবহারকারী ওয়েব অ্যাপ্লিকেশনটি অ্যাক্সেস করতে চান।
২. ওয়েব অ্যাপ্লিকেশনটি ব্যবহারকারীকে একটি গুগল পেজে রিডাইরেক্ট করে, যেখানে অ্যাপ্লিকেশনটিতে অ্যাক্সেস দেওয়ার জন্য অনুরোধ করা হয়।
৩. ব্যবহারকারী গুগলকে জানান যে তিনি ওয়েব অ্যাপ্লিকেশনটিকে তার গুগল ওয়ার্কস্পেস ডেটা (যেমন কন্টাক্ট বা গুগল ক্যালেন্ডার ইভেন্ট) অ্যাক্সেস করার অনুমতি দিচ্ছেন।
৪. গুগল ওয়েব অ্যাপ্লিকেশনকে একটি অনুমোদন কোড পাঠায়।
৫. ওয়েব অ্যাপটি গুগল-এর কাছে অনুমোদন কোড এবং ক্লায়েন্টের পরিচয়পত্র পাঠায় এবং একটি নতুন টোকেন গ্রহণ করে।
৬. ইস্যু করা টোকেনের মাধ্যমে গুগল রেকর্ড করে যে এই ওয়েব অ্যাপটির অ্যাক্সেস রয়েছে। অ্যাডমিন বা ব্যবহারকারী পরবর্তীতে এই টোকেনটি বাতিল করতে পারেন। এছাড়াও, যখন ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করা হয়, তখন এই টোকেনটি স্বয়ংক্রিয়ভাবে বাতিল হয়ে যাবে।

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

২-লেগড OAuth

এককালীন সেট আপ
১. অ্যাডমিন ওয়েব অ্যাপ্লিকেশন ইনস্টল করে এবং এটিকে টু-লেগড ওএথ (2-legged OAth) অ্যাক্সেস দেয়। এর মাধ্যমে নির্ধারিত হয় যে, ওয়েব অ্যাপটি ওই ডোমেইনের জন্য ব্যবহারকারীর কোন ডেটা (যেমন কন্ট্যাক্ট বা গুগল ক্যালেন্ডার ইভেন্ট) অ্যাক্সেস করতে পারবে।
২. ওয়েব অ্যাপ্লিকেশনটি গুগলের কাছে প্রমাণীকরণ করে এবং গুগল থেকে একটি অ্যাক্সেস টোকেন পায়।

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