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

এই রেফারেন্স পৃষ্ঠাটি ‘সাইন ইন উইথ গুগল’ জাভাস্ক্রিপ্ট এপিআই সম্পর্কে বর্ণনা করে, যা ওয়েব পেজগুলিতে ‘সাইন ইন উইথ গুগল’ বাটন বা ‘ওয়ান ট্যাপ’ প্রম্পট প্রদর্শন করতে ব্যবহৃত হয়।

পদ্ধতি: google.accounts.id.initialize

google.accounts.id.initialize মেথডটি কনফিগারেশন অবজেক্টের উপর ভিত্তি করে `Sign In With Google` ক্লায়েন্টকে ইনিশিয়ালাইজ করে। মেথডটির নিম্নলিখিত কোড উদাহরণটি দেখুন:

google.accounts.id.initialize(IdConfiguration)

নিম্নলিখিত কোড উদাহরণটি একটি onload ফাংশন সহ google.accounts.id.initialize পদ্ধতিটি প্রয়োগ করে:

<script>
  window.onload = function () {
    google.accounts.id.initialize({
      client_id: 'YOUR_GOOGLE_CLIENT_ID',
      callback: handleCredentialResponse
    });
    google.accounts.id.prompt();
  };
</script>

google.accounts.id.initialize মেথডটি একটি 'Sign In With Google' ক্লায়েন্ট ইনস্ট্যান্স তৈরি করে, যা একই ওয়েব পেজের সমস্ত মডিউল দ্বারা স্বয়ংক্রিয়ভাবে ব্যবহার করা যায়।

  • একই ওয়েব পেজে একাধিক মডিউল (যেমন ওয়ান ট্যাপ, পার্সোনালাইজড বাটন, রিভোকেশন, ইত্যাদি) ব্যবহার করলেও আপনাকে google.accounts.id.initialize মেথডটি শুধুমাত্র একবার কল করতে হবে।
  • আপনি যদি google.accounts.id.initialize মেথডটি একাধিকবার কল করেন, তবে শুধুমাত্র শেষ কলের কনফিগারেশনগুলোই মনে রাখা হবে এবং ব্যবহার করা হবে।

আপনি যখনই google.accounts.id.initialize মেথডটি কল করেন, তখনই কনফিগারেশনগুলো রিসেট হয়ে যায় এবং একই ওয়েব পেজের পরবর্তী সমস্ত মেথড সঙ্গে সঙ্গে নতুন কনফিগারেশনগুলো ব্যবহার করে।

ডেটা টাইপ: IdConfiguration

নিম্নলিখিত সারণিতে IdConfiguration ডেটা টাইপের ফিল্ড এবং বিবরণ তালিকাভুক্ত করা হলো:

মাঠ
client_id আপনার অ্যাপ্লিকেশনের ক্লায়েন্ট আইডি
color_scheme ওয়ান ট্যাপ প্রম্পটে যে কালার স্কিমটি প্রয়োগ করা হয়েছে।
auto_select স্বয়ংক্রিয় নির্বাচন সক্ষম করে।
callback যে জাভাস্ক্রিপ্ট ফাংশনটি আইডি টোকেনগুলো পরিচালনা করে। গুগল ওয়ান ট্যাপ এবং 'সাইন ইন উইথ গুগল' বাটনের popup ইউএক্স মোড এই অ্যাট্রিবিউটটি ব্যবহার করে।
login_uri আপনার লগইন এন্ডপয়েন্টের ইউআরএল। 'সাইন ইন উইথ গুগল' বাটনের redirect ইউএক্স মোড এই অ্যাট্রিবিউটটি ব্যবহার করে।
native_callback জাভাস্ক্রিপ্ট ফাংশন যা পাসওয়ার্ড সংক্রান্ত তথ্য পরিচালনা করে।
cancel_on_tap_outside ব্যবহারকারী প্রম্পটের বাইরে ক্লিক করলে প্রম্পটটি বাতিল হয়ে যায়।
prompt_parent_id ওয়ান ট্যাপ প্রম্পট কন্টেইনার এলিমেন্টের DOM ID
nonce আইডি টোকেনগুলির জন্য একটি এলোমেলো স্ট্রিং
essential_claims গুগল কর্তৃক ফেরত দেওয়া আইডি টোকেনে অন্তর্ভুক্ত করার জন্য অতিরিক্ত দাবিসমূহ।
context ওয়ান ট্যাপ প্রম্পটে শিরোনাম এবং শব্দগুলো
state_cookie_domain যদি আপনাকে প্যারেন্ট ডোমেইন এবং এর সাবডোমেইনগুলোতে ওয়ান ট্যাপ কল করার প্রয়োজন হয়, তাহলে এই ফিল্ডে প্যারেন্ট ডোমেইনটি পাস করুন, যাতে একটিমাত্র শেয়ার্ড কুকি ব্যবহৃত হয়।
ux_mode গুগল দিয়ে সাইন ইন করুন বাটনের ইউএক্স ফ্লো
allowed_parent_origin যে অরিজিনগুলো ইন্টারমিডিয়েট আইফ্রেম এম্বেড করার অনুমতি পায়। এই ফিল্ডটি উপস্থিত থাকলে ওয়ান ট্যাপ ইন্টারমিডিয়েট আইফ্রেম মোডে রান করে।
intermediate_iframe_close_callback ব্যবহারকারীরা যখন ম্যানুয়ালি ওয়ান ট্যাপ বন্ধ করেন, তখন এটি ডিফল্ট মধ্যবর্তী আইফ্রেমের আচরণকে অগ্রাহ্য করে।
itp_support ITP ব্রাউজারগুলিতে উন্নত ওয়ান ট্যাপ ইউএক্স সক্ষম করা হয়েছে।
login_hint ব্যবহারকারীকে একটি ইঙ্গিত দিয়ে অ্যাকাউন্ট নির্বাচন এড়িয়ে যান।
hd ডোমেইন অনুযায়ী অ্যাকাউন্ট নির্বাচন সীমিত করুন।
use_fedcm_for_prompt ব্রাউজারকে ব্যবহারকারীর সাইন-ইন প্রম্পট নিয়ন্ত্রণ করতে এবং আপনার ওয়েবসাইট ও গুগলের মধ্যে সাইন-ইন প্রবাহে মধ্যস্থতা করার অনুমতি দিন।
use_fedcm_for_button এই ফিল্ডটি নির্ধারণ করে যে ক্রোম (ডেস্কটপ M125+ এবং অ্যান্ড্রয়েড M128+)-এ FedCM বাটন UX ব্যবহার করা হবে কি না। এর ডিফল্ট মান হলো false
button_auto_select FedCM বাটন ফ্লো-এর জন্য অটো সিলেক্ট অপশনটি চালু করা হবে কিনা। এটি চালু করা হলে, সক্রিয় গুগল সেশন সহ পুরনো ব্যবহারকারীরা অ্যাকাউন্ট চুজারের প্রম্পট এড়িয়ে স্বয়ংক্রিয়ভাবে সাইন ইন হয়ে যাবেন। এর ডিফল্ট মান হলো false

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

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

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

রঙের স্কিম

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

প্রকার প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক। ডিফল্টরূপে ব্যবহারকারীর সিস্টেমের ডিফল্ট কালার স্কিম ব্যবহৃত হয়। color_scheme: "dark"

নিচের সারণিতে উপলব্ধ রঙের বিন্যাস এবং সেগুলোর বিবরণ দেওয়া হলো।

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

স্বয়ংক্রিয় নির্বাচন

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

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

কলব্যাক

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

প্রকার প্রয়োজনীয় উদাহরণ
ফাংশন ওয়ান ট্যাপ এবং popup ইউএক্স মোডের জন্য আবশ্যক callback: handleResponse

লগইন_ইউরি

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

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

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

যখন কোনো ব্যবহারকারী 'Sign In With Google' বোতামে ক্লিক করেন এবং রিডাইরেক্ট ইউএক্স মোড ব্যবহার করা হয়, তখন আইডি টোকেন ক্রেডেনশিয়াল রেসপন্সটি আপনার লগইন এন্ডপয়েন্টে পোস্ট করা হয়।

আরও তথ্যের জন্য নিচের সারণিটি দেখুন:

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

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

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

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

প্রকার প্রয়োজনীয় উদাহরণ
ফাংশন ঐচ্ছিক native_callback: handleResponse

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

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

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

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

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

প্রকার প্রয়োজনীয় উদাহরণ
স্ট্রিং ঐচ্ছিক prompt_parent_id: 'parent_id'

ননস

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

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

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

অপরিহার্য_দাবি

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

আরও তথ্যের জন্য নিচের সারণিটি দেখুন:

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

প্রসঙ্গ

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

আরও তথ্যের জন্য নিচের সারণিটি দেখুন:

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

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

প্রেক্ষাপট
signin সাইন ইন করুন
signup সাইন আপ করুন
use "ব্যবহার"

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

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

ux_mode

‘Sign In With Google’ বাটনের জন্য ব্যবহৃত ইউএক্স ফ্লো সেট করতে এই ফিল্ডটি ব্যবহার করুন। এর ডিফল্ট মান হলো popup । এই অ্যাট্রিবিউটটি OneTap-এর ইউএক্স-এর উপর কোনো প্রভাব ফেলে না। আরও তথ্যের জন্য নিচের টেবিলটি দেখুন:

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

নিচের সারণিতে উপলব্ধ ইউএক্স মোডগুলো এবং তাদের বিবরণ দেওয়া হলো।

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

অনুমোদিত_পিতামাতার_উৎস

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

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

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

মানের প্রকারভেদ
string একটি একক ডোমেইন ইউআরআই। "https://example.com"
string array ডোমেইন ইউআরআই-গুলোর একটি অ্যারে। ["https://news.example.com", "https://local.example.com"]

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

  • Pattern strings cannot be composed of only a wildcard and a top level domain. For example https:// .com and https:// .co.uk are invalid as "https:// .example.com" matches example.com and all its subdomains. Use a comma separated list to represent two different domains. For example, "https://example1.com,https:// .example2.com" matches the domains example1.com , example2.com and the subdomains of example2.com
  • ওয়াইল্ডকার্ড ডোমেইন অবশ্যই একটি সুরক্ষিত https:// স্কিম দিয়ে শুরু হতে হবে, তাই "*.example.com" অবৈধ বলে বিবেচিত হয়।

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

মধ্যবর্তী_আইফ্রেম_বন্ধ_কলব্যাক

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

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

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

আইটিপি_সাপোর্ট

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

প্রকার প্রয়োজনীয় উদাহরণ
বুলিয়ান ঐচ্ছিক itp_support: true

লগইন_ইঙ্গিত

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

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

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

এইচডি

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

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

প্রকার প্রয়োজনীয় উদাহরণ
স্ট্রিং। একটি পূর্ণাঙ্গ ডোমেইন নাম অথবা *। ঐচ্ছিক hd: '*'

use_fedcm_for_prompt

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

প্রকার প্রয়োজনীয় উদাহরণ
বুলিয়ান অপ্রচলিত use_fedcm_for_prompt: true

বোতামের জন্য ফেডসিএম ব্যবহার করুন

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

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

বোতাম_স্বয়ংক্রিয়_নির্বাচন

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

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

পদ্ধতি: google.accounts.id.prompt

initialize() মেথডটি কল করার পর google.accounts.id.prompt মেথডটি ওয়ান ট্যাপ প্রম্পট অথবা ব্রাউজারের বিল্ট-ইন ক্রেডেনশিয়াল ম্যানেজার প্রদর্শন করে। মেথডটির নিম্নলিখিত কোড উদাহরণটি দেখুন:

 google.accounts.id.prompt(/**
 @type{(function(!PromptMomentNotification):void)=} */ momentListener)

সাধারণত, পেজ লোড হওয়ার সময় ` prompt() ` মেথডটি কল করা হয়। গুগলের সেশন স্ট্যাটাস এবং ইউজার সেটিংসের কারণে, ওয়ান ট্যাপ প্রম্পট UI প্রদর্শিত নাও হতে পারে। বিভিন্ন সময়ে UI স্ট্যাটাসের নোটিফিকেশন পেতে, UI স্ট্যাটাস নোটিফিকেশন গ্রহণ করার জন্য একটি ফাংশন পাস করুন।

নিম্নলিখিত মুহূর্তগুলিতে নোটিফিকেশন পাঠানো হয়:

  • প্রদর্শনের মুহূর্ত: ` prompt() ` মেথড কল করার পরে এটি ঘটে। নোটিফিকেশনটিতে একটি বুলিয়ান মান থাকে, যা নির্দেশ করে যে UI প্রদর্শিত হবে কি না।
  • বাদ পড়া মুহূর্ত: এটি ঘটে যখন ওয়ান ট্যাপ প্রম্পটটি স্বয়ংক্রিয়ভাবে বাতিল বা ম্যানুয়ালি বাতিল করার মাধ্যমে বন্ধ করা হয়, অথবা যখন গুগল কোনো ক্রেডেনশিয়াল দিতে ব্যর্থ হয়, যেমন যখন নির্বাচিত সেশনটি গুগল থেকে সাইন আউট করে।

    এইসব ক্ষেত্রে, আমরা আপনাকে পরবর্তী পরিচয় প্রদানকারী সংস্থার কাছে যাওয়ার পরামর্শ দিই, যদি সেরকম কিছু থাকে।

  • খারিজ মুহূর্ত: এটি তখন ঘটে যখন গুগল সফলভাবে কোনো ক্রেডেনশিয়াল পুনরুদ্ধার করে অথবা কোনো ব্যবহারকারী ক্রেডেনশিয়াল পুনরুদ্ধারের প্রক্রিয়াটি থামাতে চান। উদাহরণস্বরূপ, যখন ব্যবহারকারী আপনার লগইন ডায়ালগে তাদের ইউজারনেম এবং পাসওয়ার্ড ইনপুট করা শুরু করেন, তখন আপনি ওয়ান ট্যাপ প্রম্পটটি বন্ধ করতে এবং একটি খারিজ মুহূর্ত ট্রিগার করতে google.accounts.id.cancel() মেথডটি কল করতে পারেন।

নিম্নলিখিত কোড উদাহরণটি স্কিপড মোমেন্ট বাস্তবায়ন করে:

<script>
  window.onload = function () {
    google.accounts.id.initialize(...);
    google.accounts.id.prompt((notification) => {
      if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
        // continue with another identity provider.
      }
    });
  };
</script>

ডেটা টাইপ: প্রম্পটমোমেন্টনোটিফিকেশন

নিম্নলিখিত সারণিতে PromptMomentNotification ডেটা টাইপের পদ্ধতি এবং বিবরণ তালিকাভুক্ত করা হলো:

পদ্ধতি
isDisplayMoment() ওয়ান ট্যাপ প্রম্পট প্রদর্শিত হলে true রিটার্ন করে।

দ্রষ্টব্য: যখন FedCM সক্রিয় থাকে, তখন এই বিজ্ঞপ্তিটি সমর্থিত নয়। আরও তথ্যের জন্য 'Migrate to FedCM' পৃষ্ঠাটি দেখুন।
isDisplayed() যদি মোমেন্ট টাইপটি PromptMoment.DISPLAY হয় এবং ওয়ান ট্যাপ প্রম্পটটি প্রদর্শিত হয়, তাহলে true রিটার্ন করে।

দ্রষ্টব্য: যখন FedCM সক্রিয় থাকে, তখন এই বিজ্ঞপ্তিটি সমর্থিত নয়। আরও তথ্যের জন্য 'Migrate to FedCM' পৃষ্ঠাটি দেখুন।
isNotDisplayed() যদি মোমেন্ট টাইপটি PromptMoment.DISPLAY হয় এবং ওয়ান ট্যাপ প্রম্পটটি প্রদর্শিত না হয়, তাহলে true রিটার্ন করে।

দ্রষ্টব্য: যখন FedCM সক্রিয় থাকে, তখন এই বিজ্ঞপ্তিটি সমর্থিত নয়। আরও তথ্যের জন্য 'Migrate to FedCM' পৃষ্ঠাটি দেখুন।
getNotDisplayedReason()

UI প্রদর্শিত না হওয়ার বিস্তারিত কারণ। নিম্নলিখিতগুলি সম্ভাব্য মান:

  • browser_not_supported
  • invalid_client
  • missing_client_id
  • opt_out_or_no_session
  • secure_http_required
  • suppressed_by_user
  • unregistered_origin
  • unknown_reason
দ্রষ্টব্য: যখন FedCM সক্রিয় থাকে, তখন এই বিজ্ঞপ্তিটি সমর্থিত নয়। আরও তথ্যের জন্য 'Migrate to FedCM' পৃষ্ঠাটি দেখুন।
isSkippedMoment() মোমেন্ট টাইপটি PromptMoment.SKIPPED হলে true রিটার্ন করে।

দ্রষ্টব্য: যখন FedCM সক্রিয় থাকে, তখন এই পদ্ধতিটি আংশিকভাবে সমর্থিত হয়। বিশেষত, এটি user_cancel নামক বাদ দেওয়া কারণটি সমর্থন করে না। আরও তথ্যের জন্য 'Migrate to FedCM' পৃষ্ঠাটি দেখুন।
getSkippedReason()

বাদ পড়া মুহূর্তটির বিস্তারিত কারণ। নিম্নলিখিতগুলি সম্ভাব্য মান:

  • auto_cancel
  • user_cancel
  • tap_outside
  • issuing_failed
দ্রষ্টব্য: যখন FedCM সক্রিয় থাকে, তখন এই পদ্ধতিটি আংশিকভাবে সমর্থিত হয়। বিশেষত, এটি user_cancel নামক বাদ দেওয়া কারণটি সমর্থন করে না। আরও তথ্যের জন্য 'Migrate to FedCM' পৃষ্ঠাটি দেখুন।
isDismissedMoment() মোমেন্ট টাইপটি PromptMoment.DISMISSED হলে true রিটার্ন করে।

দ্রষ্টব্য: যখন FedCM সক্রিয় থাকে, তখন এই পদ্ধতিটি সম্পূর্ণরূপে সমর্থিত। আরও তথ্যের জন্য 'Migrate to FedCM' পৃষ্ঠাটি দেখুন।
getDismissedReason()

বরখাস্তের বিস্তারিত কারণ। নিম্নলিখিতগুলি সম্ভাব্য মান:

  • credential_returned
  • cancel_called
  • flow_restarted
দ্রষ্টব্য: যখন FedCM সক্রিয় থাকে, তখন এই পদ্ধতিটি সম্পূর্ণরূপে সমর্থিত। আরও তথ্যের জন্য 'Migrate to FedCM' পৃষ্ঠাটি দেখুন।
getMomentType()

মোমেন্ট টাইপের জন্য একটি স্ট্রিং রিটার্ন করুন। নিম্নলিখিতগুলি সম্ভাব্য মান:

  • display
  • skipped
  • dismissed

ডেটা টাইপ: ক্রেডেনশিয়ালরেসপন্স

যখন আপনার callback ফাংশনটি কল করা হয়, তখন একটি CredentialResponse অবজেক্ট প্যারামিটার হিসেবে পাস করা হয়। নিচের সারণিতে ক্রেডেনশিয়াল রেসপন্স অবজেক্টে থাকা ফিল্ডগুলো তালিকাভুক্ত করা হলো:

মাঠ
credential গুগল কর্তৃক ইস্যুকৃত এনকোডেড JWT আইডি টোকেন।
select_by ব্যবহারকারী যেভাবে সাইন ইন করেছেন।
state এই ফিল্ডটি শুধুমাত্র তখনই সংজ্ঞায়িত হয়, যখন ব্যবহারকারী সাইন ইন করার জন্য 'Sign in with Google' বোতামে ক্লিক করেন এবং বোতামটির ' state অ্যাট্রিবিউটটি নির্দিষ্ট করা থাকে।

শংসাপত্র

এই ফিল্ডটি হলো আইডি টোকেন, যা একটি বেস৬৪-এনকোডেড JSON ওয়েব টোকেন (JWT) স্ট্রিং হিসেবে থাকে।

ডিকোড করা হলে, JWT-টি নিচের উদাহরণটির মতো দেখায়:

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": "Elisa",
  "family_name": "Beckett",
  "iat": 1596474000, // Unix timestamp of the assertion creation time
  "exp": 1596477600, // Unix timestamp of the assertion expiration time
  "jti": "abc161803398874def"
}

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

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

যেসব ক্ষেত্রে গুগল নির্ভরযোগ্য:

  • email শেষে @gmail.com সাফিক্সটি রয়েছে, এটি একটি জিমেইল অ্যাকাউন্ট।
  • email_verified true এবং hd সেট করা আছে, এটি একটি গুগল ওয়ার্কস্পেস অ্যাকাউন্ট।

Users may register for Google Accounts without using Gmail or Google Workspace. When email does not contain a @gmail.com suffix and hd is absent Google is not authoritative and password or other challenge methods are recommended to verify the user. email_verfied can also be true as Google initially verified the user when the Google Account was created, however ownership of the third party email account may have since changed.

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

নির্বাচন_দ্বারা

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

  • ব্যবহারকারী হয় ‘ওয়ান ট্যাপ’ বা ‘সাইন ইন উইথ গুগল’ বোতামটি টিপেছেন অথবা স্পর্শবিহীন স্বয়ংক্রিয় সাইন-ইন প্রক্রিয়াটি ব্যবহার করেছেন।

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

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

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

এই ফিল্ডের মান নিম্নলিখিত প্রকারগুলির মধ্যে একটিতে সেট করা হয়,

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

রাজ্য

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

যেহেতু একই পেজে একাধিক ‘সাইন ইন উইথ গুগল’ বাটন দেখানো যায়, তাই আপনি প্রতিটি বাটনকে একটি অনন্য স্ট্রিং দিয়ে দিতে পারেন। ফলে, ব্যবহারকারী সাইন ইন করার জন্য কোন বাটনটি ক্লিক করেছেন তা শনাক্ত করতে আপনি এই state ফিল্ডটি ব্যবহার করতে পারেন।

পদ্ধতি: google.accounts.id.renderButton

google.accounts.id.renderButton মেথডটি আপনার ওয়েব পেজগুলিতে একটি `Sign In With Google` বাটন রেন্ডার করে।

পদ্ধতিটির নিম্নলিখিত কোড উদাহরণটি দেখুন:

google.accounts.id.renderButton(
      /** @type{!HTMLElement} */ parent,
      /** @type{!GsiButtonConfiguration} */ options
    )

ডেটা টাইপ: GsiButtonConfiguration

নিম্নলিখিত সারণিতে GsiButtonConfiguration ডেটা টাইপের ফিল্ড এবং বিবরণ তালিকাভুক্ত করা হলো:

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

অ্যাট্রিবিউটের প্রকারভেদ

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

প্রকার

বাটনের ধরণ। ডিফল্ট মান হলো standard

আরও তথ্যের জন্য নিচের সারণিটি দেখুন:

প্রকার প্রয়োজনীয় উদাহরণ
স্ট্রিং হ্যাঁ type: "icon"

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

প্রকার
standard
লেখা বা ব্যক্তিগত তথ্যসহ বাটন।
icon
লেখা ছাড়া একটি আইকন বাটন।

থিম

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

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

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

থিম
outline
একটি স্ট্যান্ডার্ড বাটন থিম।
filled_blue
নীল রঙে ভরা বোতামের থিম।
filled_black
কালো রঙে ভরা বোতামের থিম।

আকার

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

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

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

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

পাঠ্য

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

আরও তথ্যের জন্য নিচের সারণিটি দেখুন:

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

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

পাঠ্য
signin_with
বাটনটির লেখাটি হলো "গুগল দিয়ে সাইন ইন করুন"।
signup_with
বাটনটির লেখাটি হলো "গুগল দিয়ে সাইন আপ করুন"।
continue_with
বাটনটির লেখাটি হলো "Google-এর সাথে চালিয়ে যান"।
signin
বাটনটির লেখা হলো "সাইন ইন"।

আকৃতি

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

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

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

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

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

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

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

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

লোগো_অ্যালাইনমেন্ট
left
গুগল লোগোটিকে বাম দিকে সারিবদ্ধ করে।
center
গুগল লোগোটিকে কেন্দ্রে সারিবদ্ধ করে।

প্রস্থ

বাটনের সর্বনিম্ন প্রস্থ, পিক্সেলে। সর্বোচ্চ প্রস্থ হলো ৪০০ পিক্সেল।

আরও তথ্যের জন্য নিচের সারণিটি দেখুন:

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

অবস্থান

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

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

আরও তথ্যের জন্য নিচের সারণিটি দেখুন:

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

ক্লিক_লিসেনার

আপনি ` click_listener অ্যাট্রিবিউট ব্যবহার করে `Sign in with Google` বাটনটি ক্লিক করা হলে কল করার জন্য একটি জাভাস্ক্রিপ্ট ফাংশন সংজ্ঞায়িত করতে পারেন।

  google.accounts.id.renderButton(document.getElementById("signinDiv"), {
      theme: 'outline',
      size: 'large',
      click_listener: onClickHandler
    });

  
  function onClickHandler(){
    console.log("Sign in with Google button clicked...")
  }
  

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

রাজ্য

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

আরও তথ্যের জন্য নিচের সারণিটি দেখুন:

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

ডেটার ধরণ: পরিচয়পত্র

যখন আপনার native_callback ফাংশনটি কল করা হয়, তখন একটি Credential অবজেক্ট প্যারামিটার হিসেবে পাস করা হয়। নিচের সারণিতে অবজেক্টটিতে থাকা ফিল্ডগুলো তালিকাভুক্ত করা হলো:

মাঠ
id ব্যবহারকারীকে শনাক্ত করে।
password পাসওয়ার্ড

পদ্ধতি: google.accounts.id.disableAutoSelect

যখন ব্যবহারকারী আপনার ওয়েবসাইট থেকে সাইন আউট করেন, তখন কুকিতে স্ট্যাটাসটি রেকর্ড করার জন্য আপনাকে google.accounts.id.disableAutoSelect মেথডটি কল করতে হবে। এটি একটি ইউএক্স ডেড লুপ প্রতিরোধ করে। মেথডটির জন্য নিম্নলিখিত কোড স্নিপেটটি দেখুন:

google.accounts.id.disableAutoSelect()

নিম্নলিখিত কোড উদাহরণটি একটি onSignout() ফাংশনের মাধ্যমে google.accounts.id.disableAutoSelect মেথডটি প্রয়োগ করে:

<script>
  function onSignout() {
    google.accounts.id.disableAutoSelect();
  }
</script>

পদ্ধতি: google.accounts.id.storeCredential

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

google.accounts.id.storeCredential(Credential, callback)

নিম্নলিখিত কোড উদাহরণটি একটি onSignIn() ফাংশনের মাধ্যমে google.accounts.id.storeCredential মেথডটি প্রয়োগ করে:

<script>
  function onSignIn() {
    let cred = {id: '...', password: '...'};
    google.accounts.id.storeCredential(cred);
  }
</script>

পদ্ধতি: google.accounts.id.cancel

আপনি রিলায়িং পার্টি DOM থেকে প্রম্পটটি সরিয়ে দিলে ওয়ান ট্যাপ ফ্লোটি বাতিল করতে পারেন। যদি আগে থেকেই কোনো ক্রেডেনশিয়াল নির্বাচন করা থাকে, তাহলে বাতিল করার প্রক্রিয়াটি উপেক্ষা করা হয়। পদ্ধতিটির নিম্নলিখিত কোড উদাহরণটি দেখুন:

google.accounts.id.cancel()

নিম্নলিখিত কোড উদাহরণটিতে onNextButtonClicked() ফাংশন সহ google.accounts.id.cancel() মেথডটি প্রয়োগ করা হয়েছে:

<script>
  function onNextButtonClicked() {
    google.accounts.id.cancel();
    showPasswordPage();
  }
</script>

লাইব্রেরি লোড কলব্যাক: onGoogleLibraryLoad

আপনি একটি onGoogleLibraryLoad কলব্যাক রেজিস্টার করতে পারেন। 'Sign In With Google' জাভাস্ক্রিপ্ট লাইব্রেরিটি লোড হওয়ার পরে এটিতে নোটিফিকেশন পাঠানো হয়:

window.onGoogleLibraryLoad = () => {
    ...
};

এই কলব্যাকটি হলো window.onload কলব্যাকের একটি সংক্ষিপ্ত রূপ মাত্র। এদের আচরণে কোনো পার্থক্য নেই।

নিম্নলিখিত কোড উদাহরণটি একটি onGoogleLibraryLoad কলব্যাক বাস্তবায়ন করে:

<script>
  window.onGoogleLibraryLoad = () => {
   google.accounts.id.initialize({
     ...
   });
   google.accounts.id.prompt();
  };
</script>

পদ্ধতি: google.accounts.id.revoke

google.accounts.id.revoke মেথডটি নির্দিষ্ট ব্যবহারকারীর জন্য আইডি টোকেন শেয়ার করতে ব্যবহৃত OAuth গ্রান্টটি বাতিল করে। মেথডটির নিম্নলিখিত কোড স্নিপেটটি দেখুন: javascript google.accounts.id.revoke(login_hint, callback)

প্যারামিটার প্রকার বর্ণনা
login_hint স্ট্রিং ব্যবহারকারীর গুগল অ্যাকাউন্টের ইমেল ঠিকানা বা অনন্য আইডি। এই আইডিটি ক্রেডেনশিয়াল পেলোডের একটি sub প্রপার্টি।
callback ফাংশন ঐচ্ছিক RevocationResponse হ্যান্ডলার।

নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে একটি ID-এর সাথে revoke মেথডটি ব্যবহার করতে হয়।

  google.accounts.id.revoke('1618033988749895', done => {
    console.log(done.error);
  });

ডেটা টাইপ: প্রত্যাহার প্রতিক্রিয়া

যখন আপনার callback ফাংশনটি কল করা হয়, তখন একটি RevocationResponse অবজেক্ট প্যারামিটার হিসেবে পাস করা হয়। নিচের সারণিতে রিভোকেশন রেসপন্স অবজেক্টের অন্তর্ভুক্ত ফিল্ডগুলো তালিকাভুক্ত করা হলো:

মাঠ
successful এই ফিল্ডটি হলো মেথড কলের রিটার্ন ভ্যালু।
error এই ফিল্ডটিতে ঐচ্ছিকভাবে একটি বিস্তারিত ত্রুটি প্রতিক্রিয়া বার্তা থাকে।

সফল

এই ফিল্ডটি একটি বুলিয়ান মান, যা revoke মেথড কল সফল হলে true এবং ব্যর্থ হলে false সেট করা হয়।

ত্রুটি

এই ফিল্ডটি একটি স্ট্রিং ভ্যালু এবং revoke মেথড কল ব্যর্থ হলে এতে একটি বিস্তারিত এরর মেসেজ থাকে, সফল হলে এটি undefined হয়।