Google-এর মাধ্যমে সাইন-ইন করুন HTML API রেফারেন্স

এই রেফারেন্স পৃষ্ঠায় 'Google-এর মাধ্যমে সাইন-ইন করুন' HTML ডেটা অ্যাট্রিবিউট API সম্পর্কে বর্ণনা করা হয়েছে, যা ওয়েব পৃষ্ঠায় 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতাম বা One Tap প্রম্পট দেখাতে ব্যবহার করা হয়।

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

আপনি 'Google-এর মাধ্যমে সাইন-ইন করুন' ডেটা অ্যাট্রিবিউট যেকোনও দৃশ্যমান বা অদৃশ্য এলিমেন্টে রাখতে পারেন, যেমন <div> এবং <span>। একমাত্র প্রয়োজনীয়তা হল, এলিমেন্ট আইডি g_id_onload-এ সেট করা থাকতে হবে। একাধিক এলিমেন্টে এই আইডি ব্যবহার করবেন না।

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

নিম্নলিখিত সারণীতে ডেটা অ্যাট্রিবিউটের তালিকা ও সেগুলির বিবরণ দেওয়া হল:

অ্যাট্রিবিউট
data-client_id আপনার অ্যাপ্লিকেশনের ক্লায়েন্ট আইডি
data-color_scheme One Tap প্রম্পটে রঙের স্কিম প্রয়োগ করা হয়েছে।
data-auto_prompt Google One ট্যাপ দেখান।
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 One Tap প্রম্পট কন্টেনার এলিমেন্টের DOM আইডি
data-skip_prompt_cookie নির্দিষ্ট কুকির ভ্যালু খালি না থাকলে, One Tap এড়িয়ে যায়।
data-nonce ID টোকেনের জন্য একটি র‍্যান্ডম স্ট্রিং
data-essential_claims Google-এর মাধ্যমে ফেরত পাঠানো ID টোকেনে অন্তর্ভুক্ত করার জন্য অতিরিক্ত দাবি।
data-context 'একবার ট্যাপ করুন' প্রম্পটের শীর্ষক ও শব্দ
data-moment_callback প্রম্পট UI স্ট্যাটাস বিজ্ঞপ্তি লিসেনারের ফাংশনের নাম
data-state_cookie_domain আপনাকে যদি পেরেন্ট ডোমেন ও তার সাবডোমেনে One Tap কল করতে হয়, তাহলে এই অ্যাট্রিবিউটে পেরেন্ট ডোমেন পাস করুন যাতে একটি শেয়ার করা কুকি ব্যবহার করা হয়।
data-ux_mode 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামের UX ফ্লো
data-allowed_parent_origin ইন্টারমিডিয়েট iframe এম্বেড করার অনুমতিপ্রাপ্ত অরিজিন। এই অ্যাট্রিবিউট থাকলে, One Tap ইন্টারমিডিয়েট iframe মোডে রান করে।
data-intermediate_iframe_close_callback ব্যবহারকারী ম্যানুয়ালি One Tap বন্ধ করলে, ডিফল্ট ইন্টারমিডিয়েট iframe আচরণ ওভাররাইড করে।
data-itp_support ITP ব্রাউজারে আপগ্রেড করা ওয়ান ট্যাপ UX চালু করে।
data-login_hint ব্যবহারকারীর ইঙ্গিত প্রদান করে অ্যাকাউন্ট বেছে নেওয়ার প্রসেস এড়িয়ে যান।
data-hd ডোমেন অনুযায়ী অ্যাকাউন্ট বেছে নেওয়ার সীমা।
data-use_fedcm_for_prompt ব্রাউজারকে ব্যবহারকারীর সাইন-ইন প্রম্পট কন্ট্রোল করতে এবং আপনার ওয়েবসাইট ও Google-এর মধ্যে সাইন-ইন ফ্লো মধ্যস্থতা করার অনুমতি দিন।
data-use_fedcm_for_button FedCM বোতাম UX Chrome-এ ব্যবহার করা উচিত কিনা তা এই ফিল্ড নির্ধারণ করে (ডেস্কটপ M125+ এবং Android M128+)। ডিফল্ট হিসেবে false-এ সেট করা থাকে।
data-button_auto_select FedCM বোতাম ফ্লোয়ের জন্য অটোমেটিক বেছে নিন বিকল্প চালু করা হবে কিনা। চালু করা থাকলে, অ্যাক্টিভ Google সেশন সহ ফিরে আসা ব্যবহারকারীরা অ্যাকাউন্ট বাছাইকারী প্রম্পট বাইপাস করে অটোমেটিক সাইন-ইন করতে পারবেন। ডিফল্ট ভ্যালু হল false।

অ্যাট্রিবিউটের ধরন

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

data-client_id

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

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

data-color_scheme

এই ফিল্ডটি হল One Tap প্রম্পটে প্রয়োগ করা রঙের স্কিম। আরও তথ্যের জন্য নিচের সারণী দেখুন:

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

নিচের সারণীতে উপলভ্য রঙের স্কিম ও সেগুলির বিবরণ দেওয়া আছে।

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

data-auto_prompt

এই অ্যাট্রিবিউট নির্ধারণ করে যে 'এক ট্যাপ' ফিচার দেখানো হবে কিনা। ডিফল্ট ভ্যালু হল true। এই ভ্যালু false হলে Google One ট্যাপ দেখানো হয় না। আরও তথ্যের জন্য নিচের সারণী দেখুন:

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

data-auto_select

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

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

data-login_uri

এই অ্যাট্রিবিউট হল আপনার লগ-ইন এন্ডপয়েন্টের URI।

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

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

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

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

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

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

data-callback

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

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

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

  • data-login_uri অ্যাট্রিবিউটটি 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামের redirect UX মোডের জন্য প্রয়োজন, যা data-callback অ্যাট্রিবিউটকে উপেক্ষা করে।

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

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

কলব্যাক ফাংশনটি প্যারামিটার হিসেবে একটি CredentialResponse অবজেক্ট পাস করে। সম্ভাব্য উত্তরের ভ্যালু সম্পর্কে বিশদে জানতে CredentialResponse দেখুন।

data-native_login_uri

এই অ্যাট্রিবিউট হল আপনার পাসওয়ার্ড ক্রেডেনশিয়াল হ্যান্ডলার এন্ডপয়েন্টের 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_callback

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

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

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

data-native_id_param

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

ধরন প্রয়োজনীয় উদাহরণ
ইউআরএল ঐচ্ছিক data-native_id_param="user_id"

data-native_password_param

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

ধরন প্রয়োজনীয় উদাহরণ
ইউআরএল ঐচ্ছিক data-native_password_param="pwd"

data-cancel_on_tap_outside

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

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

data-prompt_parent_id

এই অ্যাট্রিবিউট কন্টেনার এলিমেন্টের DOM আইডি সেট করে। এটি সেট করা না থাকলে, উইন্ডোর উপরে ডানদিকের কোণে 'এক ট্যাপ' প্রম্পট দেখানো হয়। আরও তথ্যের জন্য নিচের সারণী দেখুন:

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

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

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

data-nonce

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

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

আপনার এনভায়রনমেন্টে কাজ করে এমন সর্বাধিক JWT সাইজ এবং ব্যক্তিগত ব্রাউজার ও সার্ভার HTTP সাইজের সীমাবদ্ধতা অনুযায়ী ননসের দৈর্ঘ্য সীমিত করা হয়।

data-essential_claims

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

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

ধরন প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক data-essential_claims="auth_time, amr"

data-context

এই ফিল্ডটি One Tap প্রম্পটে দেখানো শীর্ষক ও মেসেজের টেক্সট পরিবর্তন করে, ITP ব্রাউজারের ক্ষেত্রে কোনও প্রভাব পড়ে না। ডিফল্ট হিসেবে signin সেট করা থাকে।

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

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

নিচের সারণীতে উপলভ্য সব প্রসঙ্গ ও সেগুলির বিবরণ তালিকাভুক্ত করা হয়েছে:

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

data-moment_callback

এই অ্যাট্রিবিউট হল প্রম্পট UI স্ট্যাটাস বিজ্ঞপ্তি লিসনারের ফাংশনের নাম। আরও তথ্যের জন্য, ডেটার ধরন দেখুন PromptMomentNotification.

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

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

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

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

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

data-ux_mode

এই অ্যাট্রিবিউট 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামের মাধ্যমে ব্যবহৃত UX ফ্লো সেট করে। ডিফল্ট ভ্যালু হল popup। এই অ্যাট্রিবিউট One Tap UX-এর উপর কোনও প্রভাব ফেলে না। আরও তথ্যের জন্য নিচের সারণী দেখুন:

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

নিচের সারণীতে উপলভ্য UX মোড ও সেগুলির বিবরণ তালিকাভুক্ত করা হয়েছে।

UX মোড
popup পপ-আপ উইন্ডোতে সাইন-ইন UX ফ্লো পারফর্ম করে।
redirect সম্পূর্ণ পৃষ্ঠা রিডাইরেকশনের মাধ্যমে সাইন-ইন UX ফ্লো পারফর্ম করে।

data-allowed_parent_origin

যেসব অরিজিনকে ইন্টারমিডিয়েট iframe এম্বেড করার অনুমতি দেওয়া হয়েছে। এই অ্যাট্রিবিউট থাকলে, ইন্টারমিডিয়েট iframe মোডে One Tap রান করে। আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:

ধরন প্রয়োজনীয় উদাহরণ
স্ট্রিং বা স্ট্রিং অ্যারে ঐচ্ছিক 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 অ্যাট্রিবিউটের ভ্যালু ভুল হলে, ইন্টারমিডিয়েট iframe মোডের One Tap ইনিশিয়ালাইজেশন ব্যর্থ হবে এবং বন্ধ হয়ে যাবে।

ওয়াইল্ডকার্ড প্রিফিক্সও কাজ করে। যেমন, "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" অবৈধ বলে বিবেচিত হয়।

data-intermediate_iframe_close_callback

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

data-intermediate_iframe_close_callback ফিল্ডটি শুধুমাত্র ইন্টারমিডিয়েট iframe মোডে কাজ করে। এবং এটি শুধুমাত্র ইন্টারমিডিয়েট iframe-এর উপর প্রভাব ফেলে, One Tap iframe-এর উপর নয়। কলব্যাক ইনভোক করার আগে ওয়ান ট্যাপ UI সরিয়ে দেওয়া হয়।

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

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

data-itp_support

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

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

data-login_hint

কোন ব্যবহারকারীকে সাইন-ইন করতে হবে তা আপনার অ্যাপ্লিকেশন আগে থেকে জানলে, এটি Google-কে লগ-ইন সংক্রান্ত ইঙ্গিত দিতে পারে। এটি সম্পূর্ণ হলে, অ্যাকাউন্ট বেছে নেওয়ার ধাপটি এড়িয়ে যাওয়া হয়। স্বীকৃত মান হল: একটি ইমেল আইডি বা একটি ID টোকেন sub ফিল্ড।

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

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

data-hd

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

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

ধরন প্রয়োজনীয় উদাহরণ
স্ট্রিং। সম্পূর্ণভাবে উপযুক্ত ডোমেনের নাম (FQDN) বা *. ঐচ্ছিক data-hd="*"

data-use_fedcm_for_prompt

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

ধরন প্রয়োজনীয় উদাহরণ
বুলিয়ান বন্ধ করে দেওয়া হয়েছে data-use_fedcm_for_prompt="true"

data-use_fedcm_for_button

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

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

data-button_auto_select

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

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

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

আপনি কোনও এলিমেন্টের class অ্যাট্রিবিউটে g_id_signin যোগ করলে, এলিমেন্টটি 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতাম হিসেবে রেন্ডার করে।

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

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

নিম্নলিখিত সারণীতে ভিজ্যুয়াল ডেটা অ্যাট্রিবিউট ও সেগুলির বিবরণ তালিকাভুক্ত করা হয়েছে:

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

অ্যাট্রিবিউটের ধরন

নিম্নলিখিত বিভাগে প্রতিটি অ্যাট্রিবিউটের ধরন ও উদাহরণ সম্পর্কে বিস্তারিত তথ্য দেওয়া আছে।

data-type

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

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

নিচের সারণীতে উপলভ্য সব বোতামের ধরন ও তাদের বিবরণ দেওয়া হল:

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

data-theme

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

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

নিচের সারণীতে উপলভ্য থিম এবং সেগুলির বিবরণ দেওয়া হল:

থিম নমুনা স্পেসিফিকেশন
outline
standard-button-white icon-button-white personalized-button-white
স্ট্যান্ডার্ড বোতাম থিম।
Fill: #FFFFFF
Stroke: #747775 | 1px | inside
Font: #1F1F1F | Roboto Medium | 14/20
Personalized: #1F1F1F | Roboto | Medium 12/14 | Regular 11/13
filled_blue
নীল রঙের বোতাম থিম।
Fill: #0B57D0
Stroke: #OB57D0 | 1px | inside
Font: #FFFFFF | Google Sans Medium | 14/20
Personalized: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13
filled_black
কালো রঙের বোতাম থিম ও তার সাথে মানানসই লোগো।
Fill: #202124
Stroke: #OB57D0 | 1px | inside
Font: #FFFFFF | Google Sans Medium | 14/20
Personalized: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13
outline_dark
কালো রঙে ভর্তি বোতামের থিম।
Fill: #131314
Stroke: #8E918F | 1px | inside
Font: #FFFFFF | Google Sans Medium | 14/20
Personalized: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13

ডেটা-সাইজ

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

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

নিচের সারণীতে উপলভ্য বোতামের সাইজ ও সেগুলির বিবরণ দেওয়া হল।

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

ডেটা-টেক্সট

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

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

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

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

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

data-shape

বোতামের আকার। ডিফল্ট ভ্যালু হল rectangular। আরও তথ্যের জন্য নিচের সারণী দেখুন:

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

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

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

data-logo_alignment

Google লোগোর অ্যালাইনমেন্ট। ডিফল্ট ভ্যালু হল left। এই অ্যাট্রিবিউট শুধুমাত্র standard বোতামের ধরনের ক্ষেত্রে প্রযোজ্য। আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:

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

নিম্নলিখিত সারণীতে উপলভ্য অ্যালাইনমেন্ট ও সেগুলির বিবরণ তালিকাভুক্ত করা হয়েছে:

logo_alignment
left
বাঁদিকে G লোগো সহ একটি স্ট্যান্ডার্ড বোতাম
Google লোগো বাঁদিকে অ্যালাইন করে।
center
মাঝখানে G লোগো সহ একটি স্ট্যান্ডার্ড বোতাম
Google লোগো মাঝখানে অ্যালাইন করে।

data-width

পিক্সেলে, বোতামের ন্যূনতম প্রস্থ। সর্বাধিক ৪০০ পিক্সেল প্রস্থের বিজ্ঞাপন দেখানো যাবে।

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

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

data-locale

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

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

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

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

data-click_listener

data-click_listener অ্যাট্রিবিউট ব্যবহার করে 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামে ক্লিক করা হলে, কল করার জন্য আপনি একটি জাভাস্ক্রিপ্ট ফাংশন নির্ধারণ করতে পারেন।

  <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>

এই উদাহরণে, 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামে ক্লিক করা হলে, 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামে ক্লিক করা হয়েছে... মেসেজটি কনসোলে লগ করা হয়।

data-state

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

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

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

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

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

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

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

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

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 Google-এর ইস্যু করা এনকোড করা JWT আইডি টোকেন।
অনুরোধের প্যারামিটার 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 Google Workspace email address
  "auth_time": 1748875426,
  "amr": ["mfa", "pwd", "tel"],
  "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 creation time
  "exp": 1596477600, // Unix timestamp of the assertion expiration time
  "jti": "abc161803398874def"
}

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

sub ফিল্ড হল Google অ্যাকাউন্টের জন্য বিশ্বব্যাপী অনন্য শনাক্তকারী। ব্যবহারকারীর শনাক্তকারী হিসেবে শুধুমাত্র sub ফিল্ড ব্যবহার করুন, কারণ এটি সব Google অ্যাকাউন্টের মধ্যে অনন্য এবং কখনও আবার ব্যবহার করা হয় না।

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

যেসব ক্ষেত্রে Google কর্তৃত্বপূর্ণ:

  • email-এর শেষে @gmail.com আছে, এটি একটি Gmail অ্যাকাউন্ট।
  • email_verified সত্য এবং hd সেট করা থাকলে, এটি একটি Google Workspace অ্যাকাউন্ট।

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

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

g_csrf_token

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

রাজ্য

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

একই পৃষ্ঠায় একাধিক Google-এর মাধ্যমে সাইন-ইন বোতাম রেন্ডার করা যেতে পারে, তাই আপনি প্রতিটি বোতামে একটি অনন্য স্ট্রিং অ্যাসাইন করতে পারেন। তাই, সাইন-ইন করার জন্য ব্যবহারকারী কোন বোতামে ক্লিক করেছেন তা শনাক্ত করতে আপনি এই state প্যারামিটার ব্যবহার করতে পারেন।

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

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

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

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