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

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

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

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

google.accounts.id.initialize(IdConfiguration)

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

<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 ডেটা টাইপের ক্ষেত্র এবং বর্ণনা তালিকাভুক্ত করা হয়েছে:

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

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

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

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

রঙ_স্কিম

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

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

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

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

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

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

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

কলব্যাক

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

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

লগইন_ইউরি

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

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

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

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

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

আদর্শ ঐচ্ছিক উদাহরণ
URL টি বর্তমান পৃষ্ঠার 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 সেট করে। যদি এটি সেট না করা থাকে, তাহলে উইন্ডোর উপরের ডানদিকের কোণায় One Tap প্রম্পট প্রদর্শিত হবে। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

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

না

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

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

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

প্রেক্ষাপট

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

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

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

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

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

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

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

ux_mode সম্পর্কে

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

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

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

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

অনুমোদিত_প্যারেন্ট_অরিজিন

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

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

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

মূল্যের ধরণ
string একটি একক ডোমেন URI। "https://example.com"
string array ডোমেন URI-এর একটি অ্যারে। ["https://news.example.com", "https://local.example.com"]

ওয়াইল্ডকার্ড প্রিফিক্সগুলিও সমর্থিত। উদাহরণস্বরূপ, "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" অবৈধ বলে বিবেচিত হবে।

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

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

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

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

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

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

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

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

লগইন_ইঙ্গিত

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

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

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

এইচডি

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

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

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

প্রম্পটের জন্য_ফেডসিএম_ব্যবহার করুন

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

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

বোতামের জন্য_fedcm_ব্যবহার করুন

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

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

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

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

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

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

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

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

সাধারণত, পৃষ্ঠা লোডের সময় prompt() পদ্ধতিটি কল করা হয়। গুগলের সেশন স্ট্যাটাস এবং ব্যবহারকারীর সেটিংসের কারণে, ওয়ান ট্যাপ প্রম্পট UI প্রদর্শিত নাও হতে পারে। বিভিন্ন মুহূর্তের জন্য UI স্ট্যাটাস সম্পর্কে বিজ্ঞপ্তি পেতে, UI স্ট্যাটাস বিজ্ঞপ্তিগুলি পাওয়ার জন্য একটি ফাংশন পাস করুন।

নিম্নলিখিত মুহুর্তে বিজ্ঞপ্তিগুলি পাঠানো হয়:

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

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

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

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

<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 সক্রিয় থাকে, তখন এই বিজ্ঞপ্তিটি সমর্থিত নয়। আরও তথ্যের জন্য FedCM-এ স্থানান্তর করুন পৃষ্ঠাটি দেখুন।
isDisplayed() যদি মোমেন্ট টাইপ PromptMoment.DISPLAY হয় এবং One Tap প্রম্পট প্রদর্শিত হয়, তাহলে true রিটার্ন করে।

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

দ্রষ্টব্য: যখন FedCM সক্রিয় থাকে, তখন এই বিজ্ঞপ্তিটি সমর্থিত নয়। আরও তথ্যের জন্য 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 সক্রিয় থাকে, তখন এই পদ্ধতিটি সমর্থিত নয়। আরও তথ্যের জন্য FedCM-এ স্থানান্তর করুন পৃষ্ঠাটি দেখুন।
isSkippedMoment() যদি মুহূর্ত টাইপ PromptMoment.SKIPPED হয় তাহলে true রিটার্ন করে।

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

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

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

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

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

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

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

  • display
  • skipped
  • dismissed

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

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

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

শংসাপত্র

এই ক্ষেত্রটি হল একটি বেস৬৪-এনকোডেড JSON ওয়েব টোকেন (JWT) স্ট্রিং হিসেবে ID টোকেন।

ডিকোড করা হলে, 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 GSuite email address
  "email": "elisa.g.beckett@gmail.com", // The user's email address
  "email_verified": true, // true, if Google has verified the email address
  "azp": "314159265-pi.apps.googleusercontent.com",
  "name": "Elisa Beckett",
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/e2718281828459045235360uler",
  "given_name": "Elisa",
  "family_name": "Beckett",
  "iat": 1596474000, // Unix timestamp of the assertion's creation time
  "exp": 1596477600, // Unix timestamp of the assertion's expiration time
  "jti": "abc161803398874def"
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

অবস্থা

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

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

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

google.accounts.id.renderButton পদ্ধতিটি আপনার ওয়েব পৃষ্ঠাগুলিতে একটি "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 যদি সেট করা থাকে, তাহলে এই স্ট্রিংটি ID টোকেন সহ ফিরে আসে।

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

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

টাইপ করুন

বোতামের ধরণ। ডিফল্ট মান হল 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
বোতামের লেখাটি হল "গুগলের সাথে চালিয়ে যান"।
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"

লোকেল

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

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

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

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

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

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

  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 বোতামে ক্লিক করা হয়েছে... বার্তাটি কনসোলে লগ করা হয়।

অবস্থা

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

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

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

ডেটা টাইপ: শংসাপত্র

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

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

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

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

google.accounts.id.disableAutoSelect()

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

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

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

এই পদ্ধতিটি ব্রাউজারের বিল্ট-ইন ক্রেডেনশিয়াল ম্যানেজার API-এর 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 থেকে প্রম্পটটি সরিয়ে ফেললে আপনি One Tap ফ্লো বাতিল করতে পারবেন। যদি কোনও শংসাপত্র ইতিমধ্যেই নির্বাচিত থাকে তবে বাতিলকরণ অপারেশনটি উপেক্ষা করা হয়। পদ্ধতির নিম্নলিখিত কোড উদাহরণটি দেখুন:

google.accounts.id.cancel()

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

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

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

আপনি onGoogleLibraryLoad কলব্যাক নিবন্ধন করতে পারেন। Sign In With Google JavaScript লাইব্রেরি লোড হওয়ার পরে এটি জানানো হবে:

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 ফাংশন ঐচ্ছিক প্রত্যাহার প্রতিক্রিয়া হ্যান্ডলার।

নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে একটি আইডি দিয়ে revoke পদ্ধতি ব্যবহার করতে হয়।

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

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

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

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

সফল

এই ক্ষেত্রটি একটি বুলিয়ান মান যা প্রত্যাহার পদ্ধতি কল সফল হলে সত্য অথবা ব্যর্থ হলে মিথ্যা হিসেবে সেট করা হয়।

ত্রুটি

এই ক্ষেত্রটি একটি স্ট্রিং মান এবং এতে একটি বিস্তারিত ত্রুটি বার্তা রয়েছে যদি প্রত্যাহার পদ্ধতি কল ব্যর্থ হয়, এটি সাফল্যের উপর অনির্ধারিত।