এই রেফারেন্স পৃষ্ঠায় 'Google-এর মাধ্যমে সাইন-ইন করুন' জাভাস্ক্রিপ্ট API-এর বিবরণ দেওয়া হয়েছে, যা ওয়েব পৃষ্ঠায় 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতাম বা One Tap প্রম্পট দেখাতে ব্যবহার করা হয়।
পদ্ধতি: 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
নিম্নলিখিত সারণীতে IdConfiguration
ডেটার ধরন ও ফিল্ডের তালিকা দেওয়া হয়েছে:
| ফিল্ড | |
|---|---|
client_id |
আপনার অ্যাপ্লিকেশনের ক্লায়েন্ট আইডি |
color_scheme |
One Tap প্রম্পটে রঙের স্কিম প্রয়োগ করা হয়েছে। |
auto_select |
অটোমেটিক বেছে নেওয়ার সুবিধা চালু করে। |
callback |
জাভাস্ক্রিপ্ট ফাংশন যা আইডি টোকেন ম্যানেজ করে। Google One Tap এবং
'Google-এর মাধ্যমে সাইন-ইন করুন' বোতাম popup UX মোড এই
অ্যাট্রিবিউট ব্যবহার করে। |
login_uri |
আপনার লগ-ইন এন্ডপয়েন্টের URL। 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতাম
redirect UX মোড এই অ্যাট্রিবিউট ব্যবহার করে। |
native_callback |
জাভাস্ক্রিপ্ট ফাংশন যা পাসওয়ার্ড ক্রেডেনশিয়াল ম্যানেজ করে। |
cancel_on_tap_outside |
ব্যবহারকারী প্রম্পটের বাইরে ক্লিক করলে প্রম্পট বাতিল করে দেয়। |
prompt_parent_id |
One Tap প্রম্পট কন্টেনার এলিমেন্টের DOM আইডি |
nonce |
ID টোকেনের জন্য একটি র্যান্ডম স্ট্রিং |
essential_claims |
Google-এর মাধ্যমে ফেরত পাঠানো ID টোকেনে অন্তর্ভুক্ত করার জন্য অতিরিক্ত দাবি। |
context |
'একবার ট্যাপ করুন' প্রম্পটের শীর্ষক ও শব্দ |
state_cookie_domain |
আপনি যদি পেরেন্ট ডোমেন এবং এর সাবডোমেনে One Tap কল করতে চান, তাহলে এই ফিল্ডে পেরেন্ট ডোমেন পাস করুন যাতে একটি শেয়ার করা কুকি ব্যবহার করা হয়। |
ux_mode |
'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামের UX ফ্লো |
allowed_parent_origin |
ইন্টারমিডিয়েট iframe এম্বেড করার অনুমতিপ্রাপ্ত অরিজিন। এই ফিল্ড থাকলে, ইন্টারমিডিয়েট iframe মোডে One Tap রান করে। |
intermediate_iframe_close_callback |
ব্যবহারকারী ম্যানুয়ালি One Tap বন্ধ করলে, ডিফল্ট ইন্টারমিডিয়েট iframe আচরণ ওভাররাইড করে। |
itp_support |
ITP ব্রাউজারে আপগ্রেড করা ওয়ান ট্যাপ UX চালু করে। |
login_hint |
ব্যবহারকারীর ইঙ্গিত প্রদান করে অ্যাকাউন্ট বেছে নেওয়ার প্রসেস এড়িয়ে যান। |
hd |
ডোমেন অনুযায়ী অ্যাকাউন্ট বেছে নেওয়ার সীমা। |
use_fedcm_for_prompt |
ব্রাউজারকে ব্যবহারকারীর সাইন-ইন প্রম্পট কন্ট্রোল করতে এবং আপনার ওয়েবসাইট ও Google-এর মধ্যে সাইন-ইন ফ্লো মধ্যস্থতা করার অনুমতি দিন। |
use_fedcm_for_button |
FedCM বোতাম UX Chrome-এ ব্যবহার করা উচিত কিনা তা এই ফিল্ড নির্ধারণ করে
(ডেস্কটপ M125+ এবং Android M128+)। ডিফল্ট হিসেবে false-এ সেট করা থাকে। |
button_auto_select |
FedCM বোতাম ফ্লোয়ের জন্য অটোমেটিক বেছে নিন
বিকল্প চালু করা হবে কিনা। চালু করা থাকলে, অ্যাক্টিভ Google সেশন সহ ফিরে আসা ব্যবহারকারীরা
অ্যাকাউন্ট বাছাইকারী প্রম্পট বাইপাস করে অটোমেটিক সাইন-ইন হয়ে যাবেন।
ডিফল্ট ভ্যালু হল false। |
client_id
এই ফিল্ডটি হল আপনার অ্যাপ্লিকেশনের ক্লায়েন্ট আইডি, যা Google Cloud কনসোলে খুঁজে পাওয়া এবং তৈরি করা হয়। আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং | হ্যাঁ | client_id: "CLIENT_ID.apps.googleusercontent.com" |
color_scheme
এই ফিল্ডটি হল One Tap প্রম্পটে প্রয়োগ করা রঙের স্কিম। আরও তথ্যের জন্য নিচের সারণী দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং | ঐচ্ছিক। ব্যবহারকারীর সিস্টেমের ডিফল্ট রঙের স্কিমে সেট করা থাকে। | color_scheme: "dark" |
নিচের সারণীতে উপলভ্য রঙের স্কিম ও সেগুলির বিবরণ দেওয়া আছে।
| রঙের স্কিম | |
|---|---|
default |
ব্যবহারকারীর সিস্টেমের ডিফল্ট রঙের স্কিম প্রয়োগ করুন, ব্যবহারকারীর পছন্দের উপর নির্ভর করে স্কিম লাইট বা ডার্ক হবে। |
light |
হালকা রঙের স্কিম প্রয়োগ করুন। |
dark |
ডার্ক কালার স্কিম প্রয়োগ করুন। |
auto_select
এই ফিল্ড নির্ধারণ করে যে কোনও ব্যবহারকারীর ইন্টার্যাকশন ছাড়াই আইডি টোকেন অটোমেটিক ফেরত দেওয়া হবে কিনা, যখন শুধুমাত্র একটি Google সেশন থাকে যা আগে আপনার অ্যাপকে অনুমোদন করেছে। ডিফল্ট ভ্যালু হল false। আরও তথ্যের জন্য নিম্নলিখিত টেবিল
দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| বুলিয়ান | ঐচ্ছিক | auto_select: true |
কলব্যাক
এই ফিল্ডটি হল JavaScript ফাংশন যা One Tap প্রম্পট বা পপ-আপ উইন্ডো থেকে রিটার্ন করা আইডি টোকেন ম্যানেজ করে। Google One Tap বা 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামের popup UX মোড ব্যবহার করা হলে এই অ্যাট্রিবিউট প্রয়োজন। আরও তথ্যের জন্য
নিচের সারণী দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| ফাংশন | 'এক ট্যাপ' ও popup UX মোডের জন্য প্রয়োজন |
callback: handleResponse |
login_uri
এই অ্যাট্রিবিউট হল আপনার লগ-ইন এন্ডপয়েন্টের URI।
OAuth 2.0 ক্লায়েন্টের জন্য অনুমোদিত রিডাইরেক্ট URI-এর মধ্যে কোনও একটির সাথে ভ্যালু সম্পূর্ণভাবে মিলতে হবে, যা আপনি Google Cloud কনসোলে কনফিগার করেছেন এবং আমাদের রিডাইরেক্ট URI যাচাইকরণ নিয়ম মেনে চলতে হবে।
বর্তমান পৃষ্ঠাটি আপনার লগ-ইন পৃষ্ঠা হলে এই অ্যাট্রিবিউট বাদ দেওয়া হতে পারে, যেক্ষেত্রে ডিফল্ট হিসেবে এই পৃষ্ঠায় ক্রেডেনশিয়াল পোস্ট করা হয়।
ব্যবহারকারী 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামে ক্লিক করলে এবং রিডাইরেক্ট UX মোড ব্যবহার করা হলে, আইডি টোকেন ক্রেডেনশিয়াল রেসপন্স আপনার লগ-ইন এন্ডপয়েন্টে পোস্ট করা হয়।
আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:
| ধরন | ঐচ্ছিক | উদাহরণ |
|---|---|---|
| ইউআরএল | ডিফল্ট হিসেবে বর্তমান পৃষ্ঠার URI বা আপনার উল্লেখ করা ভ্যালু ব্যবহার করা হয়।ux_mode: "redirect" সেট করা থাকলে তবেই ব্যবহার করা হয়। |
login_uri: "https://www.example.com/login" |
আপনার লগ-ইন এন্ডপয়েন্ট
অবশ্যই POST অনুরোধগুলি পরিচালনা করবে যাতে একটি credential প্যারামিটার থাকে
বডিতে একটি আইডি টোকেন মান সহ। select_by, HTTP POST-এ অন্তর্ভুক্ত নয়
login_uri বা data-login_uri-এর জন্য অনুরোধ এবং শুধুমাত্র
CredentialResponse অবজেক্টে ফেরত পাঠানো হয় যা জাভাস্ক্রিপ্ট callback
ফাংশনে পাস করা হয়।
native_callback
এই ফিল্ডটি হল জাভাস্ক্রিপ্ট ফাংশনের নাম যা ব্রাউজারের বিল্ট-ইন ক্রেডেনশিয়াল ম্যানেজার থেকে ফেরত আসা পাসওয়ার্ড ক্রেডেনশিয়াল ম্যানেজ করে। আরও তথ্যের জন্য নিচের সারণী দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| ফাংশন | ঐচ্ছিক | native_callback: handleResponse |
cancel_on_tap_outside
ব্যবহারকারী প্রম্পটের বাইরে ক্লিক করলে, ওয়ান ট্যাপ অনুরোধ বাতিল করা হবে কিনা তা এই ফিল্ড সেট করে। ডিফল্ট ভ্যালু হল true। আপনি ভ্যালু false-এ সেট করলে
এটি বন্ধ করতে পারবেন। আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| বুলিয়ান | ঐচ্ছিক | cancel_on_tap_outside: false |
prompt_parent_id
এই অ্যাট্রিবিউট কন্টেনার এলিমেন্টের DOM আইডি সেট করে। এটি সেট করা না থাকলে, উইন্ডোর উপরে ডানদিকের কোণে 'এক ট্যাপ' প্রম্পট দেখানো হয়। আরও তথ্যের জন্য নিচের সারণী দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং | ঐচ্ছিক | prompt_parent_id: 'parent_id' |
নন্স
এই ফিল্ডটি হল একটি র্যান্ডম স্ট্রিং যা রিপ্লে অ্যাটাক প্রতিরোধ করার জন্য ID টোকেন দ্বারা ব্যবহৃত হয়। আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং | ঐচ্ছিক | nonce: "biaqbm70g23" |
আপনার এনভায়রনমেন্টে কাজ করে এমন সর্বাধিক JWT সাইজ এবং ব্যক্তিগত ব্রাউজার ও সার্ভার HTTP সাইজের সীমাবদ্ধতা অনুযায়ী ননসের দৈর্ঘ্য সীমিত করা হয়।
essential_claims
এই ফিল্ডটি হল একটি স্ট্রিং যা Google-এর ফেরত দেওয়া ID টোকেনে অতিরিক্ত দাবি অন্তর্ভুক্ত করার জন্য অনুরোধ করতে ব্যবহার করা হয়। Google-এর গ্রহণ করা দাবির সম্পূর্ণ তালিকা দেখতে কাজ করে এমন দাবি দেখুন।
আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং | ঐচ্ছিক | essential_claims: "auth_time, amr" |
প্রসঙ্গ
এই ফিল্ডটি One Tap প্রম্পটে দেখানো শীর্ষক ও মেসেজের টেক্সট পরিবর্তন করে, ITP ব্রাউজারের ক্ষেত্রে কোনও প্রভাব পড়ে না। ডিফল্ট হিসেবে signin সেট করা থাকে।
আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং | ঐচ্ছিক | context: "use" |
নিচের সারণীতে উপলভ্য সব প্রসঙ্গ ও সেগুলির বিবরণ তালিকাভুক্ত করা হয়েছে:
| প্রসঙ্গ | |
|---|---|
signin |
"এতে সাইন-ইন করুন" |
signup |
"এতে সাইন-আপ করুন" |
use |
"ব্যবহার করুন" |
state_cookie_domain
আপনি যদি পেরেন্ট ডোমেন এবং এর সাবডোমেনে One Tap দেখাতে চান, তাহলে এই ফিল্ডে পেরেন্ট ডোমেন পাস করুন যাতে একটি শেয়ার করা-স্টেট কুকি ব্যবহার করা হয়। আরও তথ্যের জন্য নিচের সারণী দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং | ঐচ্ছিক | state_cookie_domain: "example.com" |
ux_mode
'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামের মাধ্যমে ব্যবহৃত UX ফ্লো সেট করতে এই ফিল্ড ব্যবহার করুন। ডিফল্ট
ভ্যালু হল popup। এই অ্যাট্রিবিউটের OneTap UX-এর উপর কোনও প্রভাব নেই। আরও তথ্যের জন্য
নিচের সারণী দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং | ঐচ্ছিক | ux_mode: "redirect" |
নিচের সারণীতে উপলভ্য UX মোড ও সেগুলির বিবরণ তালিকাভুক্ত করা হয়েছে।
| UX মোড | |
|---|---|
popup |
পপ-আপ উইন্ডোতে সাইন-ইন UX ফ্লো পারফর্ম করে। |
redirect |
সম্পূর্ণ পৃষ্ঠা রিডাইরেকশনের মাধ্যমে সাইন-ইন UX ফ্লো পারফর্ম করে। |
allowed_parent_origin
ইন্টারমিডিয়েট iframe এম্বেড করার অনুমতিপ্রাপ্ত অরিজিন। এই ফিল্ড থাকলে, ইন্টারমিডিয়েট iframe মোডে One Tap রান করে। আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং বা স্ট্রিং অ্যারে | ঐচ্ছিক | allowed_parent_origin: "https://example.com" |
নিচের সারণীতে কাজ করে এমন ভ্যালুর ধরন ও সেগুলির বিবরণ তালিকাভুক্ত করা হয়েছে।
| ভ্যালুর ধরন | ||
|---|---|---|
string |
একটি ডোমেন URI। | "https://example.com" |
string array |
ডোমেন URI-এর অ্যারে। | ["https://news.example.com", "https://local.example.com"] |
ওয়াইল্ডকার্ড প্রিফিক্সও কাজ করে। যেমন, "https://*.example.com"
example.com এবং এর সব লেভেলের সাবডোমেনের সাথে ম্যাচ করে (যেমন
news.example.com, login.news.example.com)। ওয়াইল্ডকার্ড ব্যবহার করার সময়
যেসব বিষয় মনে রাখতে হবে:
- প্যাটার্ন স্ট্রিং শুধুমাত্র ওয়াইল্ডকার্ড ও টপ লেভেল ডোমেন দিয়ে তৈরি করা
যাবে না। যেমন,
https://.comএবংhttps://.co.ukসঠিক নয় কারণ"https://.example.com",example.comএবং এর সব সাবডোমেনের সাথে মিলে যায়। দুটি আলাদা ডোমেন বোঝাতে কমা দিয়ে আলাদা করা তালিকা ব্যবহার করুন। যেমন,"https://example1.com,https://.example2.com",example1.com,example2.comডোমেন এবংexample2.com-এর সাবডোমেনের সাথে ম্যাচ করে - ওয়াইল্ডকার্ড ডোমেন অবশ্যই সুরক্ষিত https:// স্কিম দিয়ে শুরু হতে হবে, তাই
"*.example.com"অবৈধ বলে বিবেচিত হয়।
allowed_parent_origin ফিল্ডের ভ্যালু ভুল হলে, ইন্টারমিডিয়েট iframe মোডের
One Tap ইনিশিয়ালাইজেশন ব্যর্থ হবে এবং বন্ধ হয়ে যাবে।
intermediate_iframe_close_callback
ব্যবহারকারী One Tap UI-তে 'X' বোতামে ট্যাপ করে ম্যানুয়ালি One Tap বন্ধ করলে, ডিফল্ট ইন্টারমিডিয়েট iframe আচরণ ওভাররাইড করে। ডিফল্ট অ্যাকশন হল DOM থেকে ইন্টারমিডিয়েট iframe অবিলম্বে সরিয়ে দেওয়া।
intermediate_iframe_close_callback ফিল্ডটি শুধুমাত্র ইন্টারমিডিয়েট
iframe মোডে কাজ করে। এবং এটি শুধুমাত্র ইন্টারমিডিয়েট iframe-এর উপর প্রভাব ফেলে, One Tap iframe-এর উপর নয়। কলব্যাক ইনভোক করার আগে One Tap UI সরিয়ে দেওয়া হয়।
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| ফাংশন | ঐচ্ছিক | intermediate_iframe_close_callback: logBeforeClose |
itp_support
এই ফিল্ড নির্ধারণ করে যে
আপগ্রেড করা One Tap UX
ইন্টেলিজেন্ট ট্র্যাকিং প্রিভেনশন (ITP) কাজ করে এমন ব্রাউজারে চালু করা উচিত কিনা। ডিফল্ট ভ্যালু হল false। আরও তথ্যের জন্য নিম্নলিখিত টেবিল
দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| বুলিয়ান | ঐচ্ছিক | itp_support: false |
login_hint
কোন ব্যবহারকারীকে সাইন-ইন করতে হবে তা আপনার অ্যাপ্লিকেশন আগে থেকে জানলে, এটি Google-কে লগ-ইন সংক্রান্ত ইঙ্গিত দিতে পারে। এটি সম্পূর্ণ হলে, অ্যাকাউন্ট বেছে নেওয়ার ধাপটি এড়িয়ে যাওয়া হয়। গ্রহণযোগ্য ভ্যালু হল: ইমেল আইডি বা আইডি টোকেন sub ফিল্ড ভ্যালু।
আরও তথ্যের জন্য, OpenID Connect ডকুমেন্টেশনে login_hint ফিল্ড দেখুন।
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
স্ট্রিং, একটি ইমেল আইডি বা আইডি টোকেন
sub ফিল্ড থেকে পাওয়া ভ্যালু। |
ঐচ্ছিক | login_hint: 'elisa.beckett@gmail.com' |
hd
কোনও ব্যবহারকারীর একাধিক অ্যাকাউন্ট থাকলে এবং শুধুমাত্র Workspace অ্যাকাউন্ট দিয়ে সাইন-ইন করতে হলে,
Google-কে ডোমেন নামের ইঙ্গিত দিতে এটি ব্যবহার করুন। এটি সফল হলে, অ্যাকাউন্ট বেছে নেওয়ার সময় ব্যবহারকারীর অ্যাকাউন্ট
প্রদান করা ডোমেনের মধ্যে সীমাবদ্ধ থাকে।
একটি ওয়াইল্ডকার্ড ভ্যালু: * ব্যবহারকারীকে শুধু Workspace অ্যাকাউন্ট অফার করে এবং অ্যাকাউন্ট বেছে নেওয়ার সময়
গ্রাহক অ্যাকাউন্ট (user@gmail.com) বাদ দেয়।
আরও তথ্যের জন্য, OpenID Connect ডকুমেন্টেশনে hd ফিল্ড দেখুন।
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং। সম্পূর্ণভাবে উপযুক্ত ডোমেনের নাম (FQDN) বা *. | ঐচ্ছিক | hd: '*' |
use_fedcm_for_prompt
ব্রাউজারকে ব্যবহারকারীর সাইন-ইন প্রম্পট নিয়ন্ত্রণ করতে এবং আপনার ওয়েবসাইট ও Google-এর মধ্যে সাইন-ইন ফ্লো মধ্যস্থতা করতে দিন। ডিফল্ট হিসেবে false সেট করা থাকে। আরও তথ্যের জন্য FedCM-এ মাইগ্রেট করুন পৃষ্ঠা দেখুন।
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| বুলিয়ান | বন্ধ করে দেওয়া হয়েছে | use_fedcm_for_prompt: true |
use_fedcm_for_button
এই ফিল্ড নির্ধারণ করে যে FedCM বোতাম UX Chrome-এ (ডেস্কটপ M125+
এবং Android M128+) ব্যবহার করা উচিত কিনা। ডিফল্ট হিসেবে false-এ সেট করা থাকে। আরও তথ্যের জন্য নিম্নলিখিত টেবিল
দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| বুলিয়ান | ঐচ্ছিক | use_fedcm_for_button: true |
button_auto_select
FedCM বোতাম ফ্লোয়ের জন্য অটোমেটিক বেছে নিন বিকল্প চালু করা হবে কিনা তা এই ফিল্ড নির্ধারণ করে। চালু করা থাকলে, অ্যাক্টিভ Google সেশন সহ ফিরে আসা ব্যবহারকারীরা
অ্যাকাউন্ট বাছাইকারী প্রম্পট বাইপাস করে অটোমেটিক সাইন-ইন হয়ে যাবেন। ডিফল্ট
হিসেবে false সেট করা আছে। অপ্ট-ইন লঞ্চের সময় আপনাকে স্পষ্টভাবে বোতাম অটো-সাইন-ইন চালু করতে হবে। আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| বুলিয়ান | ঐচ্ছিক | button_auto_select: true |
Method: google.accounts.id.prompt
initialize() পদ্ধতি চালু হওয়ার পরে google.accounts.id.prompt পদ্ধতিটি ওয়ান ট্যাপ প্রম্পট বা
ব্রাউজারের বিল্ট-ইন ক্রেডেনশিয়াল ম্যানেজার দেখায়।
পদ্ধতির নিম্নলিখিত কোড উদাহরণ দেখুন:
google.accounts.id.prompt(/**
@type{(function(!PromptMomentNotification):void)=} */ momentListener)
সাধারণত, পৃষ্ঠা লোড হওয়ার সময় prompt() মেথড কল করা হয়। Google-এর দিকে সেশনের স্ট্যাটাস ও ব্যবহারকারীর সেটিংসের কারণে, One Tap প্রম্পট 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() |
'এক ট্যাপ' প্রম্পট দেখানো হলে true রিটার্ন করে।মনে রাখবেন: FedCM চালু করা থাকলে, এই বিজ্ঞপ্তি কাজ করে না। আরও তথ্যের জন্য FedCM-এ মাইগ্রেট করুন পৃষ্ঠা দেখুন। |
isDisplayed() |
মুহূর্তের ধরন PromptMoment.DISPLAY হলে এবং ওয়ান ট্যাপ প্রম্পট
দেখানো হলে, true রিটার্ন করে।মনে রাখবেন: FedCM চালু করা থাকলে, এই বিজ্ঞপ্তি কাজ করে না। আরও তথ্যের জন্য FedCM-এ মাইগ্রেট করুন পৃষ্ঠা দেখুন। |
isNotDisplayed() |
মোমেন্টের ধরন PromptMoment.DISPLAY হলে এবং ওয়ান ট্যাপ প্রম্পট
দেখানো না হলে, true রিটার্ন করে।মনে রাখবেন: FedCM চালু করা থাকলে, এই বিজ্ঞপ্তি কাজ করে না। আরও তথ্যের জন্য FedCM-এ মাইগ্রেট করুন পৃষ্ঠা দেখুন। |
getNotDisplayedReason() |
UI কেন দেখানো হয়নি তার বিস্তারিত কারণ। নিম্নলিখিতগুলি হল সম্ভাব্য ভ্যালু:
|
isSkippedMoment() |
মোমেন্টের ধরন PromptMoment.SKIPPEDহলে true রিটার্ন করে
মনে রাখবেন: FedCM চালু করা থাকলে, এই পদ্ধতি আংশিকভাবে কাজ করে।
বিশেষ করে, এটি user_cancel-এর এড়িয়ে যাওয়ার কারণকে সমর্থন করে না। আরও তথ্যের জন্য
FedCM-এ মাইগ্রেট করুন
পৃষ্ঠা দেখুন।
|
getSkippedReason() |
এড়িয়ে যাওয়া মুহূর্তের বিস্তারিত কারণ। নিম্নলিখিতগুলি হল সম্ভাব্য ভ্যালু:
user_cancel-এর
এড়িয়ে যাওয়ার কারণকে সমর্থন করে না। আরও তথ্যের জন্য
FedCM-এ মাইগ্রেট করুন
পৃষ্ঠা দেখুন।
|
isDismissedMoment() |
মোমেন্টের ধরন PromptMoment.DISMISSED হলে
true রিটার্ন করে।মনে রাখবেন: FedCM চালু থাকলে, এই পদ্ধতি সম্পূর্ণভাবে কাজ করে। আরও তথ্যের জন্য FedCM-এ মাইগ্রেট করুন পৃষ্ঠা দেখুন। |
getDismissedReason() |
বাতিল করার বিস্তারিত কারণ। নিম্নলিখিতগুলি সম্ভাব্য ভ্যালু:
|
getMomentType() |
মোমেন্টের ধরনের জন্য একটি স্ট্রিং দেখায়। নিম্নলিখিতগুলি সম্ভাব্য ভ্যালু:
|
ডেটার ধরন: CredentialResponse
আপনার callback ফাংশনটি চালু করা হলে, একটি CredentialResponse অবজেক্ট
প্যারামিটার হিসেবে পাস করা হয়। নিম্নলিখিত সারণীতে ক্রেডেনশিয়াল রেসপন্স অবজেক্টে
থাকা ফিল্ডের তালিকা দেওয়া হল:
| ফিল্ড | |
|---|---|
credential |
Google-এর ইস্যু করা এনকোড করা JWT আইডি টোকেন। |
select_by |
ব্যবহারকারী কীভাবে সাইন-ইন করেছেন। |
state |
ব্যবহারকারী সাইন-ইন করার জন্য 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামে ক্লিক করলে এবং বোতামের state
অ্যাট্রিবিউট নির্দিষ্ট করা থাকলে, তবেই এই ফিল্ডটি সংজ্ঞায়িত করা হয়। |
ক্রেডেনশিয়াল
এই ফিল্ডটি হল 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 Google Workspace email address "auth_time": 1748875426, "amr": ["mfa", "pwd", "tel"], "email": "elisa.g.beckett@gmail.com", // The user's email address "email_verified": true, // true, if Google has verified the email address "azp": "314159265-pi.apps.googleusercontent.com", "name": "Elisa Beckett", // If present, a URL to user's profile picture "picture": "https://lh3.googleusercontent.com/a-/e2718281828459045235360uler", "given_name": "Elisa", "family_name": "Beckett", "iat": 1596474000, // Unix timestamp of the assertion creation time "exp": 1596477600, // Unix timestamp of the assertion expiration time "jti": "abc161803398874def" }
sub ফিল্ড হল Google অ্যাকাউন্টের জন্য বিশ্বব্যাপী অনন্য শনাক্তকারী। ব্যবহারকারীর শনাক্তকারী হিসেবে শুধুমাত্র
sub ফিল্ড ব্যবহার করুন, কারণ এটি সব 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 ফিল্ডে আপনার সার্ভার সাইডে টোকেন যাচাই করার মেয়াদ শেষ হওয়ার সময় দেখানো হয়। 'Google-এর মাধ্যমে সাইন-ইন করুন' ফিচার থেকে পাওয়া ID টোকেনের জন্য
এটি এক ঘণ্টা। মেয়াদ শেষ হওয়ার আগে আপনাকে টোকেন
যাচাই করতে হবে। সেশন ম্যানেজমেন্টের জন্য exp ব্যবহার করবেন না। আইডি টোকেনের মেয়াদ শেষ হয়ে যাওয়ার
অর্থ এই নয় যে ব্যবহারকারী সাইন-আউট করেছেন। আপনার ব্যবহারকারীদের সেশন ম্যানেজ করার
দায়িত্ব আপনার অ্যাপের।
select_by
নিম্নলিখিত সারণীতে select_by ফিল্ডের সম্ভাব্য মান তালিকাভুক্ত করা হয়েছে। ভ্যালু সেট করার জন্য, সেশন ও সম্মতি সংক্রান্ত স্ট্যাটাসের সাথে যে ধরনের বোতাম ব্যবহার করা হয়, তা ব্যবহার করা হয়,
ব্যবহারকারী 'একবার ট্যাপ' বা 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামে প্রেস করেছেন অথবা টাচলেস অটোমেটিক সাইন-ইন প্রসেস ব্যবহার করেছেন।
আগে থেকে থাকা সেশন খুঁজে পাওয়া গেছে অথবা ব্যবহারকারী নতুন সেশন শুরু করার জন্য Google অ্যাকাউন্ট বেছে নিয়েছেন এবং সাইন-ইন করেছেন।
আপনার অ্যাপের সাথে আইডি টোকেন ক্রেডেনশিয়াল শেয়ার করার আগে ব্যবহারকারীকে হয়
- ক্রেডেনশিয়াল শেয়ার করার সম্মতি দিতে 'কনফার্ম করুন' বোতামে প্রেস করেছেন, অথবা
- আগে সম্মতি দিয়েছিলেন এবং Google অ্যাকাউন্ট বেছে নিতে 'অ্যাকাউন্ট বেছে নিন' ফিচার ব্যবহার করেছিলেন।
এই ফিল্ডের মান এই ধরনের একটিতে সেট করা হয়েছে,
| ভ্যালু | বিবরণ |
|---|---|
auto |
আগে থেকে সেশন আছে এমন ব্যবহারকারীর অটোমেটিক সাইন-ইন, যিনি আগে ক্রেডেনশিয়াল শেয়ার করার সম্মতি দিয়েছেন। শুধুমাত্র FedCM কাজ করে না এমন ব্রাউজারের ক্ষেত্রে প্রযোজ্য। |
user |
আগে থেকে সেশন আছে এবং আগে সম্মতি দিয়েছেন এমন একজন ব্যবহারকারী ক্রেডেনশিয়াল শেয়ার করার জন্য 'এই হিসেবে চালিয়ে যান' বোতামে ট্যাপ করেছেন। শুধুমাত্র FedCM কাজ করে না এমন ব্রাউজারের ক্ষেত্রে প্রযোজ্য। |
fedcm |
FedCM ব্যবহার করে ক্রেডেনশিয়াল শেয়ার করার জন্য ব্যবহারকারী 'এই হিসেবে চালিয়ে যান' বোতামে প্রেস করেছেন। শুধুমাত্র FedCM কাজ করে এমন ব্রাউজারের ক্ষেত্রে প্রযোজ্য। |
fedcm_auto |
FedCM One Tap ব্যবহার করে ক্রেডেনশিয়াল শেয়ার করার জন্য আগে সম্মতি দিয়েছেন এমন ব্যবহারকারীকে বর্তমান সেশনের মাধ্যমে অটোমেটিক সাইন-ইন করা। শুধুমাত্র FedCM কাজ করে এমন ব্রাউজারের ক্ষেত্রে প্রযোজ্য। |
user_1tap |
আগে থেকে সেশন আছে এমন একজন ব্যবহারকারী সম্মতি দিতে ও ক্রেডেনশিয়াল শেয়ার করতে 'এই হিসেবে চালিয়ে যান' বোতামে প্রেস করেছেন। শুধুমাত্র Chrome v75 এবং তার পরবর্তী ভার্সনের ক্ষেত্রে প্রযোজ্য। |
user_2tap |
আগে থেকে সেশন নেই এমন একজন ব্যবহারকারী অ্যাকাউন্ট বেছে নিতে 'এই হিসেবে চালিয়ে যান' বোতামে ট্যাপ করেছেন এবং তারপরে সম্মতি দিতে ও ক্রেডেনশিয়াল শেয়ার করতে পপ-আপ উইন্ডোতে 'কনফার্ম করুন' বোতামে প্রেস করেছেন। Chromium-ভিত্তিক নয় এমন ব্রাউজারের ক্ষেত্রে প্রযোজ্য। |
itp |
আগে সম্মতি দিয়েছেন এমন একজন ব্যবহারকারী ITP ব্রাউজারে 'এক ট্যাপ' বিকল্পে প্রেস করেছেন। |
itp_confirm |
সম্মতি দেননি এমন একজন ব্যবহারকারী ITP ব্রাউজারে 'এক ট্যাপ' ফিচারে প্রেস করেছেন এবং সম্মতি দিতে ও ক্রেডেনশিয়াল শেয়ার করতে 'চালিয়ে যান' বোতামে প্রেস করেছেন। |
btn |
যে ব্যবহারকারী আগে সম্মতি দিয়েছেন তিনি 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামে প্রেস করেছেন এবং ক্রেডেনশিয়াল শেয়ার করার জন্য 'অ্যাকাউন্ট বেছে নিন' থেকে একটি Google অ্যাকাউন্ট বেছে নিয়েছেন। |
btn_confirm |
যে ব্যবহারকারী সম্মতি দেননি তিনি '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
)
ডেটার ধরন: GsiButtonConfiguration
নিম্নলিখিত সারণীতে 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 |
|
Fill: #FFFFFF Stroke: #747775 | 1px | inside Font: #1F1F1F | Roboto Medium | 14/20 Personalized: #1F1F1F | Roboto | Medium 12/14 | Regular 11/13 |
filled_blue |
|
Fill: #0B57D0 Stroke: #OB57D0 | 1px | inside Font: #FFFFFF | Google Sans Medium | 14/20 Personalized: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13 |
filled_black |
|
Fill: #202124 Stroke: #OB57D0 | 1px | inside Font: #FFFFFF | Google Sans Medium | 14/20 Personalized: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13 |
outline_dark |
|
Fill: #131314 Stroke: #8E918F | 1px | inside Font: #FFFFFF | Google Sans Medium | 14/20 Personalized: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13 |
সাইজ
বোতামের সাইজ। ডিফল্ট ভ্যালু হল 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
Google লোগোর অ্যালাইনমেন্ট। ডিফল্ট ভ্যালু হল left। এই অ্যাট্রিবিউট
শুধুমাত্র standard বোতামের ধরনের ক্ষেত্রে প্রযোজ্য। আরও তথ্যের জন্য নিম্নলিখিত টেবিল
দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং | ঐচ্ছিক | logo_alignment: "center" |
নিম্নলিখিত সারণীতে উপলভ্য অ্যালাইনমেন্ট ও সেগুলির বিবরণ তালিকাভুক্ত করা হয়েছে:
| logo_alignment | |
|---|---|
left |
|
center |
|
প্রস্থ
পিক্সেলে, বোতামের ন্যূনতম প্রস্থ। প্রস্থ সর্বাধিক ৪০০ পিক্সেল হতে পারে।
আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং | ঐচ্ছিক | width: "400" |
লোকেল
ঐচ্ছিক। নির্দিষ্ট লোকেল ব্যবহার করে বোতামের টেক্সট দেখান, অন্যথায় ব্যবহারকারীর Google অ্যাকাউন্ট বা ব্রাউজার সেটিংসের ডিফল্ট লোকেল ব্যবহার করুন। লাইব্রেরি লোড করার সময় src ডিরেক্টিভে hl প্যারামিটার ও
ভাষা কোড যোগ করুন, যেমন:
gsi/client?hl=<iso-639-code>।
এটি সেট করা না থাকলে, ব্রাউজারের ডিফল্ট লোকেল বা Google সেশন ব্যবহারকারীর পছন্দ ব্যবহার করা হয়। তাই, বিভিন্ন ব্যবহারকারী লোকালাইজ করা বোতামের বিভিন্ন ভার্সন দেখতে পেতে পারেন এবং সম্ভবত বিভিন্ন সাইজে।
আরও তথ্যের জন্য নিম্নলিখিত টেবিল দেখুন:
| ধরন | প্রয়োজনীয় | উদাহরণ |
|---|---|---|
| স্ট্রিং | ঐচ্ছিক | locale: "zh_CN" |
click_listener
click_listener অ্যাট্রিবিউট ব্যবহার করে 'Google-এর মাধ্যমে সাইন-ইন করুন' বোতামে ক্লিক করা হলে, কল করার জন্য আপনি একটি জাভাস্ক্রিপ্ট ফাংশন নির্ধারণ করতে পারেন।
google.accounts.id.renderButton(document.getElementById("signinDiv"), { theme: 'outline', size: 'large', click_listener: onClickHandler }); function onClickHandler(){ console.log("Sign in with Google button clicked...") }
এই উদাহরণে, '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>
Method: 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-এর মাধ্যমে সাইন-ইন করুন জাভাস্ক্রিপ্ট লাইব্রেরি লোড হওয়ার পরে এটি বিজ্ঞপ্তি দেয়:
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 |
ফাংশন | ঐচ্ছিক RevocationResponse হ্যান্ডলার। |
নিম্নলিখিত কোড স্যাম্পেল থেকে জানা যায় যে কীভাবে একটি আইডির সাথে revoke পদ্ধতি ব্যবহার করতে হয়।
google.accounts.id.revoke('1618033988749895', done => {
console.log(done.error);
});ডেটার ধরন: RevocationResponse
আপনার callback ফাংশনটি চালু করা হলে, একটি RevocationResponse অবজেক্ট
প্যারামিটার হিসেবে পাস করা হয়। নিম্নলিখিত সারণীতে প্রত্যাহার সংক্রান্ত রেসপন্স অবজেক্টে
থাকা ফিল্ডের তালিকা দেওয়া হল:
| ফিল্ড | |
|---|---|
successful |
এই ফিল্ডটি হল মেথড কলের রিটার্ন ভ্যালু। |
error |
এই ফিল্ডে ঐচ্ছিকভাবে সমস্যার বিস্তারিত উত্তর মেসেজ থাকে। |
করা হয়েছে
এই ফিল্ডটি হল একটি বুলিয়ান ভ্যালু যা তুলে নেওয়ার মেথড কল সফল হলে true হিসেবে সেট করা হয় অথবা ব্যর্থ হলে false হিসেবে সেট করা হয়।
সমস্যা
এই ফিল্ডটি একটি স্ট্রিং ভ্যালু এবং এতে একটি বিস্তারিত ত্রুটি মেসেজ থাকে যদি প্রত্যাহার মেথড কল ব্যর্থ হয়, এটি সফল হলে সংজ্ঞায়িত হয় না।