এই রেফারেন্স পৃষ্ঠায় '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-এর মাধ্যমে সাইন-ইন করুন' বোতামেরredirectUX মোডের জন্য প্রয়োজন, যাdata-callbackঅ্যাট্রিবিউটকে উপেক্ষা করে।Google One Tap এবং Google সাইন-ইন বোতাম
popupUX মোডের জন্য এই দুটি অ্যাট্রিবিউটের মধ্যে একটি সেট করতে হবে। দুটিই সেট করা থাকলে,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
'এক ট্যাপ' প্রম্পটের ডিসপ্লে নিয়ন্ত্রণ করতে কুকি ব্যবহার করে। এই অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা কুকির ভ্যালু খালি না থাকলে প্রম্পট দেখানো হয় না। আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং | ঐচ্ছিক | 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 ব্যবহার করুন।
data-state_cookie_domain
আপনি যদি পেরেন্ট ডোমেন এবং এর সাবডোমেনে 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 |
|
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 |
|
signup_with |
|
continue_with |
|
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 |
|
center |
|
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 |
কীভাবে ক্রেডেনশিয়াল বেছে নেওয়া হয়। |