সতর্কতা: এই ডেটাটি Google ব্যবহারকারী ডেটা নীতির অধীনে প্রদান করা হয়েছে। অনুগ্রহ করে পর্যালোচনা করুন এবং নীতি মেনে চলুন। এটি করতে ব্যর্থ হলে প্রকল্প বা অ্যাকাউন্ট সাসপেনশন হতে পারে।

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 সক্ষম করে৷

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

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

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

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

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

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

কলব্যাক

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

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

লগইন_উরি

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

টাইপ প্রয়োজন উদাহরণ
স্ট্রিং বা স্ট্রিং অ্যারে ঐচ্ছিক 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.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() এই বিজ্ঞপ্তি কি একটি প্রদর্শন মুহূর্ত জন্য?
isDisplayed() এই বিজ্ঞপ্তিটি কি একটি প্রদর্শন মুহুর্তের জন্য, এবং UI প্রদর্শিত হয়?
isNotDisplayed() এই বিজ্ঞপ্তিটি কি একটি প্রদর্শন মুহুর্তের জন্য, এবং UI প্রদর্শিত হয় না?
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
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 এই ক্ষেত্রটি নির্ধারণ করে কিভাবে শংসাপত্র নির্বাচন করা হয়।

শংসাপত্র

এই ক্ষেত্রটি হল 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 অ্যাকাউন্টের জন্য একটি বিশ্বব্যাপী অনন্য শনাক্তকারী রয়েছে।

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

যেসব ক্ষেত্রে Google কর্তৃত্বপূর্ণ:

  • email একটি @gmail.com প্রত্যয় রয়েছে, এটি একটি Gmail অ্যাকাউন্ট।
  • email_verified সত্য এবং hd সেট করা আছে, এটি একটি G Suite অ্যাকাউন্ট।

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

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

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

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

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

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

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

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

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

পদ্ধতি: 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 যদি সেট করা হয়, তাহলে বোতামের ভাষা রেন্ডার করা হয়।

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

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

প্রকার

বোতামের ধরন। ডিফল্ট মান 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 সেশন ব্যবহারকারীর পছন্দ ব্যবহার করা হয়। অতএব, বিভিন্ন ব্যবহারকারী স্থানীয় বোতামের বিভিন্ন সংস্করণ এবং সম্ভবত বিভিন্ন আকারের সাথে দেখতে পারে।

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

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

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

যখন আপনার 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 অনুদান প্রত্যাহার করে। পদ্ধতির নিম্নলিখিত কোড স্নিপেট দেখুন: google.accounts.id.revoke(hint, callback)

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

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

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

ডেটা টাইপ: RevocationResponse

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

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

সফল

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

ত্রুটি

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