আমি নিশ্চিত, আপনার সাথেও এমনটা ঘটেছে: আপনি কোনো ওয়েবসাইটে গিয়ে নিবন্ধন করতে চান, কিন্তু সেখানে গিয়ে দেখেন একটি অন্তহীন ফর্ম, যেখানে আপনার পোষা প্রাণীর নামসহ সবকিছু জানতে চাওয়া হচ্ছে। শেষ পর্যন্ত, আমাদের বেশিরভাগই হাল ছেড়ে দিয়ে ট্যাবটি বন্ধ করে দিই । এই সমস্যা সমাধানের জন্য গুগল ‘ওয়ান ট্যাপ’ চালু করেছে, যা নিবন্ধন প্রক্রিয়াকে প্রায় তাৎক্ষণিক করার জন্য ডিজাইন করা একটি টুল এবং এটি ব্যবহারকারী ও তার বিষয়বস্তুর মধ্যেকার সমস্ত বাধা দূর করে।
মূলত, এটি একটি মোডাল উইন্ডো যা স্ক্রিনে মসৃণভাবে ভেসে ওঠে এবং আপনাকে একটি মাত্র ট্যাপে অ্যাপটিতে প্রবেশ করতে দেয় । আপনার ইমেল বা পাসওয়ার্ড টাইপ করার কোনো প্রয়োজন নেই, কারণ সিস্টেমটি আপনার ব্রাউজারে আগে থেকেই খোলা থাকা গুগল সেশনটি ব্যবহার করে। কনভার্সন বাড়ানোর জন্য এটি একটি অসাধারণ কৌশল, কারণ এটি ব্যবহারকারীর অসুবিধা কমিয়ে দেয় এবং অত্যন্ত নির্বিঘ্ন ও আধুনিক একটি ইউজার এক্সপেরিয়েন্স প্রদান করে।
ওয়ান ট্যাপের জাদু যেভাবে কাজ করে
ক্লাসিক 'সাইন ইন উইথ গুগল' বাটনের মতো নয়, ওয়ান ট্যাপ একটি সক্রিয় ব্যবস্থা। সিস্টেমটি সিকিউরিটি টোকেন এবং অ্যান্ড্রয়েডের অটোফিল বা স্মার্ট লক ফিচারের উপর ভিত্তি করে ব্যবহারকারীর কাছে তার অ্যাকাউন্টের জন্য অনুরোধ করে। যদি ব্যবহারকারী এই পাসওয়ার্ড ম্যানেজমেন্ট ফাংশনগুলো কনফিগার না করে থাকেন, তবে সিস্টেমটি সক্রিয় নাও হতে পারে এবং সেক্ষেত্রে তাকে প্রচলিত পদ্ধতি ব্যবহার করতে হতে পারে। নিরাপত্তার দিক থেকে, সবকিছু পাসওয়ার্ডবিহীন টোকেনের উপর ভিত্তি করে কাজ করে , যার অর্থ হলো নেটওয়ার্কের মাধ্যমে পাসওয়ার্ড পাঠানোর চেয়ে ডেটা আদান-প্রদান অনেক বেশি সুরক্ষিত।
আপনার প্রোজেক্টে ওয়ান ট্যাপ ইন্টিগ্রেট করার ধাপসমূহ
আপনি যদি আপনার ওয়েবসাইটে এটি প্রয়োগ করতে চান, তবে একটি যৌক্তিক ক্রম অনুসরণ করলে প্রক্রিয়াটি বেশ সহজ। প্রথম ধাপ হলো গুগল সার্চ কনসোল প্রস্তুত করা।
১. গুগল ক্লাউড কনসোলে কনফিগারেশন
রাজ্যের চাবি ছাড়া আপনি কিছুই করতে পারবেন না। আপনাকে গুগল ক্লাউডে গিয়ে একটি নতুন প্রজেক্ট তৈরি করতে হবে । সেখানে গিয়ে, আপনাকে OAuth কনসেন্ট স্ক্রিনটি কনফিগার করতে হবে, যেখানে আপনি আপনার অ্যাপের নাম এবং সাপোর্ট ইমেল লিখবেন। একটি গুরুত্বপূর্ণ বিষয় হলো অডিয়েন্স নির্বাচন করা: আপনার কোম্পানির জন্য ইন্টারনাল অথবা সবার জন্য এক্সটারনাল। আপনি যদি এক্সটারনাল নির্বাচন করেন, তবে মনে রাখবেন যে প্রোডাকশনে ডেপ্লয় করার আগে গুগল আপনাকে অ্যাপ্লিকেশনটি ভেরিফাই করতে বলবে ।
এরপরে, আপনাকে OAuth ক্লায়েন্ট আইডি তৈরি করতে হবে । এখানেই আপনি নির্ধারণ করেন কোন ডোমেইনগুলো অনুমোদিত হবে। একটি গুরুত্বপূর্ণ পরামর্শ হলো দুটি আলাদা ক্লায়েন্ট তৈরি করা: একটি লোকালহোস্টে পরীক্ষার জন্য এবং অন্যটি আসল প্রোডাকশন ডোমেইনের জন্য। এটি আপনাকে ডেভেলপমেন্টের সময় নিরাপত্তা সংক্রান্ত দ্বন্দ্ব এড়াতে সাহায্য করে।
২. ফ্রন্টএন্ড বাস্তবায়ন
আপনার পৃষ্ঠাটি কীভাবে তৈরি করা হয়েছে তার উপর নির্ভর করে দুটি পথ রয়েছে:
- স্ট্যাটিক এইচটিএমএল এর মাধ্যমে: সাধারণ ওয়েবসাইট বা শক্তিশালী ক্যাশিংযুক্ত ওয়েবসাইটগুলির জন্য আদর্শ। আপনাকে শুধু একটি সন্নিবেশ করতে হবে
divআইডি সহg_id_onloadআপনার ক্লায়েন্ট আইডি এবং গন্তব্য ইউআরএলটি প্রদান করুন, যেখানে গুগল একটি POST অনুরোধের মাধ্যমে ক্রেডেনশিয়ালটি পাঠাবে। - ডাইনামিক জাভাস্ক্রিপ্টের মাধ্যমে: যারা আরও বেশি নিয়ন্ত্রণ চান, তারা এই পদ্ধতিটি ব্যবহার করতে পারেন।
google.accounts.id.initializeএবং তারপরে আপনি প্রম্পটটি চালু করেনgoogle.accounts.id.prompt()এটি আপনাকে, উদাহরণস্বরূপ, বার্তাটি কখন দেখানো হবে তা নির্ধারণ করুন ব্যবহারকারী বেশ কয়েকদিন পর ফিরে এসেছেন কিনা, তার উপর ভিত্তি করে।
একটি গুরুত্বপূর্ণ বিষয় হলো, আপনার ওয়েবসাইটের অন্য কোনো উপাদান (যেমন ব্যানার বা পপ-আপ) দিয়ে ‘ওয়ান ট্যাপ’ বার্তাটি অবশ্যই ঢাকা যাবে না । যদি সিস্টেম শনাক্ত করে যে আপনি গুগল আইফ্রেমের একটি পিক্সেলও আড়াল করছেন, তাহলে ইউএক্স নির্দেশিকা লঙ্ঘনের জন্য আপনার প্রজেক্টটি স্থগিত হয়ে যেতে পারে ।
৩. ব্যাকএন্ড যাচাইকরণ (অত্যন্ত গুরুত্বপূর্ণ ধাপ)
ব্যবহারকারী ক্লিক করলে গুগল একটি JWT (JSON ওয়েব টোকেন) পাঠায়। কখনো অন্ধভাবে বিশ্বাস করা উচিত নয়। এই টোকেনটি শুধুমাত্র আপনার সার্ভারে আসার কারণেই বৈধ। গুগলের অফিসিয়াল লাইব্রেরি (যেমন) ব্যবহার করে এটি যাচাই করা বাধ্যতামূলক। google-auth পাইথনে অথবা পিএইচপি/লারাভেলে গুগল ক্লায়েন্ট এপিআই)।
এই প্রক্রিয়ার মধ্যে JWT ডিকোড করা এবং ফিল্ডটি যাচাই করা অন্তর্ভুক্ত। aud (শ্রোতাদের) আপনার সাথে হুবহু মিলবে OAuth ক্লায়েন্ট আইডিতদুপরি, জালিয়াতির আক্রমণ প্রতিরোধ করার জন্য, একটি বাস্তবায়ন করা অপরিহার্য। CSRF টোকেন যাচাইকরণ POST অনুরোধে পাঠানো মানের সাথে ব্রাউজার কুকি তুলনা করে। যাচাই হয়ে গেলে, আপনি তাদের অ্যাকাউন্ট তৈরি করতে বা লগ ইন করাতে ইমেল এবং ইউজারনেম বের করে নিতে পারেন।
প্রম্পটের বিশেষ ক্ষেত্র এবং আচরণ
ওয়ান ট্যাপ সবসময় দেখা যায় না, এবং এটি স্বাভাবিক। এখানে তথাকথিত " নির্দেশনার মুহূর্ত " থাকে। উদাহরণস্বরূপ, যদি ব্যবহারকারী সম্প্রতি এটি নিজে থেকে বন্ধ করে দেন, তাহলে প্রম্পটটি এড়িয়ে যাওয়া হতে পারে , যা একটি নির্দিষ্ট সময় পর্যন্ত নিষ্ক্রিয় থাকার প্রক্রিয়া শুরু করে। পরীক্ষার সময় এটি রিসেট করতে, আপনি আপনার ব্রাউজারের সাইট সেটিংসে গিয়ে অনুমতিগুলো রিসেট করতে পারেন ।
আপনি প্রসঙ্গটিও কাস্টমাইজ করতে পারেন। যদি আপনি অ্যাট্রিবিউট ব্যবহার করেন data-context="signup"লেখাটি 'Access...' থেকে পরিবর্তিত হবে এখানে নিবন্ধন করুন…যা ব্যবহারকারী আপনার প্ল্যাটফর্মে নতুন হলে আরও বেশি যুক্তিযুক্ত হয়।
Logto-এর মতো টুলগুলির সাথে উন্নত ইন্টিগ্রেশন
আপনি যদি সম্পূর্ণ আইডেন্টিটি সার্ভারটি ম্যানুয়ালি পরিচালনা করতে না চান, তাহলে Logto-এর মতো সমাধানগুলো এই প্রক্রিয়াটিকে সহজ করে দেয়। এই টুলগুলো আপনাকে একটি আইডেন্টিটি প্রোভাইডার (IdP) হিসেবে গুগলকে দৃশ্যত সংযুক্ত করার সুযোগ দেয়। এর জন্য শুধু তাদের কনসোলে ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট পেস্ট করে ওয়ান ট্যাপ সুইচটি টগল করতে হয়। এটি বিশেষ করে নেটিভ অ্যান্ড্রয়েড অ্যাপের ক্ষেত্রে খুবই উপযোগী, যেখানে আপনি নির্বিঘ্ন অথেনটিকেশনের জন্য ক্রোম কাস্টম ট্যাবের অভিজ্ঞতার সাথে ওয়ান ট্যাপ ফ্লো-কে একত্রিত করতে পারেন।
এটা মনে রাখা গুরুত্বপূর্ণ যে, ওয়ান ট্যাপ তার নকশা অনুযায়ী শুধুমাত্র একটি আইডি টোকেন ফেরত দেয় । যদি আপনার অ্যাপ্লিকেশনের বাহ্যিক গুগল এপিআই (যেমন গুগল ড্রাইভ বা ক্যালেন্ডার) অ্যাক্সেস করার প্রয়োজন হয়, তবে আপনি সরাসরি ওয়ান ট্যাপ থেকে অ্যাক্সেস টোকেনটি পেতে পারবেন না। সেক্ষেত্রে, ব্যবহারকারী লগ ইন করার পর আপনাকে একটি পর্যায়ক্রমিক অনুমোদন প্রক্রিয়া শুরু করতে হবে এবং প্রয়োজনীয় নির্দিষ্ট অনুমতিগুলোর (স্কোপ) জন্য অনুরোধ করতে হবে।
এই প্রমাণীকরণ ব্যবস্থাটি JWT ব্যবহার করে ব্যবহারকারীর পরিচয় যাচাই করার জন্য গুগলের বিশ্বস্ত পরিকাঠামোকে কাজে লাগিয়ে ক্লান্তিকর রেজিস্ট্রেশনকে কার্যত একটি নির্বিঘ্ন প্রক্রিয়ায় রূপান্তরিত করে। ক্লাউড-ভিত্তিক ক্রেডেনশিয়াল সেটআপ থেকে শুরু করে প্রম্পট স্টেট কন্ট্রোল এবং কঠোর সার্ভার-সাইড টোকেন যাচাইকরণ পর্যন্ত, ওয়ান ট্যাপ বাস্তবায়ন ডেভেলপারদের প্রবেশে বাধা দূর করতে এবং তাদের ওয়েবসাইটের কনভার্সন রেট উল্লেখযোগ্যভাবে বাড়াতে সাহায্য করে। এই তথ্যটি শেয়ার করুন যাতে অন্যরাও এটি সম্পর্কে জানতে পারে ।