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

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

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

google.accounts.id.initialize পদ্ধতি কনফিগারেশন অবজেক্টের উপর ভিত্তি করে 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 পদ্ধতিটি Google ক্লায়েন্টের সাথে একটি সাইন ইন তৈরি করে যা একই ওয়েব পৃষ্ঠার সমস্ত মডিউল দ্বারা নিহিতভাবে ব্যবহার করা যেতে পারে।

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

আপনি যখনই google.accounts.id.initialize পদ্ধতিতে কল করেন তখনই আপনি কনফিগারেশনগুলি পুনরায় সেট করেন এবং একই ওয়েব পৃষ্ঠার সমস্ত পরবর্তী পদ্ধতি অবিলম্বে নতুন কনফিগারেশন ব্যবহার করে৷

ডেটা টাইপ: আইডি কনফিগারেশন

নিম্নলিখিত সারণীটি IdConfiguration ডেটা প্রকারের ক্ষেত্র এবং বিবরণ তালিকাভুক্ত করে:

মাঠ
client_id আপনার আবেদনের ক্লায়েন্ট আইডি
auto_select স্বয়ংক্রিয় নির্বাচন সক্ষম করে।
callback জাভাস্ক্রিপ্ট ফাংশন যা আইডি টোকেন পরিচালনা করে। Google One Tap এবং Sign In With Google বোতাম popup UX মোডে এই অ্যাট্রিবিউট ব্যবহার করুন।
login_uri আপনার লগইন এন্ডপয়েন্টের URL। সাইন ইন উইথ গুগল বোতাম redirect ইউএক্স মোড এই বৈশিষ্ট্যটি ব্যবহার করে।
native_callback JavaScript ফাংশন যা পাসওয়ার্ড শংসাপত্র পরিচালনা করে।
cancel_on_tap_outside ব্যবহারকারী প্রম্পটের বাইরে ক্লিক করলে প্রম্পটটি বাতিল করে।
prompt_parent_id ওয়ান ট্যাপ প্রম্পট কন্টেইনার উপাদানের DOM আইডি
nonce আইডি টোকেনগুলির জন্য একটি র্যান্ডম স্ট্রিং৷
context ওয়ান ট্যাপ প্রম্পটে শিরোনাম এবং শব্দ
state_cookie_domain আপনি যদি প্যারেন্ট ডোমেন এবং এর সাবডোমেনে ওয়ান ট্যাপ কল করতে চান, তাহলে এই ফিল্ডে প্যারেন্ট ডোমেনটি পাস করুন যাতে একটি একক শেয়ার করা কুকি ব্যবহার করা হয়।
ux_mode Google বোতাম দিয়ে সাইন ইন করুন UX ফ্লো
allowed_parent_origin মধ্যবর্তী iframe এম্বেড করার অনুমতি দেওয়া উত্সগুলি৷ এই ক্ষেত্রটি উপস্থিত থাকলে মধ্যবর্তী আইফ্রেম মোডে ওয়ান ট্যাপ চালানো হয়।
intermediate_iframe_close_callback ব্যবহারকারীরা ম্যানুয়ালি ওয়ান ট্যাপ বন্ধ করলে ডিফল্ট মধ্যবর্তী iframe আচরণ ওভাররাইড করে।
itp_support ITP ব্রাউজারগুলিতে আপগ্রেড করা One Tap UX সক্ষম করে৷
login_hint ব্যবহারকারীর ইঙ্গিত প্রদান করে অ্যাকাউন্ট নির্বাচন এড়িয়ে যান।
hd ডোমেন অনুযায়ী অ্যাকাউন্ট নির্বাচন সীমিত করুন।
use_fedcm_for_prompt ব্রাউজারকে ব্যবহারকারীর সাইন-ইন প্রম্পট নিয়ন্ত্রণ করতে এবং আপনার ওয়েবসাইট এবং Google-এর মধ্যে সাইন-ইন প্রবাহের মধ্যস্থতা করার অনুমতি দিন।
enable_redirect_uri_validation বোতাম পুনঃনির্দেশ প্রবাহ সক্ষম করুন যা পুনঃনির্দেশ URI বৈধতা নিয়ম মেনে চলে।

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

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

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

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

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

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

কলব্যাক

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

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

লগইন_উরি

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

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

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

আইডি টোকেন শংসাপত্রের প্রতিক্রিয়া আপনার লগইন এন্ডপয়েন্টে পোস্ট করা হয় যখন একজন ব্যবহারকারী সাইন ইন উইথ Google বোতামে ক্লিক করে এবং UX মোড পুনঃনির্দেশিত করে।

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

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

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

নিম্নলিখিত আপনার লগইন শেষ বিন্দুতে একটি উদাহরণ অনুরোধ:

POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded

credential=ID_TOKEN

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

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

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

ক্যান্সেল_অন_ট্যাপ_বাইরে

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

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

prompt_parent_id

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

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

না

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

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

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

প্রসঙ্গ

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

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

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

প্রসঙ্গ
signin "গুগল দিয়ে সাইন ইন করুন"
signup "গুগলের সাথে সাইন আপ করুন"
use "Google এর সাথে ব্যবহার করুন"

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

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

ux_mode

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

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

নিম্নলিখিত সারণী উপলব্ধ UX মোড এবং তাদের বিবরণ তালিকাভুক্ত করে।

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

অনুমোদিত_অভিভাবক_উৎপত্তি

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

টাইপ প্রয়োজন উদাহরণ
স্ট্রিং বা স্ট্রিং অ্যারে ঐচ্ছিক 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 )। ওয়াইল্ডকার্ড ব্যবহার করার সময় যে বিষয়গুলি মনে রাখবেন:

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

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

মধ্যবর্তী_iframe_close_callback

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

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

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

itp_support

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

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

লগইন_ইঙ্গিত

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

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

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

এইচডি

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

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

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

use_fedcm_for_prompt

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

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

enable_redirect_uri_validation

বোতাম পুনঃনির্দেশ প্রবাহ সক্ষম করুন যা পুনঃনির্দেশ URI বৈধতা নিয়ম মেনে চলে।

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

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

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

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

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

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

  • ডিসপ্লে মোমেন্ট: prompt() পদ্ধতি কল করার পরে এটি ঘটে। UI প্রদর্শন করা হচ্ছে কিনা তা নির্দেশ করার জন্য বিজ্ঞপ্তিতে একটি বুলিয়ান মান রয়েছে।
  • এড়িয়ে যাওয়া মুহূর্ত: এটি ঘটে যখন ওয়ান ট্যাপ প্রম্পট একটি স্বয়ংক্রিয় বাতিল, একটি ম্যানুয়াল বাতিল দ্বারা বন্ধ হয়ে যায়, বা যখন Google একটি শংসাপত্র ইস্যু করতে ব্যর্থ হয়, যেমন যখন নির্বাচিত সেশনটি 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

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

পদ্ধতি
isDisplayMoment() এই বিজ্ঞপ্তি কি একটি প্রদর্শন মুহূর্ত জন্য?

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

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

দ্রষ্টব্য: যখন 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() এই বিজ্ঞপ্তি কি একটি এড়িয়ে যাওয়া মুহুর্তের জন্য?
getSkippedReason()

এড়িয়ে যাওয়া মুহূর্তটির বিস্তারিত কারণ। নিম্নলিখিত সম্ভাব্য মান:

  • auto_cancel
  • user_cancel
  • tap_outside
  • issuing_failed
দ্রষ্টব্য: যখন FedCM সক্রিয় থাকে, এই পদ্ধতিটি সমর্থিত নয়৷ আরও তথ্যের জন্য FedCM পৃষ্ঠায় স্থানান্তর করুন দেখুন।
isDismissedMoment() এই বিজ্ঞপ্তিটি কি খারিজ মুহূর্তের জন্য?
getDismissedReason()

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

  • credential_returned
  • cancel_called
  • flow_restarted
getMomentType()

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

  • display
  • skipped
  • dismissed

ডেটা টাইপ: শংসাপত্রের প্রতিক্রিয়া

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

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

শংসাপত্র

এই ক্ষেত্রটি হল ID টোকেন হিসাবে একটি base64-এনকোডেড 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 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 ফিল্ড হল Google অ্যাকাউন্টের জন্য একটি বিশ্বব্যাপী অনন্য শনাক্তকারী। ব্যবহারকারীর শনাক্তকারী হিসাবে শুধুমাত্র sub ক্ষেত্র ব্যবহার করুন কারণ এটি সমস্ত Google অ্যাকাউন্টের মধ্যে অনন্য এবং কখনও পুনঃব্যবহৃত হয় না। একটি শনাক্তকারী হিসাবে ইমেল ঠিকানা ব্যবহার করবেন না কারণ একটি 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_verfied সত্যও হতে পারে কারণ Google প্রাথমিকভাবে ব্যবহারকারীকে যাচাই করেছিল যখন Google অ্যাকাউন্ট তৈরি হয়েছিল, তবে তৃতীয় পক্ষের ইমেল অ্যাকাউন্টের মালিকানা তখন থেকে পরিবর্তিত হতে পারে।

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

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

নিম্নলিখিত সারণী select_by ক্ষেত্রের সম্ভাব্য মান তালিকাভুক্ত করে। মান সেট করতে সেশন এবং সম্মতি স্থিতি সহ ব্যবহৃত বোতামের ধরন ব্যবহার করা হয়,

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

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

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

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

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

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

রাষ্ট্র

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

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

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

google.accounts.id.renderButton পদ্ধতিটি আপনার ওয়েব পৃষ্ঠাগুলিতে Google বোতামের সাথে একটি সাইন ইন রেন্ডার করে৷

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

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

ডেটা টাইপ: GsiButton কনফিগারেশন

নিম্নলিখিত সারণীতে GsiButtonConfiguration ডেটা টাইপের ক্ষেত্র এবং বিবরণ তালিকাভুক্ত করা হয়েছে:

বৈশিষ্ট্য
type বোতামের ধরন: আইকন বা স্ট্যান্ডার্ড বোতাম।
theme বোতাম থিম. যেমন, filled_blue বা filled_black।
size বোতামের আকার। যেমন ছোট বা বড়।
text বোতাম পাঠ্য। উদাহরণস্বরূপ, "Google এর সাথে সাইন ইন করুন" বা "Google এর সাথে সাইন আপ করুন"।
shape বোতাম আকৃতি. উদাহরণস্বরূপ, আয়তক্ষেত্রাকার বা বৃত্তাকার।
logo_alignment Google লোগো সারিবদ্ধকরণ: বাম বা কেন্দ্র।
width বোতামের প্রস্থ, পিক্সেলে।
locale যদি সেট করা হয়, তাহলে বোতামের ভাষা রেন্ডার করা হয়।
click_listener সেট করা হলে, 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
বোতামের টেক্সট হল "Google দিয়ে সাইন ইন করুন"।
signup_with
বোতামের পাঠ্য হল "Google এর সাথে সাইন আপ করুন"।
continue_with
বোতামের টেক্সট হল "Google এর সাথে চালিয়ে যান"।
signin
বোতামের পাঠ্য হল "সাইন ইন"।

আকৃতি

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

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

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

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

logo_alignment

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

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

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

logo_alignment
left
Google লোগোকে বাম-সারিবদ্ধ করে।
center
Google লোগোকে কেন্দ্রে সারিবদ্ধ করে।

প্রস্থ

ন্যূনতম বোতামের প্রস্থ, পিক্সেলে। সর্বাধিক প্রস্থ 400 পিক্সেল।

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

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

লোকেল

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

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

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

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

ক্লিক_শ্রোতা

আপনি একটি জাভাস্ক্রিপ্ট ফাংশন সংজ্ঞায়িত করতে পারেন যাকে কল করা হবে যখন Google-এর সাথে সাইন ইন বোতাম ক্লিক করা হয় click_listener অ্যাট্রিবিউট ব্যবহার করে।

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

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

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

রাষ্ট্র

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

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

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

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

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

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

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

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

google.accounts.id.disableAutoSelect()

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

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

google.accounts.id.cancel()

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

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

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

আপনি একটি onGoogleLibraryLoad কলব্যাক নিবন্ধন করতে পারেন। 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 পদ্ধতিটি নির্দিষ্ট ব্যবহারকারীর জন্য ID টোকেন ভাগ করতে ব্যবহৃত OAuth অনুদান প্রত্যাহার করে। পদ্ধতির নিম্নলিখিত কোড স্নিপেট দেখুন: javascript google.accounts.id.revoke(login_hint, callback)

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

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

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

ডেটা টাইপ: RevocationResponse

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

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

সফল

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

ত্রুটি

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

,

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

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

google.accounts.id.initialize পদ্ধতি কনফিগারেশন অবজেক্টের উপর ভিত্তি করে 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 পদ্ধতিটি Google ক্লায়েন্টের সাথে একটি সাইন ইন তৈরি করে যা একই ওয়েব পৃষ্ঠার সমস্ত মডিউল দ্বারা নিহিতভাবে ব্যবহার করা যেতে পারে।

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

আপনি যখনই google.accounts.id.initialize পদ্ধতিতে কল করেন তখনই আপনি কনফিগারেশনগুলি পুনরায় সেট করেন এবং একই ওয়েব পৃষ্ঠার সমস্ত পরবর্তী পদ্ধতি অবিলম্বে নতুন কনফিগারেশন ব্যবহার করে৷

ডেটা টাইপ: আইডি কনফিগারেশন

নিম্নলিখিত সারণীটি IdConfiguration ডেটা প্রকারের ক্ষেত্র এবং বিবরণ তালিকাভুক্ত করে:

মাঠ
client_id আপনার আবেদনের ক্লায়েন্ট আইডি
auto_select স্বয়ংক্রিয় নির্বাচন সক্ষম করে।
callback জাভাস্ক্রিপ্ট ফাংশন যা আইডি টোকেন পরিচালনা করে। Google One Tap এবং Sign In With Google বোতাম popup UX মোডে এই অ্যাট্রিবিউট ব্যবহার করুন।
login_uri আপনার লগইন এন্ডপয়েন্টের URL। সাইন ইন উইথ গুগল বোতাম redirect ইউএক্স মোড এই বৈশিষ্ট্যটি ব্যবহার করে।
native_callback JavaScript ফাংশন যা পাসওয়ার্ড শংসাপত্র পরিচালনা করে।
cancel_on_tap_outside ব্যবহারকারী প্রম্পটের বাইরে ক্লিক করলে প্রম্পটটি বাতিল করে।
prompt_parent_id ওয়ান ট্যাপ প্রম্পট কন্টেইনার উপাদানের DOM আইডি
nonce আইডি টোকেনগুলির জন্য একটি র্যান্ডম স্ট্রিং৷
context ওয়ান ট্যাপ প্রম্পটে শিরোনাম এবং শব্দ
state_cookie_domain আপনি যদি প্যারেন্ট ডোমেন এবং এর সাবডোমেনে ওয়ান ট্যাপ কল করতে চান, তাহলে এই ফিল্ডে প্যারেন্ট ডোমেনটি পাস করুন যাতে একটি একক শেয়ার করা কুকি ব্যবহার করা হয়।
ux_mode Google বোতাম দিয়ে সাইন ইন করুন UX ফ্লো
allowed_parent_origin মধ্যবর্তী iframe এম্বেড করার অনুমতি দেওয়া উত্সগুলি৷ এই ক্ষেত্রটি উপস্থিত থাকলে মধ্যবর্তী আইফ্রেম মোডে ওয়ান ট্যাপ চালানো হয়।
intermediate_iframe_close_callback ব্যবহারকারীরা ম্যানুয়ালি ওয়ান ট্যাপ বন্ধ করলে ডিফল্ট মধ্যবর্তী iframe আচরণ ওভাররাইড করে।
itp_support ITP ব্রাউজারগুলিতে আপগ্রেড করা One Tap UX সক্ষম করে৷
login_hint ব্যবহারকারীর ইঙ্গিত প্রদান করে অ্যাকাউন্ট নির্বাচন এড়িয়ে যান।
hd ডোমেন অনুযায়ী অ্যাকাউন্ট নির্বাচন সীমিত করুন।
use_fedcm_for_prompt ব্রাউজারকে ব্যবহারকারীর সাইন-ইন প্রম্পট নিয়ন্ত্রণ করতে এবং আপনার ওয়েবসাইট এবং Google-এর মধ্যে সাইন-ইন প্রবাহের মধ্যস্থতা করার অনুমতি দিন।
enable_redirect_uri_validation বোতাম পুনঃনির্দেশ প্রবাহ সক্ষম করুন যা পুনঃনির্দেশ URI বৈধতা নিয়ম মেনে চলে।

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

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

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

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

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

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

কলব্যাক

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

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

লগইন_উরি

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

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

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

আইডি টোকেন শংসাপত্রের প্রতিক্রিয়া আপনার লগইন এন্ডপয়েন্টে পোস্ট করা হয় যখন একজন ব্যবহারকারী সাইন ইন উইথ Google বোতামে ক্লিক করে এবং UX মোড পুনঃনির্দেশিত করে।

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

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

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

নিম্নলিখিত আপনার লগইন শেষ বিন্দুতে একটি উদাহরণ অনুরোধ:

POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded

credential=ID_TOKEN

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

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

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

ক্যান্সেল_অন_ট্যাপ_বাইরে

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

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

prompt_parent_id

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

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

না

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

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

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

প্রসঙ্গ

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

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

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

প্রসঙ্গ
signin "গুগল দিয়ে সাইন ইন করুন"
signup "গুগলের সাথে সাইন আপ করুন"
use "Google এর সাথে ব্যবহার করুন"

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

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

ux_mode

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

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

নিম্নলিখিত সারণী উপলব্ধ UX মোড এবং তাদের বিবরণ তালিকাভুক্ত করে।

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

অনুমোদিত_অভিভাবক_উৎপত্তি

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

টাইপ প্রয়োজন উদাহরণ
স্ট্রিং বা স্ট্রিং অ্যারে ঐচ্ছিক 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 )। ওয়াইল্ডকার্ড ব্যবহার করার সময় যে বিষয়গুলি মনে রাখবেন:

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

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

মধ্যবর্তী_iframe_close_callback

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

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

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

itp_support

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

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

লগইন_হিন্ট

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

আরও তথ্যের জন্য, ওপেনআইডি সংযোগ ডকুমেন্টেশনে লগইন_হিন্ট ক্ষেত্রটি দেখুন।

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

এইচডি

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

আরও তথ্যের জন্য, ওপেনআইডি কানেক্ট ডকুমেন্টেশনে এইচডি ক্ষেত্রটি দেখুন।

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

use_fedcm_for_prompt

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

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

সক্ষম_রেডাইরেক্ট_উরি_ভালিডেশন সক্ষম করুন

বাটন পুনঃনির্দেশ প্রবাহ সক্ষম করুন যা ইউআরআই বৈধতা বিধিগুলি পুনর্নির্দেশ করে।

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

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

google.accounts.id.prompt পদ্ধতিটি initialize() পদ্ধতিটি অনুরোধ করার পরে একটি ট্যাপ প্রম্পট বা ব্রাউজার নেটিভ শংসাপত্র পরিচালক প্রদর্শন করে। পদ্ধতির নিম্নলিখিত কোড উদাহরণ দেখুন:

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

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

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

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

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

  • বরখাস্ত মুহুর্ত: গুগল যখন সফলভাবে কোনও শংসাপত্র পুনরুদ্ধার করে বা কোনও ব্যবহারকারী শংসাপত্র পুনরুদ্ধার প্রবাহ বন্ধ করতে চায় তখন এটি ঘটে। উদাহরণস্বরূপ, যখন ব্যবহারকারী আপনার লগইন ডায়ালগটিতে তাদের ব্যবহারকারীর নাম এবং পাসওয়ার্ড ইনপুট শুরু করে, আপনি একটি ট্যাপ প্রম্পটটি বন্ধ করতে এবং একটি বরখাস্ত মুহুর্তটি ট্রিগার করার জন্য 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() এটি কি একটি প্রদর্শন মুহুর্তের জন্য বিজ্ঞপ্তি?

দ্রষ্টব্য: যখন ফেডসিএম সক্ষম করা হয় , তখন এই বিজ্ঞপ্তিটি বরখাস্ত করা হয় না। আরও তথ্যের জন্য ফেডসিএম পৃষ্ঠায় মাইগ্রেট দেখুন।
isDisplayed() এটি কি কোনও ডিসপ্লে মুহুর্তের জন্য বিজ্ঞপ্তি, এবং ইউআই প্রদর্শিত হয়?

দ্রষ্টব্য: যখন ফেডসিএম সক্ষম করা হয় , তখন এই বিজ্ঞপ্তিটি বরখাস্ত করা হয় না। আরও তথ্যের জন্য ফেডসিএম পৃষ্ঠায় মাইগ্রেট দেখুন।
isNotDisplayed() এটি কি কোনও ডিসপ্লে মুহুর্তের জন্য বিজ্ঞপ্তি, এবং ইউআই প্রদর্শিত হয় না?

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

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

  • browser_not_supported
  • invalid_client
  • missing_client_id
  • opt_out_or_no_session
  • secure_http_required
  • suppressed_by_user
  • unregistered_origin
  • unknown_reason
দ্রষ্টব্য: যখন ফেডসিএম সক্ষম করা হয় , তখন এই পদ্ধতিটি সমর্থিত নয়। আরও তথ্যের জন্য ফেডসিএম পৃষ্ঠায় মাইগ্রেট দেখুন।
isSkippedMoment() এটি একটি এড়িয়ে যাওয়া মুহুর্তের জন্য বিজ্ঞপ্তি?
getSkippedReason()

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

  • auto_cancel
  • user_cancel
  • tap_outside
  • issuing_failed
দ্রষ্টব্য: যখন ফেডসিএম সক্ষম করা হয় , তখন এই পদ্ধতিটি সমর্থিত নয়। আরও তথ্যের জন্য ফেডসিএম পৃষ্ঠায় মাইগ্রেট দেখুন।
isDismissedMoment() এটি কি বরখাস্ত মুহুর্তের জন্য বিজ্ঞপ্তি?
getDismissedReason()

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

  • credential_returned
  • cancel_called
  • flow_restarted
getMomentType()

মুহুর্তের ধরণের জন্য একটি স্ট্রিং ফিরিয়ে দিন। নিম্নলিখিত সম্ভাব্য মানগুলি:

  • display
  • skipped
  • dismissed

ডেটা প্রকার: শংসাপত্রের প্রতিক্রিয়া

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

মাঠ
credential এই ক্ষেত্রটি ফেরত আইডি টোকেন।
select_by এই ক্ষেত্রটি কীভাবে শংসাপত্রটি নির্বাচন করা হয় তা সেট করে।
state এই ক্ষেত্রটি কেবল তখনই সংজ্ঞায়িত করা হয় যখন ব্যবহারকারী সাইন ইন করার জন্য গুগল বোতামের সাথে একটি সাইন ইন ক্লিক করে এবং বোতামের state বৈশিষ্ট্যটি নির্দিষ্ট করা থাকে।

শংসাপত্র

এই ক্ষেত্রটি বেস 64-এনকোডেড জেএসএন ওয়েব টোকেন (জেডাব্লুটি) স্ট্রিং হিসাবে আইডি টোকেন।

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

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 ক্ষেত্রগুলি ব্যবহার করে আপনি নির্ধারণ করতে পারেন যে গুগল হোস্ট করে এবং কোনও ইমেল ঠিকানার জন্য প্রামাণিক। গুগল প্রামাণ্য ক্ষেত্রে যেখানে ব্যবহারকারী বৈধ অ্যাকাউন্টের মালিক হিসাবে নিশ্চিত হয়।

গুগল অনুমোদিত যেখানে:

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

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

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

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

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

  • ব্যবহারকারী হয় একটি টিপুন বা গুগল বোতামের সাথে সাইন ইন করে বা টাচলেস স্বয়ংক্রিয় সাইন-ইন প্রক্রিয়া ব্যবহার করে।

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

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

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

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

মান বর্ণনা
auto বিদ্যমান সেশন সহ কোনও ব্যবহারকারীর স্বয়ংক্রিয় সাইন-ইন যিনি এর আগে শংসাপত্রগুলি ভাগ করে নেওয়ার সম্মতি দিয়েছিলেন। কেবল নন-এফডিসিএম সমর্থিত ব্রাউজারগুলিতে প্রযোজ্য।
user একটি বিদ্যমান সেশন সহ একজন ব্যবহারকারী যিনি পূর্বে সম্মতি দিয়েছিলেন তার শংসাপত্রগুলি ভাগ করার জন্য একটি ট্যাপ 'চালিয়ে যান' বোতামটি টিপুন। কেবল নন-এফডিসিএম সমর্থিত ব্রাউজারগুলিতে প্রযোজ্য।
fedcm একজন ব্যবহারকারী ফেডসিএম ব্যবহার করে শংসাপত্রগুলি ভাগ করে নেওয়ার জন্য একটি ট্যাপ 'চালিয়ে যান' বোতামটি চাপলেন। কেবল ফেডসিএম সমর্থিত ব্রাউজারগুলিতে প্রযোজ্য।
fedcm_auto বিদ্যমান সেশন সহ কোনও ব্যবহারকারীর স্বয়ংক্রিয় সাইন-ইন যিনি এর আগে ফেডসিএম ওয়ান ট্যাপ ব্যবহার করে শংসাপত্রগুলি ভাগ করে নেওয়ার সম্মতি দিয়েছিলেন। কেবল ফেডসিএম সমর্থিত ব্রাউজারগুলিতে প্রযোজ্য।
user_1tap একটি বিদ্যমান সেশন সহ একজন ব্যবহারকারী সম্মতি দেওয়ার জন্য এবং শংসাপত্রগুলি ভাগ করে নেওয়ার জন্য একটি ট্যাপ 'চালিয়ে যান' বোতামটি চাপলেন। কেবল ক্রোম ভি 75 এবং উচ্চতর ক্ষেত্রে প্রযোজ্য।
user_2tap কোনও বিদ্যমান সেশন ব্যতীত একজন ব্যবহারকারী একটি অ্যাকাউন্ট নির্বাচন করতে একটি ট্যাপ 'চালিয়ে যান' বোতাম টিপে এবং তারপরে সম্মতি দেওয়ার জন্য এবং শংসাপত্রগুলি ভাগ করে নেওয়ার জন্য একটি পপ-আপ উইন্ডোতে নিশ্চিত বোতামটি টিপুন। ক্রোমিয়াম ভিত্তিক ব্রাউজারগুলিতে প্রযোজ্য।
btn একটি বিদ্যমান সেশন সহ একজন ব্যবহারকারী যিনি পূর্বে সম্মতি মঞ্জুর করেছিলেন গুগল বোতামের সাহায্যে সাইন ইন টিপেছিলেন এবং শংসাপত্রগুলি ভাগ করে নেওয়ার জন্য 'একটি অ্যাকাউন্ট চয়ন করুন' থেকে একটি গুগল অ্যাকাউন্ট নির্বাচন করেছেন।
btn_confirm একটি বিদ্যমান সেশন সহ একজন ব্যবহারকারী গুগল বোতামের সাহায্যে সাইন ইন টিপেন এবং সম্মতি এবং শংসাপত্রগুলি ভাগ করে নেওয়ার জন্য নিশ্চিত বোতামটি টিপলেন।
btn_add_session বিদ্যমান সেশন ব্যতীত একজন ব্যবহারকারী যিনি পূর্বে সম্মতি মঞ্জুর করেছিলেন গুগল অ্যাকাউন্ট নির্বাচন করতে এবং শংসাপত্রগুলি ভাগ করে নেওয়ার জন্য গুগল বোতামের সাথে সাইন ইন টিপুন।
btn_confirm_add_session কোনও বিদ্যমান সেশন ছাড়াই একজন ব্যবহারকারী প্রথমে গুগল অ্যাকাউন্ট নির্বাচন করতে গুগল বোতামের সাহায্যে সাইন ইন টিপেন এবং তারপরে সম্মতি এবং শংসাপত্রগুলি ভাগ করে নেওয়ার জন্য নিশ্চিত বোতামটি টিপুন।

রাষ্ট্র

এই ক্ষেত্রটি কেবল তখনই সংজ্ঞায়িত করা হয় যখন ব্যবহারকারী সাইন ইন করতে গুগল বোতামের সাথে একটি সাইন ইন ক্লিক করেন এবং ক্লিক করা বোতামের state বৈশিষ্ট্য নির্দিষ্ট করা থাকে। এই ক্ষেত্রের মানটি আপনি বোতামের state গুণাবলীতে উল্লিখিত একই মান।

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

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

google.accounts.id.renderButton পদ্ধতি আপনার ওয়েব পৃষ্ঠাগুলিতে গুগল বোতামের সাথে একটি সাইন ইন করে।

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

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

ডেটা প্রকার: GSIBUTTONCONFIGRATION

নিম্নলিখিত টেবিলটি GsiButtonConfiguration ডেটা প্রকারের ক্ষেত্রগুলি এবং বিবরণগুলি তালিকাভুক্ত করে:

বৈশিষ্ট্য
type বোতামের ধরণ: আইকন বা স্ট্যান্ডার্ড বোতাম।
theme বোতাম থিম। উদাহরণস্বরূপ, ভরাট_ ব্লু বা ভরাট_ব্ল্যাক।
size বোতামের আকার। উদাহরণস্বরূপ, ছোট বা বড়।
text বোতাম পাঠ্য। উদাহরণস্বরূপ, "গুগলের সাথে সাইন ইন করুন" বা "গুগলের সাথে সাইন আপ করুন"।
shape বোতামের আকার। উদাহরণস্বরূপ, আয়তক্ষেত্রাকার বা বৃত্তাকার।
logo_alignment গুগল লোগো প্রান্তিককরণ: বাম বা কেন্দ্র।
width পিক্সেলগুলিতে বোতামের প্রস্থ।
locale যদি সেট করা হয়, তবে বোতামের ভাষা রেন্ডার করা হয়।
click_listener যদি সেট করা হয়, গুগল বোতামের সাথে সাইন ইন ক্লিক করা হলে এই ফাংশনটি বলা হয়।
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
বোতামের পাঠ্যটি "গুগল দিয়ে চালিয়ে যান"।
signin
বোতামের পাঠ্যটি "সাইন ইন"।

আকৃতি

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

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

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

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

logo_alignment

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

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

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

logo_alignment
left
গুগল লোগো বাম-প্রান্তিক করে।
center
কেন্দ্র-গুগল লোগোকে সারিবদ্ধ করে।

প্রস্থ

পিক্সেলগুলিতে সর্বনিম্ন বোতামের প্রস্থ। সর্বাধিক প্রস্থ 400 পিক্সেল।

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

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

লোকেল

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

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

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

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

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

Google বোতামের সাথে সাইন ইন click_listener অ্যাট্রিবিউট ব্যবহার করে ক্লিক করা হলে আপনি কল করার জন্য একটি জাভাস্ক্রিপ্ট ফাংশনটি সংজ্ঞায়িত করতে পারেন।

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

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

এই উদাহরণে, গুগল বোতামের সাথে বার্তা সাইন ইন ক্লিক করা হয়েছে ... গুগল বোতামের সাথে সাইন ইন ক্লিক করা হলে কনসোলে লগ করা হয়।

রাষ্ট্র

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

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

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

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

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

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

পদ্ধতি: Google.accounts.id.disableoutoselect

যখন ব্যবহারকারী আপনার ওয়েবসাইট থেকে সাইন ইন করে, আপনাকে কুকিজের স্থিতি রেকর্ড করতে 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)

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

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

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

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

google.accounts.id.cancel()

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

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

লাইব্রেরি লোড কলব্যাক: ওএনগোগলিব্রারিলোড

আপনি একটি onGoogleLibraryLoad কলব্যাক নিবন্ধন করতে পারেন। গুগল জাভাস্ক্রিপ্ট লাইব্রেরির সাথে সাইন ইন করার পরে এটি অবহিত করা হয়েছে:

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

এই কলব্যাকটি window.onload জন্য কেবল একটি শর্টকাট on কলব্যাক। আচরণে কোনও পার্থক্য নেই।

নিম্নলিখিত কোড উদাহরণটি একটি 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 ফাংশন Option চ্ছিক প্রত্যাবর্তন রেসপন্স হ্যান্ডলার।

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

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

ডেটা প্রকার: প্রত্যাহার সম্পর্কিত

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

মাঠ
successful এই ক্ষেত্রটি পদ্ধতি কলটির রিটার্ন মান।
error এই ক্ষেত্রটিতে ally চ্ছিকভাবে একটি বিশদ ত্রুটি প্রতিক্রিয়া বার্তা রয়েছে।

সফল

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

ত্রুটি

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

,

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

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

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

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 পদ্ধতি গুগল ক্লায়েন্ট উদাহরণ দিয়ে একটি সাইন ইন তৈরি করে যা একই ওয়েব পৃষ্ঠায় সমস্ত মডিউল দ্বারা স্পষ্টভাবে ব্যবহৃত হতে পারে।

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

আপনি যখনই google.accounts.id.initialize পদ্ধতিটি কল করেন আপনি যখনই কনফিগারেশনগুলি পুনরায় সেট করেন এবং একই ওয়েব পৃষ্ঠায় পরবর্তী সমস্ত পদ্ধতি অবিলম্বে নতুন কনফিগারেশনগুলি ব্যবহার করে।

ডেটা প্রকার: আইডি কনফিগারেশন

নিম্নলিখিত টেবিলটি IdConfiguration ডেটা প্রকারের ক্ষেত্রগুলি এবং বিবরণগুলি তালিকাভুক্ত করে:

মাঠ
client_id আপনার অ্যাপ্লিকেশনটির ক্লায়েন্ট আইডি
auto_select স্বয়ংক্রিয় নির্বাচন সক্ষম করে।
callback জাভাস্ক্রিপ্ট ফাংশন যা আইডি টোকেনগুলি পরিচালনা করে। গুগল ওয়ান ট্যাপ এবং গুগল বোতামের সাথে সাইন ইন popup ইউএক্স মোড এই বৈশিষ্ট্যটি ব্যবহার করুন।
login_uri আপনার লগইন শেষ পয়েন্টের ইউআরএল। গুগল বোতামের সাথে সাইন ইনটি ইউএক্স মোডটি redirect এই বৈশিষ্ট্যটি ব্যবহার করে।
native_callback জাভাস্ক্রিপ্ট ফাংশন যা পাসওয়ার্ডের শংসাপত্রগুলি পরিচালনা করে।
cancel_on_tap_outside প্রম্পটটি বাতিল করে দিলে যদি ব্যবহারকারী প্রম্পটের বাইরে ক্লিক করে।
prompt_parent_id ওয়ান ট্যাপ প্রম্পট কন্টেইনার উপাদানের DOM আইডি
nonce আইডি টোকেনগুলির জন্য একটি র্যান্ডম স্ট্রিং৷
context এক ট্যাপ প্রম্পটে শিরোনাম এবং শব্দ
state_cookie_domain যদি আপনাকে প্যারেন্ট ডোমেন এবং এর সাবডোমেনগুলিতে একটি ট্যাপ কল করতে হয় তবে প্যারেন্ট ডোমেনটিকে এই ক্ষেত্রে পাস করুন যাতে একক ভাগ করা কুকি ব্যবহার করা হয়।
ux_mode Google বোতাম দিয়ে সাইন ইন করুন UX ফ্লো
allowed_parent_origin মধ্যবর্তী iframe এম্বেড করার অনুমতি দেওয়া উত্সগুলি৷ এই ক্ষেত্রটি উপস্থিত থাকলে একটি ট্যাপ ইন্টারমিডিয়েট আইফ্রেম মোডে চালিত হয়।
intermediate_iframe_close_callback ব্যবহারকারীরা যখন ম্যানুয়ালি একটি ট্যাপ বন্ধ করে দেয় তখন ডিফল্ট ইন্টারমিডিয়েট আইএফআরএএম আচরণকে ওভাররাইড করে।
itp_support আইটিপি ব্রাউজারগুলিতে আপগ্রেড করা একটি ট্যাপ ইউএক্স সক্ষম করে।
login_hint ব্যবহারকারীর ইঙ্গিত সরবরাহ করে অ্যাকাউন্ট নির্বাচন এড়িয়ে যান।
hd ডোমেন দ্বারা অ্যাকাউন্ট নির্বাচন সীমাবদ্ধ করুন।
use_fedcm_for_prompt ব্রাউজারকে ব্যবহারকারীর সাইন-ইন প্রম্পট নিয়ন্ত্রণ করতে এবং আপনার ওয়েবসাইট এবং Google-এর মধ্যে সাইন-ইন প্রবাহের মধ্যস্থতা করার অনুমতি দিন।
enable_redirect_uri_validation বাটন পুনঃনির্দেশ প্রবাহ সক্ষম করুন যা ইউআরআই বৈধতা বিধিগুলি পুনর্নির্দেশ করে।

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

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

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

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

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

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

কলব্যাক

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

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

লগইন_উরি

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

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

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

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

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

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

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

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

POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded

credential=ID_TOKEN

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

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

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

ক্যান্সেল_অন_ট্যাপ_বাইরে

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

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

prompt_parent_id

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

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

না

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

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

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

প্রসঙ্গ

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

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

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

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

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

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

ux_mode

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

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

নিম্নলিখিত টেবিলটি উপলভ্য ইউএক্স মোড এবং তাদের বিবরণ তালিকাভুক্ত করে।

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

অনুমোদিত_অভিভাবক_উৎপত্তি

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

টাইপ প্রয়োজন উদাহরণ
স্ট্রিং বা স্ট্রিং অ্যারে ঐচ্ছিক 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 )। ওয়াইল্ডকার্ড ব্যবহার করার সময় জিনিসগুলি মনে রাখা উচিত:

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

যদি allowed_parent_origin ক্ষেত্রের মানটি অবৈধ হয় তবে মধ্যবর্তী আইফ্রেম মোডের একটি ট্যাপের সূচনা ব্যর্থ হয়ে থামবে।

মধ্যবর্তী_iframe_close_callback

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

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

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

itp_support

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

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

লগইন_হিন্ট

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

আরও তথ্যের জন্য, ওপেনআইডি সংযোগ ডকুমেন্টেশনে লগইন_হিন্ট ক্ষেত্রটি দেখুন।

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

এইচডি

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

আরও তথ্যের জন্য, ওপেনআইডি কানেক্ট ডকুমেন্টেশনে এইচডি ক্ষেত্রটি দেখুন।

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

use_fedcm_for_prompt

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

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

সক্ষম_রেডাইরেক্ট_উরি_ভালিডেশন সক্ষম করুন

বাটন পুনঃনির্দেশ প্রবাহ সক্ষম করুন যা ইউআরআই বৈধতা বিধিগুলি পুনর্নির্দেশ করে।

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

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

google.accounts.id.prompt পদ্ধতিটি initialize() পদ্ধতিটি অনুরোধ করার পরে একটি ট্যাপ প্রম্পট বা ব্রাউজার নেটিভ শংসাপত্র পরিচালক প্রদর্শন করে। পদ্ধতির নিম্নলিখিত কোড উদাহরণ দেখুন:

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

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

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

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

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

  • বরখাস্ত মুহুর্ত: গুগল যখন সফলভাবে কোনও শংসাপত্র পুনরুদ্ধার করে বা কোনও ব্যবহারকারী শংসাপত্র পুনরুদ্ধার প্রবাহ বন্ধ করতে চায় তখন এটি ঘটে। উদাহরণস্বরূপ, যখন ব্যবহারকারী আপনার লগইন ডায়ালগটিতে তাদের ব্যবহারকারীর নাম এবং পাসওয়ার্ড ইনপুট শুরু করে, আপনি একটি ট্যাপ প্রম্পটটি বন্ধ করতে এবং একটি বরখাস্ত মুহুর্তটি ট্রিগার করার জন্য 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() এটি কি একটি প্রদর্শন মুহুর্তের জন্য বিজ্ঞপ্তি?

দ্রষ্টব্য: যখন ফেডসিএম সক্ষম করা হয় , তখন এই বিজ্ঞপ্তিটি বরখাস্ত করা হয় না। আরও তথ্যের জন্য ফেডসিএম পৃষ্ঠায় মাইগ্রেট দেখুন।
isDisplayed() এটি কি কোনও ডিসপ্লে মুহুর্তের জন্য বিজ্ঞপ্তি, এবং ইউআই প্রদর্শিত হয়?

দ্রষ্টব্য: যখন ফেডসিএম সক্ষম করা হয় , তখন এই বিজ্ঞপ্তিটি বরখাস্ত করা হয় না। আরও তথ্যের জন্য ফেডসিএম পৃষ্ঠায় মাইগ্রেট দেখুন।
isNotDisplayed() এটি কি কোনও ডিসপ্লে মুহুর্তের জন্য বিজ্ঞপ্তি, এবং ইউআই প্রদর্শিত হয় না?

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

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

  • browser_not_supported
  • invalid_client
  • missing_client_id
  • opt_out_or_no_session
  • secure_http_required
  • suppressed_by_user
  • unregistered_origin
  • unknown_reason
দ্রষ্টব্য: যখন ফেডসিএম সক্ষম করা হয় , তখন এই পদ্ধতিটি সমর্থিত নয়। আরও তথ্যের জন্য ফেডসিএম পৃষ্ঠায় মাইগ্রেট দেখুন।
isSkippedMoment() এটি একটি এড়িয়ে যাওয়া মুহুর্তের জন্য বিজ্ঞপ্তি?
getSkippedReason()

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

  • auto_cancel
  • user_cancel
  • tap_outside
  • issuing_failed
দ্রষ্টব্য: যখন ফেডসিএম সক্ষম করা হয় , তখন এই পদ্ধতিটি সমর্থিত নয়। আরও তথ্যের জন্য ফেডসিএম পৃষ্ঠায় মাইগ্রেট দেখুন।
isDismissedMoment() এটি কি বরখাস্ত মুহুর্তের জন্য বিজ্ঞপ্তি?
getDismissedReason()

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

  • credential_returned
  • cancel_called
  • flow_restarted
getMomentType()

মুহুর্তের ধরণের জন্য একটি স্ট্রিং ফিরিয়ে দিন। নিম্নলিখিত সম্ভাব্য মানগুলি:

  • display
  • skipped
  • dismissed

ডেটা প্রকার: শংসাপত্রের প্রতিক্রিয়া

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

মাঠ
credential এই ক্ষেত্রটি ফেরত আইডি টোকেন।
select_by এই ক্ষেত্রটি কীভাবে শংসাপত্রটি নির্বাচন করা হয় তা সেট করে।
state এই ক্ষেত্রটি কেবল তখনই সংজ্ঞায়িত করা হয় যখন ব্যবহারকারী সাইন ইন করার জন্য গুগল বোতামের সাথে একটি সাইন ইন ক্লিক করে এবং বোতামের state বৈশিষ্ট্যটি নির্দিষ্ট করা থাকে।

শংসাপত্র

এই ক্ষেত্রটি বেস 64-এনকোডেড জেএসএন ওয়েব টোকেন (জেডাব্লুটি) স্ট্রিং হিসাবে আইডি টোকেন।

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

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 ক্ষেত্রগুলি ব্যবহার করে আপনি নির্ধারণ করতে পারেন যে গুগল হোস্ট করে এবং কোনও ইমেল ঠিকানার জন্য প্রামাণিক। গুগল প্রামাণ্য ক্ষেত্রে যেখানে ব্যবহারকারী বৈধ অ্যাকাউন্টের মালিক হিসাবে নিশ্চিত হয়।

গুগল অনুমোদিত যেখানে:

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

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

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

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

নিম্নলিখিত টেবিলটি select_by ক্ষেত্রের জন্য সম্ভাব্য মানগুলি তালিকাভুক্ত করে। The type of button used along with the session and consent state are used to set the value,

  • The user pressed either the One Tap or Sign In With Google button or used the touchless Automatic sign-in process.

  • An existing session was found, or the user selected and signed-in to a Google Account to establish a new session.

  • Prior to sharing ID token credentials with your app the user either

    • pressed the Confirm button to grant their consent to share credentials, or
    • had previously granted consent and used Select an Account to choose a Google Account.

The value of this field is set to one of these types,

মান বর্ণনা
auto Automatic sign-in of a user with an existing session who had previously granted consent to share credentials. Applies only to non-FedCM supported browsers.
user A user with an existing session who had previously granted consent pressed the One Tap 'Continue as' button to share credentials. Applies only to non-FedCM supported browsers.
fedcm A user pressed the One Tap 'Continue as' button to share credentials using FedCM. Applies only to FedCM supported browsers.
fedcm_auto Automatic sign-in of a user with an existing session who had previously granted consent to share credentials using FedCM One Tap. Applies only to FedCM supported browsers.
user_1tap A user with an existing session pressed the One Tap 'Continue as' button to grant consent and share credentials. Applies only to Chrome v75 and higher.
user_2tap A user without an existing session pressed the One Tap 'Continue as' button to select an account and then pressed the Confirm button in a pop-up window to grant consent and share credentials. Applies to non-Chromium based browsers.
btn A user with an existing session who previously granted consent pressed the Sign In With Google button and selected a Google Account from 'Choose an Account' to share credentials.
btn_confirm A user with an existing session pressed the Sign In With Google button and pressed the Confirm button to grant consent and share credentials.
btn_add_session A user without an existing session who previously granted consent pressed the Sign In With Google button to select a Google Account and share credentials.
btn_confirm_add_session A user without an existing session first pressed the Sign In With Google button to select a Google Account and then pressed the Confirm button to consent and share credentials.

রাষ্ট্র

This field is only defined when user clicks a Sign in with Google button to sign in, and the clicked button's state attribute is specified. The value of this field is the same value you specified in the button's state attribute.

As multiple Sign in with Google buttons can be rendered on the same page, you can assign each button with a unique string. Hence, you can this state field to identify which button user clicked to sign in.

Method: google.accounts.id.renderButton

The google.accounts.id.renderButton method renders a Sign In With Google button in your web pages.

See the following code example of the method:

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

Data type: GsiButtonConfiguration

The following table lists the fields and descriptions of the GsiButtonConfiguration data type:

বৈশিষ্ট্য
type The button type: icon, or standard button.
theme The button theme. For example, filled_blue or filled_black.
size The button size. For example, small or large.
text The button text. For example, "Sign in with Google" or "Sign up with Google".
shape The button shape. For example, rectangular or circular.
logo_alignment The Google logo alignment: left or center.
width The button width, in pixels.
locale If set, then the button language is rendered.
click_listener If set, this function is called when the Sign in with Google button is clicked.
state If set, this string returns with the ID token.

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

The following sections contain details about each attribute's type, and an example.

টাইপ

The button type. The default value is standard .

See the following table for further information:

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

The following table lists the available button types and their descriptions:

টাইপ
standard
Button with text or personalized information.
icon
An icon button without text.

থিম

The button theme. The default value is outline . See the following table for further information:

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

The following table lists the available themes and their descriptions:

থিম
outline
A standard button theme.
filled_blue
A blue-filled button theme.
filled_black
A black-filled button theme.

আকার

The button size. The default value is large . See the following table for further information:

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

The following table lists the available button sizes and their descriptions:

আকার
large
A large standard buttonA large icon buttonA large, personalized button
A large button.
medium
A medium standard buttonA medium icon button
A medium-sized button.
small
A small buttonA small icon button
A small button.

পাঠ্য

The button text. The default value is signin_with . There are no visual differences for the text of icon buttons that have different text attributes. The only exception is when the text is read for screen accessibility.

See the following table for further information:

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

The following table lists all the available button texts and their descriptions:

পাঠ্য
signin_with
The button text is "Sign in with Google".
signup_with
The button text is "Sign up with Google".
continue_with
The button text is "Continue with Google".
signin
The button text is "Sign in".

আকৃতি

The button shape. The default value is rectangular . See the following table for further information:

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

The following table lists the available button shapes and their descriptions:

আকৃতি
rectangular
The rectangular-shaped button. If used for the icon button type, then it's the same as square .
pill
The pill-shaped button. If used for the icon button type, then it's the same as circle .
circle
The circle-shaped button. If used for the standard button type, then it's the same as pill .
square
The square-shaped button. If used for the standard button type, then it's the same as rectangular .

logo_alignment

The alignment of the Google logo. The default value is left . This attribute only applies to the standard button type. See the following table for further information:

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

The following table lists the available alignments and their descriptions:

logo_alignment
left
Left-aligns the Google logo.
center
Center-aligns the Google logo.

প্রস্থ

The minimum button width, in pixels. The maximum width is 400 pixels.

See the following table for further information:

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

লোকেল

ঐচ্ছিক। Display button text using the specified locale, otherwise default to the users Google Account or browser settings. Add the hl parameter and language code to the src directive when loading the library, for example: gsi/client?hl=<iso-639-code> .

If it's not set, the browser's default locale or the Google session user's preference is used. Therefore, different users might see different versions of localized buttons, and possibly with different sizes.

See the following table for further information:

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

click_listener

You can define a JavaScript function to be called when the Sign in with Google button is clicked using the click_listener attribute.

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

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

In this example, the message Sign in with Google button clicked... is logged to the console when the Sign in with Google button is clicked.

রাষ্ট্র

Optional, as multiple Sign in with Google buttons can be rendered on the same page, you can assign each button with a unique string. The same string would return along with the ID token, so you can identify which button user clicked to sign in.

See the following table for further information:

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

Data type: Credential

When your native_callback function is invoked, a Credential object is passed as the parameter. The following table lists the fields contained in the object:

মাঠ
id Identifies the user.
password পাসওয়ার্ড

Method: google.accounts.id.disableAutoSelect

When the user signs out of your website, you need to call the method google.accounts.id.disableAutoSelect to record the status in cookies. This prevents a UX dead loop. See the following code snippet of the method:

google.accounts.id.disableAutoSelect()

The following code example implements the google.accounts.id.disableAutoSelect method with an onSignout() function:

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

Method: google.accounts.id.storeCredential

This method is a wrapper for the store() method of the browser's native credential manager API. Therefore, it can only be used to store a password credential. See the following code example of the method:

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

The following code example implements the google.accounts.id.storeCredential method with an onSignIn() function:

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

Method: google.accounts.id.cancel

You can cancel the One Tap flow if you remove the prompt from the relying party DOM. The cancel operation is ignored if a credential is already selected. See the following code example of the method:

google.accounts.id.cancel()

The following code example implements the google.accounts.id.cancel() method with an onNextButtonClicked() function:

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

Library load callback: onGoogleLibraryLoad

You can register an onGoogleLibraryLoad callback. It's notified after the Sign In With Google JavaScript library is loaded:

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

This callback is just a shortcut for the window.onload callback. There are no differences in behavior.

The following code example implements an onGoogleLibraryLoad callback:

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

Method: google.accounts.id.revoke

The google.accounts.id.revoke method revokes the OAuth grant used to share the ID token for the specified user. See the following code snippet of the method: javascript google.accounts.id.revoke(login_hint, callback)

প্যারামিটার টাইপ বর্ণনা
login_hint স্ট্রিং The email address or unique ID of the user's Google Account. The ID is the sub property of the credential payload.
callback ফাংশন Optional RevocationResponse handler.

The following code sample shows how use the revoke method with an ID.

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

Data type: RevocationResponse

When your callback function is invoked, a RevocationResponse object is passed as the parameter. The following table lists the fields that are contained in the revocation response object:

মাঠ
successful This field is the return value of the method call.
error This field optionally contains a detailed error response message.

সফল

This field is a boolean value set to true if the revoke method call succeeded or false on failure.

ত্রুটি

This field is a string value and contains a detailed error message if the revoke method call failed, it is undefined on success.

,

This reference page describes the Sign-In JavaScript API. You can use this API to display the One Tap prompt or Sign In With Google button on your web pages.

Method: google.accounts.id.initialize

The google.accounts.id.initialize method initializes the Sign In With Google client based on the configuration object. See the following code example of the method:

google.accounts.id.initialize(IdConfiguration)

The following code example implements the google.accounts.id.initialize method with an onload function:

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

The google.accounts.id.initialize method creates a Sign In With Google client instance that can be implicitly used by all modules in the same web page.

  • You only need to call the google.accounts.id.initialize method once even if you use multiple modules (like One Tap, Personalized button, revocation, etc.) in the same web page.
  • If you do call the google.accounts.id.initialize method multiple times, only the configurations in the last call is remembered and used.

You actually reset the configurations whenever you call the google.accounts.id.initialize method, and all subsequent methods in the same web page immediately use the new configurations.

Data type: IdConfiguration

The following table lists the fields and descriptions of the IdConfiguration data type:

মাঠ
client_id Your application's client ID
auto_select Enables automatic selection.
callback The JavaScript function that handles ID tokens. Google One Tap and the Sign In With Google button popup UX mode use this attribute.
login_uri The URL of your login endpoint. The Sign In With Google button redirect UX mode uses this attribute.
native_callback The JavaScript function that handles password credentials.
cancel_on_tap_outside Cancels the prompt if the user clicks outside the prompt.
prompt_parent_id ওয়ান ট্যাপ প্রম্পট কন্টেইনার উপাদানের DOM আইডি
nonce আইডি টোকেনগুলির জন্য একটি র্যান্ডম স্ট্রিং৷
context The title and words in the One Tap prompt
state_cookie_domain If you need to call One Tap in the parent domain and its subdomains, pass the parent domain to this field so that a single shared cookie is used.
ux_mode Google বোতাম দিয়ে সাইন ইন করুন UX ফ্লো
allowed_parent_origin মধ্যবর্তী iframe এম্বেড করার অনুমতি দেওয়া উত্সগুলি৷ One Tap is run in the intermediate iframe mode if this field is present.
intermediate_iframe_close_callback Overrides the default intermediate iframe behavior when users manually close One Tap.
itp_support Enables upgraded One Tap UX on ITP browsers.
login_hint Skip account selection by providing a user hint.
hd Limit account selection by domain.
use_fedcm_for_prompt ব্রাউজারকে ব্যবহারকারীর সাইন-ইন প্রম্পট নিয়ন্ত্রণ করতে এবং আপনার ওয়েবসাইট এবং Google-এর মধ্যে সাইন-ইন প্রবাহের মধ্যস্থতা করার অনুমতি দিন।
enable_redirect_uri_validation Enable button redirect flow that complies with Redirect URI validation rules .

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

This field is your application's client ID, which is found and created in the Google Cloud console. See the following table for further information:

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

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

This field determines if an ID token is automatically returned without any user interaction when there's only one Google session that has approved your app before. ডিফল্ট মান false । See the following table for further information:

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

কলব্যাক

This field is the JavaScript function that handles the ID token returned from the One Tap prompt or the pop-up window. This attribute is required if Google One Tap or the Sign In With Google button popup UX mode is used. See the following table for further information:

টাইপ প্রয়োজন উদাহরণ
ফাংশন Required for One Tap and the popup UX mode callback: handleResponse

লগইন_উরি

This attribute is the URI of your login endpoint.

The value must exactly match one of the authorized redirect URIs for the OAuth 2.0 client, which you configured in the Google Cloud console and must conform to our Redirect URI validation rules .

This attribute may be omitted if the current page is your login page, in which case the credential is posted to this page by default.

The ID token credential response is posted to your login endpoint when a user clicks on the Sign In With Google button and redirect UX mode is used.

See the following table for further information:

টাইপ ঐচ্ছিক উদাহরণ
URL Defaults to the URI of the current page, or the value you specify.
Only used when ux_mode: "redirect" is set.
login_uri: "https://www.example.com/login"

Your login endpoint must handle POST requests containing a credential key with an ID token value in the body.

The following is an example request to your login endpoint:

POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded

credential=ID_TOKEN

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

This field is the name of the JavaScript function that handles the password credential returned from the browser's native credential manager. See the following table for further information:

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

ক্যান্সেল_অন_ট্যাপ_বাইরে

This field sets whether or not to cancel the One Tap request if a user clicks outside the prompt. ডিফল্ট মান true । You can disable it if you set the value to false . See the following table for further information:

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

prompt_parent_id

This attribute sets the DOM ID of the container element. If it's not set, the One Tap prompt is displayed in the top-right corner of the window. See the following table for further information:

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

না

This field is a random string used by the ID token to prevent replay attacks. See the following table for further information:

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

Nonce length is limited to the maximum JWT size supported by your environment, and individual browser and server HTTP size constraints.

প্রসঙ্গ

This field changes the text of the title and messages in the One Tap prompt. See the following table for further information:

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

The following table lists all the available contexts and their descriptions:

প্রসঙ্গ
signin "Sign in with Google"
signup "Sign up with Google"
use "Use with Google"

If you need to display One Tap in the parent domain and its subdomains, pass the parent domain to this field so that a single shared-state cookie is used. See the following table for further information:

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

ux_mode

Use this field to set the UX flow used by the Sign In With Google button. The default value is popup . This attribute has no impact on the OneTap UX. See the following table for further information:

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

The following table lists the available UX modes and their descriptions.

UX Mode
popup Performs sign-in UX flow in a pop-up window.
redirect Performs sign-in UX flow by a full page redirection.

অনুমোদিত_অভিভাবক_উৎপত্তি

মধ্যবর্তী iframe এম্বেড করার অনুমতি দেওয়া উত্সগুলি৷ One Tap runs in the intermediate iframe mode if this field is present. See the following table for further information:

টাইপ প্রয়োজন উদাহরণ
string or string array ঐচ্ছিক allowed_parent_origin: "https://example.com"

The following table lists the supported value types and their descriptions.

মান প্রকার
string A single domain URI. "https://example.com"
string array An array of domain URIs. ["https://news.example.com", "https://local.example.com"]

Wildcard prefixes are also supported. For example, "https://*.example.com" matches example.com and its subdomains at all levels (eg news.example.com , login.news.example.com ). Things to keep in mind when using wildcards:

  • 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 noted above, "https:// .example.com" matches example.com and its subdomains. You can also use an array to represent 2 different domains. For example, ["https://example1.com", "https:// .example2.com"] matches the domains example1.com , example2.com and subdomains of example2.com
  • Wildcard domains must begin with a secure https:// scheme, and so "*.example.com" is considered invalid.

If the value of allowed_parent_origin field is invalid, the One Tap initialization of the intermediate iframe mode would fail and stop.

মধ্যবর্তী_iframe_close_callback

Overrides the default intermediate iframe behavior when users manually close One Tap by tapping on the 'X' button in the One Tap UI. The default behavior is to remove the intermediate iframe from the DOM immediately.

The intermediate_iframe_close_callback field takes effect only in intermediate iframe mode. And it has impact only to the intermediate iframe, instead of the One Tap iframe. The One Tap UI is removed before the callback is invoked.

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

itp_support

This field determines if the upgraded One Tap UX should be enabled on browsers that support Intelligent Tracking Prevention (ITP). ডিফল্ট মান false । See the following table for further information:

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

login_hint

If your application knows in advance which user should be signed-in, it can provide a login hint to Google. When successful, account selection is skipped. Accepted values are: an email address or an ID token sub field value.

For more information, see the login_hint field in the OpenID Connect documentation.

টাইপ প্রয়োজন উদাহরণ
String, an email address or the value from an ID token sub field. ঐচ্ছিক login_hint: 'elisa.beckett@gmail.com'

এইচডি

When a user has multiple accounts and should only sign-in with their Workspace account use this to provide a domain name hint to Google. When successful, user accounts displayed during account selection are limited to the provided domain. A wildcard value: * offers only Workspace accounts to the user and excludes consumer accounts (user@gmail.com) during account selection.

For more information, see the hd field in the OpenID Connect documentation.

টাইপ প্রয়োজন উদাহরণ
স্ট্রিং A fully qualified domain name or *. ঐচ্ছিক hd: '*'

use_fedcm_for_prompt

ব্রাউজারকে ব্যবহারকারীর সাইন-ইন প্রম্পট নিয়ন্ত্রণ করতে এবং আপনার ওয়েবসাইট এবং Google-এর মধ্যে সাইন-ইন প্রবাহের মধ্যস্থতা করার অনুমতি দিন। ডিফল্ট থেকে মিথ্যা. See Migrate to FedCM page for more information.

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

enable_redirect_uri_validation

Enable button redirect flow that complies with Redirect URI validation rules .

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

Method: google.accounts.id.prompt

The google.accounts.id.prompt method displays the One Tap prompt or the browser native credential manager after the initialize() method is invoked. See the following code example of the method:

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

Normally, the prompt() method is called on page load. Due to the session status and user settings on the Google side, the One Tap prompt UI might not be displayed. To get notified on the UI status for different moments, pass a function to receive UI status notifications.

Notifications are fired on the following moments:

  • Display moment: This occurs after the prompt() method is called. The notification contains a boolean value to indicate whether the UI is displayed or not.
  • Skipped moment: This occurs when the One Tap prompt is closed by an auto cancel, a manual cancel, or when Google fails to issue a credential, such as when the selected session has signed out of Google.

    In these cases, we recommend that you continue on to the next identity providers, if there are any.

  • Dismissed moment: This occurs when Google successfully retrieves a credential or a user wants to stop the credential retrieval flow. For example, when the user begins to input their username and password in your login dialog, you can call the google.accounts.id.cancel() method to close the One Tap prompt and trigger a dismissed moment.

The following code example implements the skipped moment:

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

Data type: PromptMomentNotification

The following table lists methods and descriptions of the PromptMomentNotification data type:

পদ্ধতি
isDisplayMoment() Is this notification for a display moment?

Note: When FedCM is enabled , this notification is not fired. See Migrate to FedCM page for more information.
isDisplayed() Is this notification for a display moment, and the UI is displayed?

Note: When FedCM is enabled , this notification is not fired. See Migrate to FedCM page for more information.
isNotDisplayed() Is this notification for a display moment, and the UI isn't displayed?

Note: When FedCM is enabled , this notification is not fired. See Migrate to FedCM page for more information.
getNotDisplayedReason()

The detailed reason why the UI isn't displayed. The following are possible values:

  • browser_not_supported
  • invalid_client
  • missing_client_id
  • opt_out_or_no_session
  • secure_http_required
  • suppressed_by_user
  • unregistered_origin
  • unknown_reason
Note: When FedCM is enabled , this method is not supported. See Migrate to FedCM page for more information.
isSkippedMoment() Is this notification for a skipped moment?
getSkippedReason()

The detailed reason for the skipped moment. The following are possible values:

  • auto_cancel
  • user_cancel
  • tap_outside
  • issuing_failed
Note: When FedCM is enabled , this method is not supported. See Migrate to FedCM page for more information.
isDismissedMoment() Is this notification for a dismissed moment?
getDismissedReason()

The detailed reason for the dismissal. The following are possible values:

  • credential_returned
  • cancel_called
  • flow_restarted
getMomentType()

Return a string for the moment type. The following are possible values:

  • display
  • skipped
  • dismissed

Data type: CredentialResponse

When your callback function is invoked, a CredentialResponse object is passed as the parameter. The following table lists the fields that are contained in the credential response object:

মাঠ
credential This field is the returned ID token.
select_by This field sets how the credential is selected.
state This field is only defined when user clicks a Sign in with Google button to sign in, and the button's state attribute is specified.

শংসাপত্র

This field is the ID token as a base64-encoded JSON Web Token (JWT) string.

When decoded , the JWT looks like the following example:

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

The sub field is a globally unique identifier for the Google Account. Only use sub field as identifier for the user as it is unique among all Google Accounts and never reused. Don't use email address as an identifier because a Google Account can have multiple email addresses at different points in time.

Using the email , email_verified and hd fields you can determine if Google hosts and is authoritative for an email address. In cases where Google is authoritative the user is confirmed to be the legitimate account owner.

Cases where Google is authoritative:

  • email has a @gmail.com suffix, this is a Gmail Account.
  • email_verified is true and hd is set, this is a Google Workspace account.

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.

The exp field shows the expiration time for you to verify the token on your server side . It is one hour for the ID token obtained from Sign In With Google. You need to verify the token before the expiration time. Don't use exp for session management . An expired ID token does not mean the user is signed out. Your app is responsible for session management of your users.

select_by

The following table lists the possible values for the select_by field. The type of button used along with the session and consent state are used to set the value,

  • The user pressed either the One Tap or Sign In With Google button or used the touchless Automatic sign-in process.

  • An existing session was found, or the user selected and signed-in to a Google Account to establish a new session.

  • Prior to sharing ID token credentials with your app the user either

    • pressed the Confirm button to grant their consent to share credentials, or
    • had previously granted consent and used Select an Account to choose a Google Account.

The value of this field is set to one of these types,

মান বর্ণনা
auto Automatic sign-in of a user with an existing session who had previously granted consent to share credentials. Applies only to non-FedCM supported browsers.
user A user with an existing session who had previously granted consent pressed the One Tap 'Continue as' button to share credentials. Applies only to non-FedCM supported browsers.
fedcm A user pressed the One Tap 'Continue as' button to share credentials using FedCM. Applies only to FedCM supported browsers.
fedcm_auto Automatic sign-in of a user with an existing session who had previously granted consent to share credentials using FedCM One Tap. Applies only to FedCM supported browsers.
user_1tap A user with an existing session pressed the One Tap 'Continue as' button to grant consent and share credentials. Applies only to Chrome v75 and higher.
user_2tap A user without an existing session pressed the One Tap 'Continue as' button to select an account and then pressed the Confirm button in a pop-up window to grant consent and share credentials. Applies to non-Chromium based browsers.
btn A user with an existing session who previously granted consent pressed the Sign In With Google button and selected a Google Account from 'Choose an Account' to share credentials.
btn_confirm A user with an existing session pressed the Sign In With Google button and pressed the Confirm button to grant consent and share credentials.
btn_add_session A user without an existing session who previously granted consent pressed the Sign In With Google button to select a Google Account and share credentials.
btn_confirm_add_session A user without an existing session first pressed the Sign In With Google button to select a Google Account and then pressed the Confirm button to consent and share credentials.

রাষ্ট্র

This field is only defined when user clicks a Sign in with Google button to sign in, and the clicked button's state attribute is specified. The value of this field is the same value you specified in the button's state attribute.

As multiple Sign in with Google buttons can be rendered on the same page, you can assign each button with a unique string. Hence, you can this state field to identify which button user clicked to sign in.

Method: google.accounts.id.renderButton

The google.accounts.id.renderButton method renders a Sign In With Google button in your web pages.

See the following code example of the method:

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

Data type: GsiButtonConfiguration

The following table lists the fields and descriptions of the GsiButtonConfiguration data type:

বৈশিষ্ট্য
type The button type: icon, or standard button.
theme The button theme. For example, filled_blue or filled_black.
size The button size. For example, small or large.
text The button text. For example, "Sign in with Google" or "Sign up with Google".
shape The button shape. For example, rectangular or circular.
logo_alignment The Google logo alignment: left or center.
width The button width, in pixels.
locale If set, then the button language is rendered.
click_listener If set, this function is called when the Sign in with Google button is clicked.
state If set, this string returns with the ID token.

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

The following sections contain details about each attribute's type, and an example.

টাইপ

The button type. The default value is standard .

See the following table for further information:

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

The following table lists the available button types and their descriptions:

টাইপ
standard
Button with text or personalized information.
icon
An icon button without text.

থিম

The button theme. The default value is outline . See the following table for further information:

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

The following table lists the available themes and their descriptions:

থিম
outline
A standard button theme.
filled_blue
A blue-filled button theme.
filled_black
A black-filled button theme.

আকার

The button size. The default value is large . See the following table for further information:

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

The following table lists the available button sizes and their descriptions:

আকার
large
A large standard buttonA large icon buttonA large, personalized button
A large button.
medium
A medium standard buttonA medium icon button
A medium-sized button.
small
A small buttonA small icon button
A small button.

পাঠ্য

The button text. The default value is signin_with . There are no visual differences for the text of icon buttons that have different text attributes. The only exception is when the text is read for screen accessibility.

See the following table for further information:

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

The following table lists all the available button texts and their descriptions:

পাঠ্য
signin_with
The button text is "Sign in with Google".
signup_with
The button text is "Sign up with Google".
continue_with
The button text is "Continue with Google".
signin
The button text is "Sign in".

আকৃতি

The button shape. The default value is rectangular . See the following table for further information:

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

The following table lists the available button shapes and their descriptions:

আকৃতি
rectangular
The rectangular-shaped button. If used for the icon button type, then it's the same as square .
pill
The pill-shaped button. If used for the icon button type, then it's the same as circle .
circle
The circle-shaped button. If used for the standard button type, then it's the same as pill .
square
The square-shaped button. If used for the standard button type, then it's the same as rectangular .

logo_alignment

The alignment of the Google logo. The default value is left . This attribute only applies to the standard button type. See the following table for further information:

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

The following table lists the available alignments and their descriptions:

logo_alignment
left
Left-aligns the Google logo.
center
Center-aligns the Google logo.

প্রস্থ

The minimum button width, in pixels. The maximum width is 400 pixels.

See the following table for further information:

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

লোকেল

ঐচ্ছিক। Display button text using the specified locale, otherwise default to the users Google Account or browser settings. Add the hl parameter and language code to the src directive when loading the library, for example: gsi/client?hl=<iso-639-code> .

If it's not set, the browser's default locale or the Google session user's preference is used. Therefore, different users might see different versions of localized buttons, and possibly with different sizes.

See the following table for further information:

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

click_listener

You can define a JavaScript function to be called when the Sign in with Google button is clicked using the click_listener attribute.

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

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

In this example, the message Sign in with Google button clicked... is logged to the console when the Sign in with Google button is clicked.

রাষ্ট্র

Optional, as multiple Sign in with Google buttons can be rendered on the same page, you can assign each button with a unique string. The same string would return along with the ID token, so you can identify which button user clicked to sign in.

See the following table for further information:

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

Data type: Credential

When your native_callback function is invoked, a Credential object is passed as the parameter. The following table lists the fields contained in the object:

মাঠ
id Identifies the user.
password পাসওয়ার্ড

Method: google.accounts.id.disableAutoSelect

When the user signs out of your website, you need to call the method google.accounts.id.disableAutoSelect to record the status in cookies. This prevents a UX dead loop. See the following code snippet of the method:

google.accounts.id.disableAutoSelect()

The following code example implements the google.accounts.id.disableAutoSelect method with an onSignout() function:

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

Method: google.accounts.id.storeCredential

This method is a wrapper for the store() method of the browser's native credential manager API. Therefore, it can only be used to store a password credential. See the following code example of the method:

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

The following code example implements the google.accounts.id.storeCredential method with an onSignIn() function:

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

Method: google.accounts.id.cancel

You can cancel the One Tap flow if you remove the prompt from the relying party DOM. The cancel operation is ignored if a credential is already selected. See the following code example of the method:

google.accounts.id.cancel()

The following code example implements the google.accounts.id.cancel() method with an onNextButtonClicked() function:

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

Library load callback: onGoogleLibraryLoad

You can register an onGoogleLibraryLoad callback. It's notified after the Sign In With Google JavaScript library is loaded:

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

This callback is just a shortcut for the window.onload callback. There are no differences in behavior.

The following code example implements an onGoogleLibraryLoad callback:

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

Method: google.accounts.id.revoke

The google.accounts.id.revoke method revokes the OAuth grant used to share the ID token for the specified user. See the following code snippet of the method: javascript google.accounts.id.revoke(login_hint, callback)

প্যারামিটার টাইপ বর্ণনা
login_hint স্ট্রিং The email address or unique ID of the user's Google Account. The ID is the sub property of the credential payload.
callback ফাংশন Optional RevocationResponse handler.

The following code sample shows how use the revoke method with an ID.

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

Data type: RevocationResponse

When your callback function is invoked, a RevocationResponse object is passed as the parameter. The following table lists the fields that are contained in the revocation response object:

মাঠ
successful This field is the return value of the method call.
error This field optionally contains a detailed error response message.

সফল

This field is a boolean value set to true if the revoke method call succeeded or false on failure.

ত্রুটি

This field is a string value and contains a detailed error message if the revoke method call failed, it is undefined on success.