Google HTML API রেফারেন্স দিয়ে সাইন ইন করুন

এই রেফারেন্স পৃষ্ঠাটি সাইন ইন উইথ গুগল HTML ডেটা অ্যাট্রিবিউটস API বর্ণনা করে, যা ওয়েব পৃষ্ঠাগুলিতে সাইন ইন উইথ গুগল বোতাম বা ওয়ান ট্যাপ প্রম্পট প্রদর্শন করতে ব্যবহৃত হয়।

"g_id_onload" আইডি সহ এলিমেন্ট

আপনি <div> এবং <span> এর মতো যেকোনো দৃশ্যমান বা অদৃশ্য উপাদানে Sign In With Google ডেটা অ্যাট্রিবিউট রাখতে পারেন। একমাত্র শর্ত হল উপাদান আইডিটি g_id_onload এ সেট করা। এই আইডিটি একাধিক উপাদানে রাখবেন না।

ডেটা অ্যাট্রিবিউট

নিম্নলিখিত টেবিলে ডেটা বৈশিষ্ট্যগুলি তাদের বর্ণনা সহ তালিকাভুক্ত করা হয়েছে:

বৈশিষ্ট্য
data-client_id আপনার অ্যাপ্লিকেশনের ক্লায়েন্ট আইডি
data-color_scheme ওয়ান ট্যাপ প্রম্পটে রঙের স্কিম প্রয়োগ করা হয়েছে।
data-auto_prompt Google One tap দেখান।
data-auto_select Google One Tap-এ স্বয়ংক্রিয় নির্বাচন সক্ষম করে।
data-login_uri আপনার লগইন এন্ডপয়েন্টের URL
data-callback জাভাস্ক্রিপ্ট আইডি টোকেন হ্যান্ডলার ফাংশনের নাম
data-native_login_uri আপনার পাসওয়ার্ড ক্রেডেনশিয়াল হ্যান্ডলার এন্ডপয়েন্টের URL
data-native_callback জাভাস্ক্রিপ্ট পাসওয়ার্ড ক্রেডেনশিয়াল হ্যান্ডলার ফাংশনের নাম
data-native_id_param credential.id মানের প্যারামিটারের নাম
data-native_password_param credential.password মানের জন্য প্যারামিটারের নাম
data-cancel_on_tap_outside ব্যবহারকারী প্রম্পটের বাইরে ক্লিক করলে প্রম্পট বাতিল করা হবে কিনা তা নিয়ন্ত্রণ করে।
data-prompt_parent_id ওয়ান ট্যাপ প্রম্পট কন্টেইনার এলিমেন্টের DOM আইডি
data-skip_prompt_cookie নির্দিষ্ট কুকির একটি খালি না থাকা মান থাকলে ওয়ান ট্যাপ এড়িয়ে যায়।
data-nonce আইডি টোকেনের জন্য একটি এলোমেলো স্ট্রিং
data-context ওয়ান ট্যাপ প্রম্পটে শিরোনাম এবং শব্দগুলি
data-moment_callback প্রম্পট UI স্ট্যাটাস নোটিফিকেশন লিসেনারের ফাংশনের নাম
data-state_cookie_domain যদি আপনার প্যারেন্ট ডোমেন এবং এর সাবডোমেনগুলিতে One Tap কল করার প্রয়োজন হয়, তাহলে প্যারেন্ট ডোমেনটিকে এই অ্যাট্রিবিউটে পাস করুন যাতে একটি একক শেয়ার করা কুকি ব্যবহার করা যায়।
data-ux_mode গুগলের মাধ্যমে সাইন ইন করার বোতাম UX প্রবাহ
data-allowed_parent_origin মধ্যবর্তী আইফ্রেম এম্বেড করার জন্য অনুমোদিত অরিজিন। এই বৈশিষ্ট্যটি উপস্থিত থাকলে ওয়ান ট্যাপ মধ্যবর্তী আইফ্রেম মোডে চলে।
data-intermediate_iframe_close_callback ব্যবহারকারীরা ম্যানুয়ালি ওয়ান ট্যাপ বন্ধ করলে ডিফল্ট ইন্টারমিডিয়েট আইফ্রেম আচরণকে ওভাররাইড করে।
data-itp_support ITP ব্রাউজারগুলিতে আপগ্রেড করা One Tap UX সক্ষম করে।
data-login_hint ব্যবহারকারীর ইঙ্গিত প্রদান করে অ্যাকাউন্ট নির্বাচন এড়িয়ে যান।
data-hd ডোমেন অনুসারে অ্যাকাউন্ট নির্বাচন সীমিত করুন।
data-use_fedcm_for_prompt ব্রাউজারটিকে ব্যবহারকারীর সাইন-ইন প্রম্পট নিয়ন্ত্রণ করতে এবং আপনার ওয়েবসাইট এবং Google এর মধ্যে সাইন-ইন প্রবাহের মধ্যস্থতা করার অনুমতি দিন।
data-use_fedcm_for_button এই ক্ষেত্রটি নির্ধারণ করে যে Chrome (ডেস্কটপ M125+ এবং Android M128+) এ FedCM বোতাম UX ব্যবহার করা উচিত কিনা। ডিফল্টভাবে false থাকে।
data-button_auto_select FedCM বোতাম প্রবাহের জন্য স্বয়ংক্রিয় নির্বাচন বিকল্পটি সক্ষম করা হবে কিনা। যদি সক্ষম করা থাকে, তাহলে সক্রিয় Google সেশন সহ ফিরে আসা ব্যবহারকারীরা অ্যাকাউন্ট চয়নকারী প্রম্পটকে বাইপাস করে স্বয়ংক্রিয়ভাবে সাইন ইন করবেন। ডিফল্ট মান হল false

বৈশিষ্ট্যের ধরণ

নিম্নলিখিত বিভাগগুলিতে প্রতিটি বৈশিষ্ট্যের ধরণ এবং একটি উদাহরণ সম্পর্কে বিশদ বিবরণ রয়েছে।

ডেটা-ক্লায়েন্ট_আইডি

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

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং হাঁ data-client_id="CLIENT_ID.apps.googleusercontent.com"

ডেটা-রঙ_স্কিম

এই ক্ষেত্রটি হল ওয়ান ট্যাপ প্রম্পটে প্রয়োগ করা রঙের স্কিম। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক। ব্যবহারকারীদের সিস্টেমের ডিফল্ট রঙের স্কিমে ডিফল্ট। data-color_scheme="dark"

নিম্নলিখিত সারণীতে উপলব্ধ রঙের স্কিম এবং তাদের বর্ণনা তালিকাভুক্ত করা হয়েছে।

রঙের স্কিম
default ব্যবহারকারীর পছন্দের উপর নির্ভর করে ব্যবহারকারীর সিস্টেমের ডিফল্ট রঙের স্কিম প্রয়োগ করুন, স্কিমটি হয় হালকা বা গাঢ়।
light হালকা রঙের স্কিম প্রয়োগ করুন।
dark একটি গাঢ় রঙের স্কিম প্রয়োগ করুন।

ডেটা-অটো_প্রম্পট

এই বৈশিষ্ট্যটি নির্ধারণ করে যে One tap প্রদর্শন করা হবে কিনা। ডিফল্ট মান হল true । এই মানটি false হলে Google One tap প্রদর্শিত হয় না। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
বুলিয়ান ঐচ্ছিক data-auto_prompt="true"

ডেটা-অটো_সিলেক্ট

এই বৈশিষ্ট্যটি নির্ধারণ করে যে শুধুমাত্র একটি Google সেশন আপনার অ্যাপ অনুমোদন করলে, কোনও ব্যবহারকারীর ইন্টারঅ্যাকশন ছাড়াই স্বয়ংক্রিয়ভাবে একটি ID টোকেন ফেরত দেওয়া হবে কিনা। ডিফল্ট মান হল false । আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
বুলিয়ান ঐচ্ছিক data-auto_select="true"

ডেটা-লগইন_ইউরি

এই বৈশিষ্ট্যটি হল আপনার লগইন এন্ডপয়েন্টের URI।

মানটি অবশ্যই OAuth 2.0 ক্লায়েন্টের জন্য অনুমোদিত রিডাইরেক্ট URI-এর সাথে হুবহু মিলতে হবে, যা আপনি Google Auth প্ল্যাটফর্মে কনফিগার করেছেন এবং আমাদের রিডাইরেক্ট URI যাচাইকরণ নিয়ম মেনে চলতে হবে।

যদি বর্তমান পৃষ্ঠাটি আপনার লগইন পৃষ্ঠা হয় তবে এই বৈশিষ্ট্যটি বাদ দেওয়া হতে পারে, এই ক্ষেত্রে শংসাপত্রটি ডিফল্টরূপে এই পৃষ্ঠায় পোস্ট করা হয়।

যখন কোনও কলব্যাক ফাংশন সংজ্ঞায়িত না থাকে এবং ব্যবহারকারী "সাইন ইন উইথ গুগল" বা "ওয়ান ট্যাপ" বোতামে ক্লিক করেন, অথবা স্বয়ংক্রিয়ভাবে সাইন ইন হয়, তখন আইডি টোকেন শংসাপত্রের প্রতিক্রিয়া আপনার লগইন এন্ডপয়েন্টে পোস্ট করা হয়।

আপনার লগইন এন্ডপয়েন্টকে অবশ্যই POST অনুরোধগুলি পরিচালনা করতে হবে যাতে একটি credential প্যারামিটার থাকে যার বডিতে একটি ID টোকেন মান থাকে।

আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ ঐচ্ছিক উদাহরণ
URL টি বর্তমান পৃষ্ঠার URI, অথবা আপনার নির্দিষ্ট করা মান ডিফল্ট।
data-ux_mode="popup" এবং data-callback সেট করা থাকলে উপেক্ষা করা হয়।
data-login_uri="https://www.example.com/login"

ডেটা-কলব্যাক

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

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং data-login_uri সেট না থাকলে প্রয়োজন। data-callback="handleToken"

data-login_uri এবং data-callback বৈশিষ্ট্যগুলির মধ্যে একটি ব্যবহার করা যেতে পারে। এটি নিম্নলিখিত উপাদান এবং UX মোড কনফিগারেশনের উপর নির্ভর করে:

  • Sign In With Google বোতাম redirect UX মোডের জন্য data-login_uri অ্যাট্রিবিউটটি প্রয়োজন, যা data-callback অ্যাট্রিবিউটটিকে উপেক্ষা করে।

  • এই দুটি বৈশিষ্ট্যের মধ্যে একটি Google One Tap এবং Google সাইন-ইন বোতাম popup UX মোডের জন্য সেট করতে হবে। যদি উভয়ই সেট করা থাকে, তাহলে data-callback বৈশিষ্ট্যের অগ্রাধিকার বেশি থাকবে।

একটি নেমস্পেসের মধ্যে থাকা জাভাস্ক্রিপ্ট ফাংশনগুলি HTML API দ্বারা সমর্থিত নয়। পরিবর্তে, একটি নেমস্পেস ছাড়াই একটি গ্লোবাল জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করুন। উদাহরণস্বরূপ, mylib.callback এর পরিবর্তে mylibCallback ব্যবহার করুন।

ডেটা-নেটিভ_লগইন_ইউরি

এই অ্যাট্রিবিউটটি হল আপনার পাসওয়ার্ড ক্রেডেনশিয়াল হ্যান্ডলার এন্ডপয়েন্টের URL। আপনি যদি data-native_login_uri অ্যাট্রিবিউট অথবা data-native_callback অ্যাট্রিবিউট সেট করেন, তাহলে Google সেশন না থাকলে জাভাস্ক্রিপ্ট লাইব্রেরি বিল্ট-ইন ক্রেডেনশিয়াল ম্যানেজারে ফিরে যাবে। আপনি data-native_callback এবং data-native_login_uri অ্যাট্রিবিউট উভয়ই সেট করতে পারবেন না। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-login_uri="https://www.example.com/password_login"

ডেটা-নেটিভ_কলব্যাক

এই অ্যাট্রিবিউটটি হল জাভাস্ক্রিপ্ট ফাংশনের নাম যা ব্রাউজারের বিল্ট-ইন ক্রেডেনশিয়াল ম্যানেজার থেকে ফিরে আসা পাসওয়ার্ড ক্রেডেনশিয়াল পরিচালনা করে। আপনি যদি data-native_login_uri অ্যাট্রিবিউট অথবা data-native_callback অ্যাট্রিবিউট সেট করেন, তাহলে Google সেশন না থাকলে জাভাস্ক্রিপ্ট লাইব্রেরি বিল্ট-ইন ক্রেডেনশিয়াল ম্যানেজারে ফিরে যাবে। আপনি data-native_callback এবং data-native_login_uri উভয়ই সেট করতে পারবেন না। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-native_callback="handlePasswordCredential"

একটি নেমস্পেসের মধ্যে থাকা জাভাস্ক্রিপ্ট ফাংশনগুলি HTML API দ্বারা সমর্থিত নয়। পরিবর্তে, একটি নেমস্পেস ছাড়াই একটি গ্লোবাল জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করুন। উদাহরণস্বরূপ, mylib.callback এর পরিবর্তে mylibCallback ব্যবহার করুন।

ডেটা-নেটিভ_আইডি_প্যারাম

যখন আপনি পাসওয়ার্ড ক্রেডেনশিয়াল হ্যান্ডলার এন্ডপয়েন্টে পাসওয়ার্ড ক্রেডেনশিয়াল জমা দেন, তখন আপনি credential.id ক্ষেত্রের জন্য প্যারামিটারের নাম নির্দিষ্ট করতে পারেন। ডিফল্ট নাম হল email । আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
URL টি ঐচ্ছিক data-native_id_param="user_id"

ডেটা-নেটিভ_পাসওয়ার্ড_প্যারাম

যখন আপনি পাসওয়ার্ড ক্রেডেনশিয়াল হ্যান্ডলার এন্ডপয়েন্টে পাসওয়ার্ড ক্রেডেনশিয়াল জমা দেন, তখন আপনি credential.password মানের জন্য প্যারামিটারের নাম নির্দিষ্ট করতে পারেন। ডিফল্ট নাম হল password । আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
URL টি ঐচ্ছিক data-native_password_param="pwd"

বাইরে_ট্যাপ_করে_ডেটা-বাতিল করুন

এই বৈশিষ্ট্যটি ব্যবহারকারী প্রম্পটের বাইরে ক্লিক করলে ওয়ান ট্যাপ অনুরোধ বাতিল করা হবে কিনা তা নির্ধারণ করে। ডিফল্ট মান হল true । এটি নিষ্ক্রিয় করতে, মানটিকে false এ সেট করুন। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
বুলিয়ান ঐচ্ছিক data-cancel_on_tap_outside="false"

ডেটা-প্রম্পট_প্যারেন্ট_আইডি

এই বৈশিষ্ট্যটি কন্টেইনার উপাদানের DOM ID সেট করে। যদি এটি সেট না করা থাকে, তাহলে উইন্ডোর উপরের ডানদিকে কোণায় One Tap প্রম্পট প্রদর্শিত হবে। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-prompt_parent_id="parent_id"

ওয়ান ট্যাপ প্রম্পটের প্রদর্শন নিয়ন্ত্রণ করতে একটি কুকি ব্যবহার করে। যদি এই বৈশিষ্ট্য দ্বারা নির্দিষ্ট কুকির একটি খালি মান না থাকে তবে প্রম্পটটি প্রদর্শিত হয় না। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-skip_prompt_cookie="SID"

তথ্য-ননস

এই বৈশিষ্ট্যটি একটি র‍্যান্ডম স্ট্রিং যা আইডি টোকেন দ্বারা রিপ্লে আক্রমণ প্রতিরোধ করার জন্য ব্যবহৃত হয়। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-nonce="biaqbm70g23"

নন্সের দৈর্ঘ্য আপনার পরিবেশ দ্বারা সমর্থিত সর্বোচ্চ JWT আকার এবং পৃথক ব্রাউজার এবং সার্ভার HTTP আকারের সীমাবদ্ধতার মধ্যে সীমাবদ্ধ।

তথ্য-প্রসঙ্গ

এই ক্ষেত্রটি ওয়ান ট্যাপ প্রম্পটে প্রদর্শিত শিরোনাম এবং বার্তাগুলির পাঠ্য পরিবর্তন করে, ITP ব্রাউজারগুলির জন্য কোনও প্রভাব ফেলে না। ডিফল্টভাবে signin

আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-context="use"

নিম্নলিখিত সারণীতে সমস্ত উপলব্ধ প্রসঙ্গ এবং তাদের বর্ণনা তালিকাভুক্ত করা হয়েছে:

প্রসঙ্গ
signin "সাইন ইন করুন"
signup "সাইন আপ করুন"
use "ব্যবহার"

ডেটা-মুহূর্ত_কলব্যাক

এই বৈশিষ্ট্যটি হল প্রম্পট UI স্ট্যাটাস নোটিফিকেশন লিসেনারের ফাংশন নাম। আরও তথ্যের জন্য, PromptMomentNotification ডেটা টাইপটি দেখুন।

আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-moment_callback="logMomentNotification"

একটি নেমস্পেসের মধ্যে থাকা জাভাস্ক্রিপ্ট ফাংশনগুলি HTML API দ্বারা সমর্থিত নয়। পরিবর্তে, একটি নেমস্পেস ছাড়াই একটি গ্লোবাল জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করুন। উদাহরণস্বরূপ, mylib.callback এর পরিবর্তে mylibCallback ব্যবহার করুন।

যদি আপনার কোনও প্যারেন্ট ডোমেন এবং এর সাবডোমেনগুলিতে ওয়ান ট্যাপ প্রদর্শনের প্রয়োজন হয়, তাহলে প্যারেন্ট ডোমেনটি এই বৈশিষ্ট্যে পাস করুন যাতে একটি একক শেয়ার্ড-স্টেট কুকি ব্যবহার করা হয়। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-state_cookie_domain="example.com"

ডেটা-ux_মোড

এই বৈশিষ্ট্যটি "সাইন ইন উইথ গুগল" বোতাম দ্বারা ব্যবহৃত UX প্রবাহ সেট করে। ডিফল্ট মান হল popup । এই বৈশিষ্ট্যটির One Tap UX-এর উপর কোনও প্রভাব নেই। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-ux_mode="redirect"

নিম্নলিখিত টেবিলে উপলব্ধ UX মোড এবং তাদের বর্ণনা তালিকাভুক্ত করা হয়েছে।

ইউএক্স মোড
popup একটি পপ-আপ উইন্ডোতে সাইন-ইন UX প্রবাহ সম্পাদন করে।
redirect পূর্ণ পৃষ্ঠা পুনঃনির্দেশের মাধ্যমে সাইন-ইন UX প্রবাহ সম্পাদন করে।

ডেটা-অনুমোদিত_পিতামাতার_উত্স

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

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং বা স্ট্রিং অ্যারে ঐচ্ছিক data-allowed_parent_origin="https://example.com"

নিম্নলিখিত সারণীতে সমর্থিত মানের ধরণ এবং তাদের বিবরণ তালিকাভুক্ত করা হয়েছে।

মূল্যের ধরণ
string একটি একক ডোমেন URI। "https://example.com"
string array কমা দ্বারা পৃথক করা ডোমেন URI-এর একটি তালিকা। "https://news.example.com,https://local.example.com"

যদি data-allowed_parent_origin অ্যাট্রিবিউটের মান অবৈধ হয়, তাহলে মধ্যবর্তী আইফ্রেম মোডের ওয়ান ট্যাপ ইনিশিয়ালাইজেশন ব্যর্থ হবে এবং বন্ধ হয়ে যাবে।

ওয়াইল্ডকার্ড প্রিফিক্সগুলিও সমর্থিত। উদাহরণস্বরূপ, "https://*.example.com" example.com এবং এর সাবডোমেনগুলির সাথে সকল স্তরের (যেমন news.example.com , login.news.example.com ) মিলিত হয়। ওয়াইল্ডকার্ড ব্যবহার করার সময় যে বিষয়গুলি মনে রাখতে হবে:

  • প্যাটার্ন স্ট্রিংগুলি কেবল একটি ওয়াইল্ডকার্ড এবং একটি শীর্ষ স্তরের ডোমেন দিয়ে তৈরি করা যাবে না। উদাহরণস্বরূপ https:// .com এবং https:// .co.uk অবৈধ কারণ "https:// .example.com" example.com এবং এর সমস্ত সাবডোমেনের সাথে মেলে। দুটি ভিন্ন ডোমেন উপস্থাপন করতে কমা দ্বারা পৃথক তালিকা ব্যবহার করুন। উদাহরণস্বরূপ, "https://example1.com,https:// .example2.com" example1.com , example2.com এবং example2.com এর সাবডোমেনের সাথে মেলে।
  • ওয়াইল্ডকার্ড ডোমেনগুলি অবশ্যই একটি নিরাপদ https:// স্কিম দিয়ে শুরু হতে হবে, তাই "*.example.com" অবৈধ বলে বিবেচিত হবে।

ডেটা-ইন্টারমিডিয়েট_আইফ্রেম_ক্লোজ_কলব্যাক

ব্যবহারকারীরা যখন One Tap UI-তে 'X' বোতামে ট্যাপ করে ম্যানুয়ালি One Tap বন্ধ করে তখন ডিফল্ট ইন্টারমিডিয়েট আইফ্রেম আচরণকে ওভাররাইড করে। ডিফল্ট আচরণ হল DOM থেকে অবিলম্বে ইন্টারমিডিয়েট আইফ্রেমটি সরিয়ে ফেলা।

data-intermediate_iframe_close_callback ফিল্ডটি শুধুমাত্র মধ্যবর্তী আইফ্রেম মোডে কার্যকর হয়। এবং এটি ওয়ান ট্যাপ আইফ্রেমের পরিবর্তে শুধুমাত্র মধ্যবর্তী আইফ্রেমে প্রভাব ফেলে। কলব্যাক চালু হওয়ার আগে ওয়ান ট্যাপ UI সরানো হয়।

আদর্শ প্রয়োজনীয় উদাহরণ
ফাংশন ঐচ্ছিক data-intermediate_iframe_close_callback="logBeforeClose"

একটি নেমস্পেসের মধ্যে থাকা জাভাস্ক্রিপ্ট ফাংশনগুলি HTML API দ্বারা সমর্থিত নয়। পরিবর্তে, একটি নেমস্পেস ছাড়াই একটি গ্লোবাল জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করুন। উদাহরণস্বরূপ, mylib.callback এর পরিবর্তে mylibCallback ব্যবহার করুন।

ডেটা-আইটিপি_সাপোর্ট

এই ক্ষেত্রটি নির্ধারণ করে যে ইন্টেলিজেন্ট ট্র্যাকিং প্রিভেনশন (ITP) সমর্থনকারী ব্রাউজারগুলিতে আপগ্রেড করা One Tap UX সক্ষম করা উচিত কিনা। ডিফল্ট মান হল false । আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
বুলিয়ান ঐচ্ছিক data-itp_support="true"

ডেটা-লগইন_ইঙ্গিত

যদি আপনার অ্যাপ্লিকেশনটি আগে থেকেই জানে যে কোন ব্যবহারকারীকে সাইন-ইন করতে হবে, তাহলে এটি Google-কে একটি লগইন ইঙ্গিত দিতে পারে। সফল হলে, অ্যাকাউন্ট নির্বাচন এড়িয়ে যাওয়া হয়। গৃহীত মানগুলি হল: একটি ইমেল ঠিকানা অথবা একটি আইডি টোকেন উপক্ষেত্র

আরও তথ্যের জন্য, login_hint এর জন্য OpenID Connect ডকুমেন্টেশন দেখুন।

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং। এটি একটি ইমেল ঠিকানা অথবা আইডি টোকেনের sub -ফিল্ড মান হতে পারে। ঐচ্ছিক data-login_hint="elisa.beckett@gmail.com"

ডেটা-এইচডি

যখন একজন ব্যবহারকারীর একাধিক অ্যাকাউন্ট থাকে এবং শুধুমাত্র তাদের Workspace অ্যাকাউন্ট দিয়ে সাইন-ইন করা উচিত, তখন Google-কে একটি ডোমেন নামের ইঙ্গিত দেওয়ার জন্য এটি ব্যবহার করুন। সফল হলে, অ্যাকাউন্ট নির্বাচনের সময় প্রদর্শিত ব্যবহারকারীর অ্যাকাউন্টগুলি প্রদত্ত ডোমেনের মধ্যে সীমাবদ্ধ থাকে। একটি ওয়াইল্ডকার্ড মান: * ব্যবহারকারীকে শুধুমাত্র Workspace অ্যাকাউন্ট অফার করে এবং অ্যাকাউন্ট নির্বাচনের সময় গ্রাহক অ্যাকাউন্টগুলি (user@gmail.com) বাদ দেয়।

আরও তথ্যের জন্য, hd এর জন্য OpenID Connect ডকুমেন্টেশন দেখুন।

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং। একটি সম্পূর্ণ যোগ্যতাসম্পন্ন ডোমেইন নাম অথবা *। ঐচ্ছিক data-hd="*"

তথ্য-ব্যবহার_fedcm_for_prompt

ব্রাউজারকে ব্যবহারকারীর সাইন-ইন প্রম্পট নিয়ন্ত্রণ করতে এবং আপনার ওয়েবসাইট এবং Google এর মধ্যে সাইন-ইন প্রবাহের মধ্যস্থতা করতে অনুমতি দিন। ডিফল্টভাবে মিথ্যা। আরও তথ্যের জন্য FedCM পৃষ্ঠায় মাইগ্রেট করুন দেখুন।

আদর্শ প্রয়োজনীয় উদাহরণ
বুলিয়ান ঐচ্ছিক data-use_fedcm_for_prompt="true"

ডেটা-ব্যবহার_fedcm_for_button

এই ক্ষেত্রটি নির্ধারণ করে যে Chrome (ডেস্কটপ M125+ এবং Android M128+) এ FedCM বোতাম UX ব্যবহার করা উচিত কিনা। ডিফল্টভাবে false হিসেবে সেট করা আছে। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
বুলিয়ান ঐচ্ছিক data-use_fedcm_for_button="true"

ডেটা-বোতাম_অটো_সিলেক্ট

এই ক্ষেত্রটি FedCM বোতাম প্রবাহের জন্য স্বয়ংক্রিয় নির্বাচন বিকল্পটি সক্ষম করবে কিনা তা নির্ধারণ করে। যদি সক্ষম করা থাকে, তাহলে সক্রিয় Google সেশন সহ ফিরে আসা ব্যবহারকারীরা অ্যাকাউন্ট চয়নকারী প্রম্পটটি বাইপাস করে স্বয়ংক্রিয়ভাবে সাইন ইন করবেন। ডিফল্টভাবে false হবে। অপ্ট-ইন লঞ্চের সময় আপনাকে স্পষ্টভাবে বোতাম স্বয়ংক্রিয়-সাইন-ইন সক্ষম করতে হবে। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
বুলিয়ান ঐচ্ছিক data-button_auto_select="true"

"g_id_signin" ক্লাস সহ এলিমেন্ট

যদি আপনি একটি এলিমেন্টের class অ্যাট্রিবিউটে g_id_signin যোগ করেন, তাহলে এলিমেন্টটি একটি Sign In With Google বোতাম হিসেবে রেন্ডার হবে।

আপনি একই পৃষ্ঠায় একাধিক "সাইন ইন উইথ গুগল" বোতাম রেন্ডার করতে পারেন। প্রতিটি বোতামের নিজস্ব ভিজ্যুয়াল সেটিংস থাকতে পারে। সেটিংস নিম্নলিখিত ডেটা বৈশিষ্ট্য দ্বারা সংজ্ঞায়িত করা হয়।

ভিজ্যুয়াল ডেটা অ্যাট্রিবিউট

নিম্নলিখিত টেবিলে ভিজ্যুয়াল ডেটা বৈশিষ্ট্য এবং তাদের বর্ণনা তালিকাভুক্ত করা হয়েছে:

বৈশিষ্ট্য
data-type বোতামের ধরণ: আইকন, অথবা স্ট্যান্ডার্ড বোতাম।
data-theme বোতাম থিম। উদাহরণস্বরূপ, filled_blue অথবা filled_black।
data-size বোতামের আকার। উদাহরণস্বরূপ, ছোট বা বড়।
data-text বোতামের টেক্সট। উদাহরণস্বরূপ, "গুগল দিয়ে সাইন ইন করুন" অথবা "গুগল দিয়ে সাইন আপ করুন"।
data-shape বোতামের আকৃতি। উদাহরণস্বরূপ, আয়তক্ষেত্রাকার বা বৃত্তাকার।
data-logo_alignment গুগল লোগোর সারিবদ্ধকরণ: বাম দিকে অথবা মাঝখানে।
data-width বোতামের প্রস্থ, পিক্সেলে।
data-locale এই অ্যাট্রিবিউটে সেট করা ভাষাতেই বোতামের টেক্সট রেন্ডার হয়।
data-click_listener যদি সেট করা থাকে, তাহলে Sign In With Google বোতামে ক্লিক করলে এই ফাংশনটি কল করা হবে।
data-state যদি সেট করা থাকে, তাহলে এই স্ট্রিংটি ID টোকেন সহ ফিরে আসে।

বৈশিষ্ট্যের ধরণ

নিম্নলিখিত বিভাগগুলিতে প্রতিটি বৈশিষ্ট্যের ধরণ এবং একটি উদাহরণ সম্পর্কে বিশদ বিবরণ রয়েছে।

ডেটা-টাইপ

বোতামের ধরণ। ডিফল্ট মান হল standard । আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং হাঁ data-type="icon"

নিম্নলিখিত টেবিলে সমস্ত উপলব্ধ বোতামের ধরণ এবং তাদের বিবরণ তালিকাভুক্ত করা হয়েছে:

আদর্শ
standard
টেক্সট বা ব্যক্তিগতকৃত তথ্য সহ একটি বোতাম।
icon
টেক্সট ছাড়া একটি আইকন বোতাম।

ডেটা-থিম

বোতাম থিম। ডিফল্ট মান হল outline । আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-theme="filled_blue"

নিম্নলিখিত সারণীতে উপলব্ধ থিম এবং তাদের বর্ণনা তালিকাভুক্ত করা হয়েছে:

থিম
outline
সাদা ব্যাকগ্রাউন্ড সহ একটি স্ট্যান্ডার্ড বোতামসাদা পটভূমি সহ একটি আইকন বোতামসাদা ব্যাকগ্রাউন্ড সহ একটি ব্যক্তিগতকৃত বোতাম
স্ট্যান্ডার্ড বোতাম থিম।
filled_blue
নীল পটভূমি সহ একটি স্ট্যান্ডার্ড বোতামনীল পটভূমি সহ একটি আইকন বোতামনীল পটভূমি সহ একটি ব্যক্তিগতকৃত বোতাম
নীল রঙে ভরা বোতাম থিম।
filled_black
কালো ব্যাকগ্রাউন্ড সহ একটি স্ট্যান্ডার্ড বোতামকালো পটভূমি সহ একটি আইকন বোতামকালো পটভূমি সহ একটি ব্যক্তিগতকৃত বোতাম
কালো ভরা বোতাম থিম।

তথ্য-আকার

বোতামের আকার। ডিফল্ট মানটি large । আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-size="small"

নিম্নলিখিত টেবিলে উপলব্ধ বোতামের আকার এবং তাদের বিবরণ তালিকাভুক্ত করা হয়েছে।

আকার
large
একটি বড় স্ট্যান্ডার্ড বোতামএকটি বড় আইকন বোতামএকটি বড়, ব্যক্তিগতকৃত বোতাম
একটা বড় বোতাম।
medium
একটি মাঝারি স্ট্যান্ডার্ড বোতামএকটি মাঝারি আইকন বোতাম
মাঝারি আকারের একটি বোতাম।
small
একটি ছোট সাইন-ইন বোতামএকটি ছোট আইকন বোতাম
ছোট একটা বোতাম।

তথ্য-পাঠ্য

বোতামের টেক্সট। ডিফল্ট মান হল signin_with । বিভিন্ন data-text অ্যাট্রিবিউটযুক্ত আইকন বোতামগুলির টেক্সটের জন্য কোনও ভিজ্যুয়াল পার্থক্য নেই। একমাত্র ব্যতিক্রম হল যখন স্ক্রিন অ্যাক্সেসিবিলিটির জন্য টেক্সটটি পড়া হয়।

আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-text="signup_with"

নিম্নলিখিত টেবিলে উপলব্ধ বোতাম টেক্সট এবং তাদের বিবরণ তালিকাভুক্ত করা হয়েছে:

টেক্সট
signin_with
'গুগল দিয়ে সাইন ইন করুন' লেবেলযুক্ত একটি স্ট্যান্ডার্ড বোতামকোনও দৃশ্যমান টেক্সট ছাড়াই একটি আইকন বোতাম
বোতামের লেখাটি হল "গুগল দিয়ে সাইন ইন করুন"।
signup_with
'গুগলের সাথে সাইন আপ করুন' লেবেলযুক্ত একটি স্ট্যান্ডার্ড বোতামকোনও দৃশ্যমান টেক্সট ছাড়াই একটি আইকন বোতাম
বোতামের লেখাটি হল "গুগলের সাথে সাইন আপ করুন"।
continue_with
'গুগলের সাথে চালিয়ে যান' লেবেলযুক্ত একটি স্ট্যান্ডার্ড বোতামকোনও দৃশ্যমান টেক্সট ছাড়াই একটি আইকন বোতাম
বোতামের লেখাটি হল "গুগলের সাথে চালিয়ে যান"।
signin
'সাইন ইন' লেবেলযুক্ত একটি স্ট্যান্ডার্ড বোতামকোনও দৃশ্যমান টেক্সট ছাড়াই একটি আইকন বোতাম
বোতামের লেখাটি হল "সাইন ইন"।

ডেটা-আকৃতি

বোতামের আকৃতি। ডিফল্ট মান rectangular । আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-shape="rectangular"

নিম্নলিখিত টেবিলে উপলব্ধ বোতামের আকার এবং তাদের বর্ণনা তালিকাভুক্ত করা হয়েছে:

আকৃতি
rectangular
একটি আয়তক্ষেত্রাকার স্ট্যান্ডার্ড বোতামএকটি আয়তক্ষেত্রাকার আইকন বোতামএকটি আয়তক্ষেত্রাকার ব্যক্তিগতকৃত বোতাম
আয়তক্ষেত্রাকার আকৃতির বোতাম। যদি icon বোতামের ধরণের জন্য ব্যবহার করা হয়, তবে এটি square মতোই।
pill
একটি পিল-আকৃতির স্ট্যান্ডার্ড বোতামএকটি পিল-আকৃতির আইকন বোতামএকটি পিল-আকৃতির ব্যক্তিগতকৃত বোতাম
পিল-আকৃতির বোতাম। যদি icon বোতামের ধরণের জন্য ব্যবহার করা হয়, তাহলে এটি circle মতোই।
circle
একটি বৃত্তাকার স্ট্যান্ডার্ড বোতামএকটি বৃত্তাকার আইকন বোতামএকটি বৃত্তাকার ব্যক্তিগতকৃত বোতাম
বৃত্তাকার বোতাম। যদি standard বোতাম ধরণের জন্য ব্যবহার করা হয়, তাহলে এটি pill এর মতোই।
square
একটি বর্গাকার স্ট্যান্ডার্ড বোতামএকটি বর্গাকার আইকন বোতামএকটি চৌকো ব্যক্তিগতকৃত বোতাম
বর্গাকার আকৃতির বোতাম। যদি standard বোতাম ধরণের জন্য ব্যবহার করা হয়, তাহলে এটি rectangular এর মতোই।

ডেটা-লোগো_অ্যালাইনমেন্ট

গুগল লোগোর সারিবদ্ধকরণ। ডিফল্ট মানটি left আছে। এই বৈশিষ্ট্যটি শুধুমাত্র standard বোতামের ধরণের ক্ষেত্রে প্রযোজ্য। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-logo_alignment="center"

নিম্নলিখিত সারণীতে উপলব্ধ সারিবদ্ধকরণ এবং তাদের বর্ণনা তালিকাভুক্ত করা হয়েছে:

লোগো_সারিবদ্ধকরণ
left
বাম দিকে G লোগো সহ একটি স্ট্যান্ডার্ড বোতাম
গুগল লোগো বাম দিকে সারিবদ্ধ করে।
center
মাঝখানে G লোগো সহ একটি স্ট্যান্ডার্ড বোতাম
গুগল লোগোকে কেন্দ্র-সারিবদ্ধ করে।

ডেটা-প্রস্থ

পিক্সেলে সর্বনিম্ন বোতামের প্রস্থ। সর্বাধিক উপলব্ধ প্রস্থ হল ৪০০ পিক্সেল।

আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-width=400

ডেটা-লোকেল

ঐচ্ছিক। নির্দিষ্ট লোকেল ব্যবহার করে বোতামের টেক্সট প্রদর্শন করুন, অন্যথায় ব্যবহারকারীর Google অ্যাকাউন্ট বা ব্রাউজার সেটিংসে ডিফল্ট। লাইব্রেরি লোড করার সময় src নির্দেশিকায় hl প্যারামিটার এবং ভাষা কোড যোগ করুন, উদাহরণস্বরূপ: gsi/client?hl=<iso-639-code>

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

আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-locale="zh_CN"

ডেটা-ক্লিক_লিসনার

আপনি data-click_listener অ্যাট্রিবিউট ব্যবহার করে Sign in with Google বোতামে ক্লিক করলে যে JavaScript ফাংশনটি কল করা হবে তা সংজ্ঞায়িত করতে পারেন।

  <script>
    function onClickHandler(){
      console.log("Sign in with Google button clicked...")
    }
  </script>
  .....
  <div class="g_id_signin"
      data-size="large"
      data-theme="outline"
      data-click_listener="onClickHandler">
  </div>

এই উদাহরণে, Sign In with Google বোতামে ক্লিক করা হলে Sign In with Google বোতামে ক্লিক করা হয়েছে... বার্তাটি কনসোলে লগ করা হয়।

ডেটা-স্টেট

ঐচ্ছিক, যেহেতু একই পৃষ্ঠায় একাধিক "Google দিয়ে সাইন ইন করুন" বোতাম রেন্ডার করা যেতে পারে, তাই আপনি প্রতিটি বোতামকে একটি অনন্য স্ট্রিং দিয়ে বরাদ্দ করতে পারেন। একই স্ট্রিংটি আইডি টোকেনের সাথে ফিরে আসবে, যাতে আপনি সনাক্ত করতে পারেন যে কোন বোতাম ব্যবহারকারী সাইন ইন করতে ক্লিক করেছেন।

আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

আদর্শ প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-state="button 1"

সার্ভার-সাইড ইন্টিগ্রেশন

আপনার সার্ভার-সাইড এন্ডপয়েন্টগুলিকে নিম্নলিখিত HTTP POST অনুরোধগুলি পরিচালনা করতে হবে।

আইডি টোকেন হ্যান্ডলার এন্ডপয়েন্ট

আইডি টোকেন হ্যান্ডলার এন্ডপয়েন্ট আইডি টোকেনটি প্রক্রিয়া করে। সংশ্লিষ্ট অ্যাকাউন্টের স্থিতির উপর ভিত্তি করে, আপনি ব্যবহারকারীকে সাইন ইন করতে পারেন এবং অতিরিক্ত তথ্যের জন্য তাদের একটি সাইন-আপ পৃষ্ঠায় নির্দেশিত করতে পারেন অথবা একটি অ্যাকাউন্ট-লিঙ্কিং পৃষ্ঠায় নির্দেশিত করতে পারেন। ক্লায়েন্টদের অবশ্যই অচেনা প্রতিক্রিয়া পরামিতিগুলি উপেক্ষা করতে হবে।

আপনার লগইন এন্ডপয়েন্টে একটি উদাহরণ অনুরোধ:

POST /login HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Cookie: g_csrf_token=<RANDOM_STRING>
Host: www.example.com

credential=<JWT_ENCODED_ID_TOKEN>&g_csrf_token=<RANDOM_STRING>

HTTP POST অনুরোধে নিম্নলিখিত তথ্য রয়েছে:

বিন্যাস নাম বিবরণ
কুকি g_csrf_token প্রতিটি অনুরোধের সাথে data-login_uri দ্বারা নির্দিষ্ট লগইন এন্ডপয়েন্টে পরিবর্তিত একটি র‍্যান্ডম স্ট্রিং, g_csrf_token অনুরোধ প্যারামিটারের মানের সাথে মিলতে হবে।
অনুরোধ প্যারামিটার g_csrf_token data-login_uri দ্বারা নির্দিষ্ট করা লগইন এন্ডপয়েন্টে প্রতিটি অনুরোধের সাথে পরিবর্তিত একটি র‍্যান্ডম স্ট্রিং অবশ্যই g_csrf_token কুকির মানের সাথে মিলবে।
অনুরোধ প্যারামিটার credential গুগল যে এনকোডেড JWT আইডি টোকেন ইস্যু করে।
অনুরোধ প্যারামিটার select_by ব্যবহারকারী কীভাবে সাইন ইন করেছেন।
অনুরোধ প্যারামিটার state এই প্যারামিটারটি কেবল তখনই সংজ্ঞায়িত করা হয় যখন ব্যবহারকারী সাইন ইন করার জন্য "Google দিয়ে সাইন ইন করুন" বোতামে ক্লিক করেন এবং বোতামটির state অ্যাট্রিবিউট নির্দিষ্ট করা থাকে।

শংসাপত্র

ডিকোড করা হলে, আইডি টোকেনটি নিম্নলিখিত উদাহরণের মতো দেখায়:

header
{
  "alg": "RS256",
  "kid": "f05415b13acb9590f70df862765c655f5a7a019e", // JWT signature
  "typ": "JWT"
}
payload
{
  "iss": "https://accounts.google.com", // The JWT's issuer
  "nbf":  161803398874,
  "aud": "314159265-pi.apps.googleusercontent.com", // Your server's client ID
  "sub": "3141592653589793238", // The unique ID of the user's Google Account
  "hd": "gmail.com", // If present, the host domain of the user's GSuite email address
  "email": "elisa.g.beckett@gmail.com", // The user's email address
  "email_verified": true, // true, if Google has verified the email address
  "azp": "314159265-pi.apps.googleusercontent.com",
  "name": "Elisa Beckett",
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/e2718281828459045235360uler",
  "given_name": "Eliza",
  "family_name": "Beckett",
  "iat": 1596474000, // Unix timestamp of the assertion's creation time
  "exp": 1596477600, // Unix timestamp of the assertion's expiration time
  "jti": "abc161803398874def"
}

ক্লায়েন্টদের অবশ্যই অস্বীকৃত JWT দাবি উপেক্ষা করতে হবে।

sub গুগল অ্যাকাউন্টের জন্য একটি বিশ্বব্যাপী অনন্য শনাক্তকারী। ব্যবহারকারীর জন্য শনাক্তকারী হিসাবে শুধুমাত্র sub ব্যবহার করুন কারণ এটি সমস্ত গুগল অ্যাকাউন্টের মধ্যে অনন্য এবং কখনও পুনঃব্যবহৃত হয় না।

email , email_verified এবং hd ফিল্ড ব্যবহার করে আপনি নির্ধারণ করতে পারবেন যে Google কোন ইমেল ঠিকানা হোস্ট করে এবং এর জন্য অনুমোদিত কিনা। যেসব ক্ষেত্রে Google অনুমোদিত, সেই ব্যবহারকারীকে বৈধ অ্যাকাউন্টের মালিক হিসেবে নিশ্চিত করা হয়।

যেসব ক্ষেত্রে গুগল কর্তৃত্বপূর্ণ:

  • email @gmail.com প্রত্যয় আছে, এটি একটি জিমেইল অ্যাকাউন্ট।
  • email_verified সত্য এবং hd সেট করা আছে, এটি একটি Google Workspace অ্যাকাউন্ট।

ব্যবহারকারীরা Gmail বা Google Workspace ব্যবহার না করেই Google অ্যাকাউন্টের জন্য নিবন্ধন করতে পারেন। যখন email @gmail.com প্রত্যয় না থাকে এবং hd অনুপস্থিত থাকে, তখন Google অনুমোদিত নয় এবং ব্যবহারকারীকে যাচাই করার জন্য পাসওয়ার্ড বা অন্যান্য চ্যালেঞ্জ পদ্ধতি সুপারিশ করা হয়। email_verified ও সত্য হতে পারে কারণ Google অ্যাকাউন্ট তৈরি করার সময় Google প্রাথমিকভাবে ব্যবহারকারীকে যাচাই করেছিল, তবে তৃতীয় পক্ষের ইমেল অ্যাকাউন্টের মালিকানা তখন থেকে পরিবর্তিত হতে পারে।

exp ফিল্ডটি আপনার সার্ভার সাইডে টোকেন যাচাই করার জন্য মেয়াদোত্তীর্ণ সময় দেখায়। Sign In With Google থেকে প্রাপ্ত ID টোকেনের জন্য এক ঘন্টা সময় লাগে। মেয়াদোত্তীর্ণ সময়ের আগে আপনাকে টোকেনটি যাচাই করতে হবে। সেশন পরিচালনার জন্য exp ব্যবহার করবেন না। মেয়াদোত্তীর্ণ ID টোকেন মানে ব্যবহারকারী সাইন আউট হয়ে গেছেন তা নয় । আপনার অ্যাপ আপনার ব্যবহারকারীদের সেশন পরিচালনার জন্য দায়ী।

g_csrf_টোকেন

একটি অ্যান্টি-ফোরজি স্টেট টোকেন। এটি একটি ক্রস-সাইট রিকোয়েস্ট ফোরজি (CSRF) টোকেন যা gsi/client লাইব্রেরি দ্বারা তৈরি করা হয়েছে। POST পেলোড বডিতে কুকি এবং রিকোয়েস্ট প্যারামিটার উভয় হিসাবে একটি র‍্যান্ডম মান অন্তর্ভুক্ত করা হয়। যদি আপনার সার্ভারে রিকোয়েস্ট প্রক্রিয়া করার সময় এই দুটি মান মিল না করে, তাহলে রিকোয়েস্টটি অবৈধ বলে বিবেচিত হবে।

নির্বাচন করুন

নিচের টেবিলে select_by ফিল্ডের সম্ভাব্য মানগুলি তালিকাভুক্ত করা হয়েছে। মান সেট করতে সেশন এবং সম্মতির অবস্থা সহ ব্যবহৃত বোতামের ধরণ ব্যবহার করা হয়,

  • ব্যবহারকারী "One Tap" অথবা "Sign In With Google" বোতাম টিপতেন অথবা স্পর্শহীন স্বয়ংক্রিয় সাইন-ইন প্রক্রিয়া ব্যবহার করতেন।

  • একটি বিদ্যমান সেশন পাওয়া গেছে, অথবা ব্যবহারকারী একটি নতুন সেশন স্থাপন করার জন্য একটি Google অ্যাকাউন্ট নির্বাচন করে সাইন-ইন করেছেন।

  • আপনার অ্যাপের সাথে আইডি টোকেন শংসাপত্রগুলি ভাগ করার আগে ব্যবহারকারী হয়

    • শংসাপত্র ভাগ করে নেওয়ার জন্য তাদের সম্মতি প্রদানের জন্য নিশ্চিতকরণ বোতাম টিপুন, অথবা
    • পূর্বে সম্মতি দিয়েছিলেন এবং একটি Google অ্যাকাউন্ট বেছে নিতে "একটি অ্যাকাউন্ট নির্বাচন করুন" ব্যবহার করেছিলেন।

এই ক্ষেত্রের মান এই ধরণের যেকোনো একটিতে সেট করা আছে,

মূল্য বিবরণ
auto একজন ব্যবহারকারীর স্বয়ংক্রিয় সাইন-ইন, যার একটি বিদ্যমান সেশন আছে এবং যিনি পূর্বে শংসাপত্র ভাগ করে নেওয়ার জন্য সম্মতি দিয়েছেন। শুধুমাত্র নন-FedCM সমর্থিত ব্রাউজারগুলিতে প্রযোজ্য।
user একজন ব্যবহারকারী যার একটি বিদ্যমান সেশন আছে এবং যিনি পূর্বে সম্মতি দিয়েছেন, তিনি ক্রেডেনশিয়াল শেয়ার করার জন্য 'একবার ট্যাপ করুন' হিসেবে চালিয়ে যান বোতাম টিপেছেন। শুধুমাত্র নন-FedCM সমর্থিত ব্রাউজারগুলিতে প্রযোজ্য।
fedcm একজন ব্যবহারকারী FedCM ব্যবহার করে শংসাপত্র ভাগ করে নেওয়ার জন্য 'একবার ট্যাপ করুন' বোতামটি টিপেছেন। শুধুমাত্র FedCM সমর্থিত ব্রাউজারগুলিতে প্রযোজ্য।
fedcm_auto FedCM One Tap ব্যবহার করে শংসাপত্র ভাগ করে নেওয়ার জন্য পূর্বে সম্মতি প্রদানকারী একটি বিদ্যমান সেশন সহ ব্যবহারকারীর স্বয়ংক্রিয় সাইন-ইন। শুধুমাত্র FedCM সমর্থিত ব্রাউজারগুলিতে প্রযোজ্য।
user_1tap একজন ব্যবহারকারী যার আগে থেকেই একটি সেশন আছে, তিনি সম্মতি প্রদান এবং শংসাপত্র শেয়ার করার জন্য 'একবার ট্যাপ করে 'হিসাবে চালিয়ে যান' বোতামটি টিপেছেন। শুধুমাত্র Chrome v75 এবং উচ্চতর সংস্করণের ক্ষেত্রে প্রযোজ্য।
user_2tap কোনও ব্যবহারকারীর কোনও সেশন নেই, তিনি একটি অ্যাকাউন্ট নির্বাচন করতে 'একবার ট্যাপ করুন' বোতাম টিপে এবং তারপর একটি পপ-আপ উইন্ডোতে 'নিশ্চিত করুন' বোতাম টিপে সম্মতি প্রদান এবং শংসাপত্র ভাগ করে নেওয়ার জন্য। এটি ক্রোমিয়াম-ভিত্তিক নয় এমন ব্রাউজারগুলির ক্ষেত্রে প্রযোজ্য।
itp একজন ব্যবহারকারী যিনি পূর্বে সম্মতি দিয়েছিলেন তিনি ITP ব্রাউজারে One Tap টিপলেন।
itp_confirm সম্মতি না দেওয়া একজন ব্যবহারকারী ITP ব্রাউজারে One Tap টিপে সম্মতি প্রদান এবং শংসাপত্র ভাগ করে নেওয়ার জন্য 'চালিয়ে যান' বোতাম টিপেছিলেন।
btn একজন ব্যবহারকারী যিনি পূর্বে সম্মতি দিয়েছিলেন, তিনি "Google দিয়ে সাইন ইন করুন" বোতাম টিপে শংসাপত্র শেয়ার করার জন্য 'একটি অ্যাকাউন্ট চয়ন করুন' থেকে একটি Google অ্যাকাউন্ট নির্বাচন করেছেন।
btn_confirm সম্মতি না দেওয়া একজন ব্যবহারকারী "গুগল দিয়ে সাইন ইন করুন" বোতাম টিপে সম্মতি প্রদান এবং শংসাপত্র ভাগ করে নেওয়ার জন্য "চালিয়ে যান" বোতাম টিপেছেন।

অবস্থা

এই প্যারামিটারটি কেবল তখনই সংজ্ঞায়িত করা হয় যখন ব্যবহারকারী সাইন ইন করার জন্য একটি "Google দিয়ে সাইন ইন করুন" বোতামে ক্লিক করেন এবং ক্লিক করা বোতামের data-state অ্যাট্রিবিউট নির্দিষ্ট করা হয়। এই ক্ষেত্রের মানটি বোতামের data-state অ্যাট্রিবিউটে আপনি যে মানটি নির্দিষ্ট করেছেন তার একই মান।

যেহেতু একই পৃষ্ঠায় একাধিক সাইন ইন উইথ গুগল বোতাম রেন্ডার করা যেতে পারে, তাই আপনি প্রতিটি বোতামকে একটি অনন্য স্ট্রিং দিয়ে বরাদ্দ করতে পারেন। অতএব, আপনি এই state নির্ধারণ করতে পারেন যে ব্যবহারকারী কোন বোতামে সাইন ইন করতে ক্লিক করেছেন।

পাসওয়ার্ড ক্রেডেনশিয়াল হ্যান্ডলার এন্ডপয়েন্ট

পাসওয়ার্ড ক্রেডেনশিয়াল হ্যান্ডলার এন্ডপয়েন্ট পাসওয়ার্ড ক্রেডেনশিয়ালগুলি প্রক্রিয়া করে যা বিল্ট-ইন ক্রেডেনশিয়াল ম্যানেজার পুনরুদ্ধার করে।

HTTP POST অনুরোধে নিম্নলিখিত তথ্য রয়েছে:

বিন্যাস নাম বিবরণ
কুকি g_csrf_token প্রতিটি অনুরোধের সাথে data-native_login_uri দ্বারা নির্দিষ্ট লগইন এন্ডপয়েন্টে পরিবর্তিত একটি র‍্যান্ডম স্ট্রিং, g_csrf_token অনুরোধ প্যারামিটারের মানের সাথে মিলতে হবে।
অনুরোধ প্যারামিটার g_csrf_token প্রতিটি অনুরোধের সাথে data-native_login_uri দ্বারা নির্দিষ্ট করা লগইন এন্ডপয়েন্টে পরিবর্তিত একটি র‍্যান্ডম স্ট্রিং অবশ্যই g_csrf_token কুকির মানের সাথে মিলবে।
অনুরোধ প্যারামিটার email এই আইডি টোকেনটি গুগল ইস্যু করে।
অনুরোধ প্যারামিটার password কিভাবে শংসাপত্র নির্বাচন করা হয়।