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 একটি বিদ্যমান অধিবেশন ছাড়াই একজন ব্যবহারকারী একটি অ্যাকাউন্ট নির্বাচন করতে একটি ট্যাপ 'এভাবে চালিয়ে যান' বোতাম টিপে এবং তারপরে সম্মতি প্রদান এবং শংসাপত্রগুলি ভাগ করার জন্য একটি পপ-আপ উইন্ডোতে নিশ্চিত করুন বোতাম টিপুন৷ অ-ক্রোমিয়াম ভিত্তিক ব্রাউজারগুলিতে প্রযোজ্য।
itp একটি বিদ্যমান সেশন সহ একজন ব্যবহারকারী যিনি পূর্বে সম্মতি দিয়েছেন ITP ব্রাউজারে এক ট্যাপ টিপে।
itp_confirm একটি বিদ্যমান সেশন সহ একজন ব্যবহারকারী আইটিপি ব্রাউজারে এক ট্যাপ টিপে এবং সম্মতি প্রদান এবং শংসাপত্রগুলি ভাগ করতে নিশ্চিতকরণ বোতাম টিপে৷
itp_add_session একটি বিদ্যমান সেশন ছাড়াই একজন ব্যবহারকারী যিনি আগে সম্মতি দিয়েছিলেন একটি Google অ্যাকাউন্ট নির্বাচন করতে এবং শংসাপত্রগুলি ভাগ করতে ITP ব্রাউজারগুলিতে ওয়ান ট্যাপ টিপুন৷
itp_confirm_add_session একটি বিদ্যমান সেশন ছাড়াই একজন ব্যবহারকারী প্রথমে একটি Google অ্যাকাউন্ট নির্বাচন করতে ITP ব্রাউজারে ওয়ান ট্যাপ চাপেন এবং তারপরে সম্মতি দিতে এবং শংসাপত্রগুলি ভাগ করার জন্য নিশ্চিতকরণ বোতাম টিপুন।
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 । এই বৈশিষ্ট্যটি ওনেট্যাপ ইউএক্স -এ কোনও প্রভাব ফেলবে না। আরও তথ্যের জন্য নিম্নলিখিত টেবিলটি দেখুন:

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

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

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

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

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

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: 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 কোনও বিদ্যমান সেশন ব্যতীত একজন ব্যবহারকারী একটি অ্যাকাউন্ট নির্বাচন করতে একটি ট্যাপ 'চালিয়ে যান' বোতাম টিপে এবং তারপরে সম্মতি দেওয়ার জন্য এবং শংসাপত্রগুলি ভাগ করে নেওয়ার জন্য একটি পপ-আপ উইন্ডোতে নিশ্চিত বোতামটি টিপুন। ক্রোমিয়াম ভিত্তিক ব্রাউজারগুলিতে প্রযোজ্য।
itp একটি বিদ্যমান সেশন সহ একজন ব্যবহারকারী যিনি এর আগে সম্মতি দিয়েছিলেন তা আইটিপি ব্রাউজারগুলিতে একটি ট্যাপ টিপেছিল।
itp_confirm একটি বিদ্যমান সেশন সহ একজন ব্যবহারকারী আইটিপি ব্রাউজারগুলিতে একটি ট্যাপ টিপলেন এবং সম্মতি দেওয়ার জন্য এবং শংসাপত্রগুলি ভাগ করার জন্য নিশ্চিত বোতামটি টিপলেন।
itp_add_session বিদ্যমান সেশন ব্যতীত একজন ব্যবহারকারী যিনি পূর্বে সম্মতি মঞ্জুর করেছিলেন একটি গুগল অ্যাকাউন্ট নির্বাচন করতে এবং শংসাপত্রগুলি ভাগ করে নেওয়ার জন্য আইটিপি ব্রাউজারগুলিতে একটি ট্যাপটি চাপ দিয়েছিলেন।
itp_confirm_add_session কোনও বিদ্যমান সেশন ছাড়াই একজন ব্যবহারকারী প্রথমে আইটিপি ব্রাউজারগুলিতে একটি গুগল অ্যাকাউন্ট নির্বাচন করতে একটি ট্যাপটি চাপলেন এবং তারপরে সম্মতি এবং শংসাপত্রগুলি ভাগ করে নেওয়ার জন্য নিশ্চিত বোতামটি টিপুন।
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 সমান।

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

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

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

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

লোগো_লাইনমেন্ট
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 চ্ছিকভাবে একটি বিশদ ত্রুটি প্রতিক্রিয়া বার্তা রয়েছে।

সফল

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

ত্রুটি

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