আমরা ওয়েবের জন্য Google সাইন-ইন জাভাস্ক্রিপ্ট প্ল্যাটফর্ম লাইব্রেরি বন্ধ করে দিচ্ছি। 31শে মার্চ, 2023 অবচয় তারিখের পরে লাইব্রেরিটি ডাউনলোডের জন্য অনুপলব্ধ থাকবে। পরিবর্তে, ওয়েবের জন্য নতুন Google পরিচয় পরিষেবাগুলি ব্যবহার করুন৷
ডিফল্টরূপে, নতুন তৈরি করা ক্লায়েন্ট আইডিগুলি এখন পুরানো প্ল্যাটফর্ম লাইব্রেরি ব্যবহার করা থেকে ব্লক করা হয়েছে, বিদ্যমান ক্লায়েন্ট আইডিগুলি প্রভাবিত হয় না৷ 29শে জুলাই, 2022-এর আগে তৈরি করা নতুন ক্লায়েন্ট আইডিগুলি Google প্ল্যাটফর্ম লাইব্রেরির ব্যবহার সক্ষম করতে `plugin_name` সেট করতে পারে।

Google সাইন-ইন জাভাস্ক্রিপ্ট ক্লায়েন্ট রেফারেন্স

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

এই রেফারেন্সটি জাভাস্ক্রিপ্ট ক্লায়েন্ট পদ্ধতি এবং বৈশিষ্ট্যগুলি বর্ণনা করে যা আপনি আপনার ওয়েব অ্যাপ্লিকেশনগুলিতে Google সাইন-ইন বাস্তবায়ন করতে ব্যবহার করবেন৷

আপনি যদি লাইব্রেরি ব্যবহার করে কোনো সমস্যার সম্মুখীন হন, তাহলে অনুগ্রহ করে আমাদের GitHub সংগ্রহস্থলে রিপোর্ট করুন।

প্রমাণ সেটআপ

gapi অবজেক্ট তৈরি করতে Google APIs প্ল্যাটফর্ম লাইব্রেরি লোড করুন:

<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script>

প্ল্যাটফর্ম লাইব্রেরি লোড হওয়ার পরে, auth2 লাইব্রেরি লোড করুন:

function init() {
  gapi.load('auth2', function() {
    /* Ready. Make a call to gapi.auth2.init or some other API */
  });
}

gapi.auth2.init( params )

GoogleAuth অবজেক্ট শুরু করে। gapi.auth2.GoogleAuth এর পদ্ধতিতে কল করার আগে আপনাকে অবশ্যই এই পদ্ধতিতে কল করতে হবে।

আপনি যখন GoogleAuth অবজেক্ট শুরু করেন, তখন আপনি আপনার OAuth 2.0 ক্লায়েন্ট আইডি এবং আপনি নির্দিষ্ট করতে চান এমন কোনও অতিরিক্ত বিকল্পের সাথে অবজেক্টটি কনফিগার করেন। তারপর, যদি ব্যবহারকারী ইতিমধ্যেই সাইন ইন করে থাকে, GoogleAuth অবজেক্ট আগের সেশন থেকে ব্যবহারকারীর সাইন-ইন অবস্থা পুনরুদ্ধার করে।

যুক্তি
params ক্লায়েন্ট কনফিগারেশন ডেটার মূল-মান জোড়া ধারণকারী একটি বস্তু। কনফিগারযোগ্য বিভিন্ন বৈশিষ্ট্যের জন্য gapi.auth2.ClientConfig দেখুন। যেমন:
{
  client_id: 'CLIENT_ID.apps.googleusercontent.com'
}
রিটার্নস
gapi.auth2.GoogleAuth gapi.auth2.GoogleAuth অবজেক্ট। একটি প্রতিশ্রুতি পেতে then() পদ্ধতি ব্যবহার করুন যা gapi.auth2.GoogleAuth অবজেক্টের আরম্ভ করা শেষ হলে সমাধান করা হয়।

GoogleAuth. তারপর ( onInit , onError )

GoogleAuth অবজেক্ট সম্পূর্ণরূপে আরম্ভ হলে onInit ফাংশন কল করে। আরম্ভ করার সময় যদি একটি ত্রুটি উত্থাপিত হয় (এটি পুরানো অসমর্থিত ব্রাউজারগুলিতে ঘটতে পারে), পরিবর্তে onError ফাংশনটি কল করা হবে।

যুক্তি
onInit GoogleAuth অবজেক্টের সাথে কল করা ফাংশনটি সম্পূর্ণরূপে আরম্ভ হলে।
onError GoogleAuth আরম্ভ করতে ব্যর্থ হলে একটি error বৈশিষ্ট্য ধারণকারী বস্তুর সাথে কল করা ফাংশন।
রিটার্নস
প্রতিশ্রুতি একটি Promise যা পূর্ণ হয় যখন onInit ফাংশনটি সম্পন্ন হয়, বা একটি প্রাথমিক ত্রুটি উত্থাপিত হলে প্রত্যাখ্যান করা হয়। এটি onInit ফাংশন থেকে প্রত্যাবর্তিত মান দিয়ে সমাধান করে, যদি থাকে।

ত্রুটি কোড

idpiframe_initialization_failed
Google থেকে একটি প্রয়োজনীয় iframe আরম্ভ করতে ব্যর্থ হয়েছে, উদাহরণস্বরূপ, একটি অসমর্থিত পরিবেশের কারণে৷ একটি details সম্পত্তি উত্থাপিত ত্রুটি সম্পর্কে আরও তথ্য দেবে।

gapi.auth2.ClientConfig

ইন্টারফেস যা gapi.auth2.init পদ্ধতির জন্য বিভিন্ন কনফিগারেশন পরামিতি উপস্থাপন করে।

পরামিতি
client_id string প্রয়োজন। অ্যাপটির ক্লায়েন্ট আইডি, Google Developers Console-এ পাওয়া এবং তৈরি করা হয়েছে।
cookie_policy string যে ডোমেনগুলির জন্য সাইন-ইন কুকি তৈরি করতে হবে৷ হয় একটি URI, single_host_origin , অথবা none । অনির্দিষ্ট থাকলে single_host_origin ডিফল্ট।
scope string স্পেস-ডিলিমিটেড স্ট্রিং হিসাবে অনুরোধ করার সুযোগ। ঐচ্ছিক যদি fetch_basic_profile মিথ্যা সেট করা না থাকে।
fetch_basic_profile boolean ব্যবহারকারীরা সাইন ইন করার সময় তাদের মৌলিক প্রোফাইল তথ্য আনুন। অনুরোধ করা স্কোপে 'প্রোফাইল', 'ইমেল' এবং 'ওপেনিড' যোগ করে। অনির্দিষ্ট থাকলে সত্য।
hosted_domain string যে G Suite ডোমেনটিতে ব্যবহারকারীদের অবশ্যই সাইন ইন করতে হবে। এটি ক্লায়েন্টদের দ্বারা পরিবর্তনের জন্য সংবেদনশীল, তাই ফিরে আসা ব্যবহারকারীর হোস্ট করা ডোমেন সম্পত্তি যাচাই করতে ভুলবেন না। ক্লায়েন্টে GoogleUser.getHostedDomain() ব্যবহার করুন, এবং ডোমেন যাচাই করতে সার্ভারে আইডি টোকেনে hd দাবিটি আপনি আশা করেছিলেন।
ux_mode string সাইন-ইন প্রবাহের জন্য ব্যবহার করার জন্য UX মোড। ডিফল্টরূপে, এটি একটি পপআপে সম্মতির প্রবাহ খুলবে। বৈধ মানগুলি হল popup এবং redirect
redirect_uri string ux_mode='redirect' ব্যবহার করলে, এই প্যারামিটারটি আপনাকে ডিফল্ট redirect_uri ওভাররাইড করতে দেয় যা সম্মতি প্রবাহের শেষে ব্যবহার করা হবে। ডিফল্ট redirect_uri হল বর্তমান URL যা ক্যোয়ারী প্যারামিটার এবং হ্যাশ ফ্র্যাগমেন্ট থেকে ছিটকে গেছে।
plugin_name string ঐচ্ছিক। এই মান সেট করা থাকলে, 29শে জুলাই, 2022-এর আগে তৈরি করা নতুন ক্লায়েন্ট আইডি পুরনো Google প্ল্যাটফর্ম লাইব্রেরি ব্যবহার করতে পারবে। ডিফল্টরূপে, নতুন তৈরি করা ক্লায়েন্ট আইডিগুলি এখন প্ল্যাটফর্ম লাইব্রেরি ব্যবহার করা থেকে ব্লক করা হয়েছে এবং এর পরিবর্তে অবশ্যই নতুন Google আইডেন্টিটি পরিষেবা লাইব্রেরি ব্যবহার করতে হবে৷ আপনি যে কোনও মান চয়ন করতে পারেন, একটি বর্ণনামূলক নাম যেমন পণ্য বা প্লাগইন নাম সহজ সনাক্তকরণের জন্য সুপারিশ করা হয়। উদাহরণ: plugin_name: 'YOUR_STRING_HERE'

প্রমাণীকরণ

GoogleAuth হল একটি সিঙ্গলটন ক্লাস যা ব্যবহারকারীকে একটি Google অ্যাকাউন্ট দিয়ে সাইন ইন করার, ব্যবহারকারীর বর্তমান সাইন-ইন স্থিতি পেতে, ব্যবহারকারীর Google প্রোফাইল থেকে নির্দিষ্ট ডেটা পেতে, অতিরিক্ত স্কোপের অনুরোধ এবং বর্তমান অ্যাকাউন্ট থেকে সাইন আউট করার জন্য পদ্ধতি প্রদান করে।

gapi.auth2.getAuthInstance()

GoogleAuth অবজেক্ট ফেরত দেয়। এই পদ্ধতিতে কল করার আগে আপনাকে অবশ্যই gapi.auth2.init() দিয়ে GoogleAuth অবজেক্ট শুরু করতে হবে।

রিটার্নস
gapi.auth2.GoogleAuth gapi.auth2.GoogleAuth অবজেক্ট। gapi.auth2.GoogleAuth এর পদ্ধতিগুলি কল করতে এই বস্তুটি ব্যবহার করুন।

GoogleAuth.isSignedIn.get()

বর্তমান ব্যবহারকারী বর্তমানে সাইন ইন করেছেন কিনা তা প্রদান করে।

রিটার্নস
বুলিয়ান ব্যবহারকারী সাইন ইন করলে true , অথবা ব্যবহারকারী সাইন আউট হলে বা GoogleAuth অবজেক্ট আরম্ভ না হলে false

GoogleAuth.isSignedIn.listen(শ্রোতা)

বর্তমান ব্যবহারকারীর সাইন-ইন অবস্থায় পরিবর্তনের জন্য শুনুন।

যুক্তি
listener একটি ফাংশন যা একটি বুলিয়ান মান নেয়। listen() ব্যবহারকারী সাইন ইন করলে এই ফাংশনে true পাস করে এবং ব্যবহারকারী সাইন আউট করলে false হয়।

GoogleAuth.signIn()

gapi.auth2.init() নির্দিষ্ট করা বিকল্পগুলির সাথে ব্যবহারকারীকে সাইন ইন করুন।

রিটার্নস
প্রতিশ্রুতি একটি Promise যা GoogleUser উদাহরণের সাথে পূর্ণ হয় যখন ব্যবহারকারী সফলভাবে প্রমাণীকরণ করে এবং অনুরোধকৃত স্কোপগুলি মঞ্জুর করে, অথবা একটি ত্রুটি ঘটলে (ত্রুটির কোডগুলির জন্য নীচে দেখুন) একটি error বৈশিষ্ট্য ধারণকারী বস্তুর সাথে প্রত্যাখ্যান করা হয়।

ত্রুটি কোড

GoogleAuth.signIn( options ) দেখুন।

GoogleAuth.signIn( options )

নির্দিষ্ট বিকল্প ব্যবহার করে ব্যবহারকারী সাইন ইন করুন।

যুক্তি
options হয়:
  • একটি gapi.auth2.SignInOptions অবজেক্ট যাতে সাইন-ইন প্যারামিটারের কী-মানের জোড়া রয়েছে। যেমন:
    {
      scope: 'profile email'
    }
  • gapi.auth2.SigninOptionsBuilder এর একটি উদাহরণ। যেমন:
    options = new gapi.auth2.SigninOptionsBuilder();
    options.setAppPackageName('com.example.app');
    options.setFetchBasicProfile(True);
    options.setPrompt('select_account');
    options.setScope('profile').setScope('email');
রিটার্নস
প্রতিশ্রুতি একটি Promise যা GoogleUser উদাহরণের সাথে পূর্ণ হয় যখন ব্যবহারকারী সফলভাবে প্রমাণীকরণ করে এবং অনুরোধকৃত স্কোপগুলি মঞ্জুর করে, অথবা একটি ত্রুটি ঘটলে (ত্রুটির কোডগুলির জন্য নীচে দেখুন) একটি error বৈশিষ্ট্য ধারণকারী বস্তুর সাথে প্রত্যাখ্যান করা হয়।

ত্রুটি কোড

popup_closed_by_user
সাইন ইন ফ্লো শেষ করার আগে ব্যবহারকারী পপআপ বন্ধ করে দিয়েছেন।
access_denied
ব্যবহারকারী প্রয়োজনীয় স্কোপের অনুমতি অস্বীকার করেছেন।
immediate_failed
সম্মতি প্রবাহের অনুরোধ না করে কোনো ব্যবহারকারীকে স্বয়ংক্রিয়ভাবে নির্বাচন করা যাবে না। প্রম্পট সহ signIn ব্যবহার করার সময় ত্রুটি উত্থাপিত হয়েছে prompt: 'none' বিকল্প। এই বিকল্পটি ব্যবহার করার প্রয়োজন হবে না, কারণ gapi.auth2.init স্বয়ংক্রিয়ভাবে ব্যবহারকারীকে সাইন ইন করবে যদি পূর্ববর্তী সেশনে সাইন ইন করা থাকে।

gapi.auth2.SignInOptions

ইন্টারফেস যা GoogleAuth.signIn( options ) পদ্ধতির জন্য বিভিন্ন কনফিগারেশন পরামিতি উপস্থাপন করে।

পরামিতি
prompt string সম্মতি প্রবাহের জন্য একটি নির্দিষ্ট মোড জোর করে। ঐচ্ছিক।
সম্ভাব্য মান হল:
  • consent
    অনুমোদন সার্ভার অ্যাপ্লিকেশনে তথ্য ফেরত দেওয়ার আগে ব্যবহারকারীকে সম্মতির জন্য অনুরোধ করে।
  • select_account
    অনুমোদন সার্ভার ব্যবহারকারীকে একটি Google অ্যাকাউন্ট নির্বাচন করতে অনুরোধ করে। এটি এমন একটি ব্যবহারকারীকে অনুমতি দেয় যার একাধিক অ্যাকাউন্ট রয়েছে একাধিক অ্যাকাউন্টের মধ্যে নির্বাচন করতে পারে যার জন্য তাদের বর্তমান সেশন থাকতে পারে।
  • none ( প্রস্তাবিত নয় )
    অনুমোদন সার্ভার কোনো প্রমাণীকরণ বা ব্যবহারকারীর সম্মতি স্ক্রীন প্রদর্শন করবে না; এটি একটি ত্রুটি ফেরত দেবে যদি ব্যবহারকারী ইতিমধ্যেই প্রমাণীকৃত না হয় এবং অনুরোধ করা স্কোপগুলিতে পূর্বে সম্মতি না দেয়।
    যেহেতু gapi.auth2.init স্বয়ংক্রিয়ভাবে কোনো ব্যবহারকারীকে অ্যাপ্লিকেশানে সাইন ইন করবে যদি আগে সাইন ইন করা থাকে, signIn({prompt: 'none'}) কল করা সাধারণত ব্যর্থ হবে৷
scope string gapi.auth2.init সংজ্ঞায়িত স্কোপের উপরে স্পেস-ডিলিমিটেড স্ট্রিং হিসাবে অনুরোধ করার সুযোগ। ঐচ্ছিক যদি fetch_basic_profile মিথ্যা সেট করা না থাকে।
ux_mode string সাইন-ইন প্রবাহের জন্য ব্যবহার করার জন্য UX মোড। ডিফল্টরূপে, এটি একটি পপআপে সম্মতির প্রবাহ খুলবে। বৈধ মানগুলি হল popup এবং redirect
redirect_uri string ux_mode='redirect' ব্যবহার করলে, এই প্যারামিটারটি আপনাকে ডিফল্ট redirect_uri ওভাররাইড করতে দেয় যা সম্মতি প্রবাহের শেষে ব্যবহার করা হবে। ডিফল্ট redirect_uri হল বর্তমান URL যা ক্যোয়ারী প্যারামিটার এবং হ্যাশ ফ্র্যাগমেন্ট থেকে ছিটকে গেছে।

GoogleAuth.signOut()

অ্যাপ্লিকেশন থেকে বর্তমান অ্যাকাউন্ট সাইন আউট করুন.

রিটার্নস
প্রতিশ্রুতি একটি Promise যা পূরণ করা হয় যখন ব্যবহারকারী সাইন আউট হয়ে যায়।

GoogleAuth.disconnect()

ব্যবহারকারীর দেওয়া সমস্ত সুযোগ প্রত্যাহার করে।

GoogleAuth.grantOfflineAccess( options )

অফলাইনে নির্দিষ্ট স্কোপ অ্যাক্সেস করার জন্য ব্যবহারকারীর কাছ থেকে অনুমতি নিন।

যুক্তি
options একটি gapi.auth2.OfflineAccessOptions অবজেক্টে কী-মানের জোড়া প্যারামিটার রয়েছে। যেমন:
{
  scope: 'profile email'
}
রিটার্নস
প্রতিশ্রুতি একটি Promise যা পূরণ করা হয় যখন ব্যবহারকারী অনুরোধকৃত স্কোপ মঞ্জুর করে, Promise পূর্ণতা হ্যান্ডলারের কাছে অনুমোদন কোড সম্বলিত একটি বস্তু পাস করে। যেমন:
auth2.grantOfflineAccess().then(function(resp) {
  var auth_code = resp.code;
});

ত্রুটি কোড

popup_closed_by_user
ব্যবহারকারী সম্মতি প্রবাহ শেষ করার আগে পপআপ বন্ধ করে দিয়েছেন।
access_denied
ব্যবহারকারী প্রয়োজনীয় স্কোপের অনুমতি অস্বীকার করেছেন।
immediate_failed
সম্মতি প্রবাহের অনুরোধ না করে কোনো ব্যবহারকারীকে স্বয়ংক্রিয়ভাবে নির্বাচন করা যাবে না। প্রম্পট সহ signIn ব্যবহার করার সময় ত্রুটি উত্থাপিত হয়েছে prompt: 'none' বিকল্প। এই বিকল্পটি ব্যবহার করার প্রয়োজন হবে না, কারণ gapi.auth2.init স্বয়ংক্রিয়ভাবে ব্যবহারকারীকে সাইন ইন করবে যদি পূর্ববর্তী সেশনে সাইন ইন করা থাকে।

gapi.auth2.OfflineAccessOptions

ইন্টারফেস যা GoogleAuth.grantOfflineAccess( options ) পদ্ধতির জন্য বিভিন্ন কনফিগারেশন পরামিতি উপস্থাপন করে।

পরামিতি
prompt string সম্মতি প্রবাহের জন্য একটি নির্দিষ্ট মোড জোর করে। ঐচ্ছিক।
সম্ভাব্য মান হল:
  • consent
    অনুমোদন সার্ভার অ্যাপ্লিকেশনে তথ্য ফেরত দেওয়ার আগে ব্যবহারকারীকে সম্মতির জন্য অনুরোধ করে।
  • select_account
    অনুমোদন সার্ভার ব্যবহারকারীকে একটি Google অ্যাকাউন্ট নির্বাচন করতে অনুরোধ করে। এটি এমন একটি ব্যবহারকারীকে অনুমতি দেয় যার একাধিক অ্যাকাউন্ট রয়েছে একাধিক অ্যাকাউন্টের মধ্যে নির্বাচন করতে পারে যার জন্য তাদের বর্তমান সেশন থাকতে পারে।
scope string gapi.auth2.init সংজ্ঞায়িত স্কোপের উপরে স্পেস-ডিলিমিটেড স্ট্রিং হিসাবে অনুরোধ করার সুযোগ। ঐচ্ছিক যদি fetch_basic_profile মিথ্যা সেট করা না থাকে।

GoogleAuth.attachClickHandler( container , options , onsuccess , onfailure )

নির্দিষ্ট কন্টেইনারের ক্লিক হ্যান্ডলারে সাইন-ইন প্রবাহ সংযুক্ত করে।

যুক্তি
container ক্লিক হ্যান্ডলার সংযুক্ত করার জন্য div উপাদানের ID, বা একটি রেফারেন্স।
options প্যারামিটারের কী-মানের জোড়া সমন্বিত একটি বস্তু। GoogleAuth.signIn() দেখুন।
onsuccess সাইন-ইন সম্পূর্ণ হওয়ার পরে কল করার ফাংশন।
onfailure সাইন-ইন ব্যর্থ হলে কল করার ফাংশন।

ব্যবহারকারীদের

একটি GoogleUser অবজেক্ট একটি ব্যবহারকারীর অ্যাকাউন্টের প্রতিনিধিত্ব করে। GoogleUser অবজেক্টগুলি সাধারণত GoogleAuth.currentUser.get() কল করে প্রাপ্ত হয়।

GoogleAuth.currentUser.get()

একটি GoogleUser অবজেক্ট প্রদান করে যা বর্তমান ব্যবহারকারীর প্রতিনিধিত্ব করে। নোট করুন যে একটি নতুন- GoogleAuth উদাহরণে, বর্তমান ব্যবহারকারী সেট করা হয়নি। একটি প্রারম্ভিক GoogleAuth উদাহরণ পেতে currentUser.listen() পদ্ধতি বা GoogleAuth.then() () ব্যবহার করুন।

রিটার্নস
GoogleUser বর্তমান ব্যবহারকারী

GoogleAuth.currentUser.listen( listener )

বর্তমান ব্যবহারকারীর পরিবর্তনের জন্য শুনুন।

যুক্তি
listener একটি ফাংশন যা একটি GoogleUser প্যারামিটার নেয়। listen এই ফাংশনটি পাস করে একটি GoogleUser ইনস্ট্যান্স প্রতিটি পরিবর্তন যা currentUser ব্যবহারকারীকে পরিবর্তন করে।

GoogleUser.getId()

ব্যবহারকারীর অনন্য আইডি স্ট্রিং পান।

রিটার্নস
স্ট্রিং ব্যবহারকারীর অনন্য আইডি

GoogleUser.isSignedIn()

ব্যবহারকারী সাইন ইন করলে সত্য ফেরত দেয়।

রিটার্নস
বুলিয়ান ব্যবহারকারী সাইন ইন করলে সত্য

GoogleUser.getHostedDomain()

ব্যবহারকারী একটি G Suite অ্যাকাউন্ট দিয়ে সাইন ইন করলে ব্যবহারকারীর G Suite ডোমেন পান।

রিটার্নস
স্ট্রিং ব্যবহারকারীর G Suite ডোমেন

GoogleUser.getGrantedScopes()

স্পেস-ডিলিমিটেড স্ট্রিং হিসাবে ব্যবহারকারীর দেওয়া সুযোগগুলি পান।

রিটার্নস
স্ট্রিং ব্যবহারকারীর দ্বারা প্রদত্ত সুযোগ

GoogleUser.getBasicProfile()

ব্যবহারকারীর মৌলিক প্রোফাইল তথ্য পান।

রিটার্নস
gapi.auth2.BasicProfile আপনি নিম্নলিখিত পদ্ধতিগুলির সাথে gapi.auth2.BasicProfile এর বৈশিষ্ট্যগুলি পুনরুদ্ধার করতে পারেন:
  • BasicProfile.getId()
  • BasicProfile.getName()
  • BasicProfile.getGivenName()
  • BasicProfile.getFamilyName()
  • BasicProfile.getImageUrl()
  • BasicProfile.getEmail()

GoogleUser.getAuthResponse(AuthorizationData অন্তর্ভুক্ত)

ব্যবহারকারীর প্রমাণীকরণ সেশন থেকে প্রতিক্রিয়া বস্তু পান।

যুক্তি
includeAuthorizationData ঐচ্ছিক: একটি বুলিয়ান যা সর্বদা একটি অ্যাক্সেস টোকেন এবং স্কোপ ফেরত দেবে কিনা তা নির্দিষ্ট করে। ডিফল্টরূপে, fetch_basic_profile সত্য (ডিফল্ট মান) হলে অ্যাক্সেস টোকেন এবং অনুরোধ করা স্কোপগুলি ফেরত দেওয়া হয় না এবং কোনও অতিরিক্ত সুযোগের অনুরোধ করা হয় না।
রিটার্নস
gapi.auth2.AuthResponse একটি gapi.auth2.AuthResponse অবজেক্ট।

GoogleUser.reloadAuthResponse()

অ্যাক্সেস টোকেন রিফ্রেশ করতে বাধ্য করে, এবং তারপর নতুন AuthResponse-এর জন্য একটি প্রতিশ্রুতি প্রদান করে।

রিটার্নস
Promise OAuth টোকেন পুনরায় লোড করার সময় পুনরায় লোড করা gapi.auth2.AuthResponse দিয়ে একটি Promise পূরণ করা হয়।

gapi.auth2.AuthResponse

GoogleUser.getAuthResponse( includeAuthorizationData ) বা GoogleUser.reloadAuthResponse() পদ্ধতিতে কল করার সময় প্রতিক্রিয়া ফিরে আসে।

বৈশিষ্ট্য
access_token string অ্যাক্সেস টোকেন দেওয়া হয়েছে।
id_token string আইডি টোকেন দেওয়া হয়েছে।
scope string অ্যাক্সেস টোকেনে প্রদত্ত সুযোগ।
expires_in number অ্যাক্সেস টোকেনের মেয়াদ শেষ হওয়া পর্যন্ত সেকেন্ডের সংখ্যা।
first_issued_at number যে টাইমস্ট্যাম্পে ব্যবহারকারী প্রথমে অনুরোধ করা স্কোপগুলি মঞ্জুর করেছিলেন৷
expires_at number যে টাইমস্ট্যাম্পে অ্যাক্সেস টোকেনের মেয়াদ শেষ হবে।

GoogleUser.hasGrantedScopes( scopes )

ব্যবহারকারী নির্দিষ্ট সুযোগ প্রদান করলে সত্য ফেরত দেয়।

যুক্তি
scopes স্কোপের একটি স্থান-সীমাবদ্ধ স্ট্রিং।
রিটার্নস
বুলিয়ান স্কোপ মঞ্জুর করা হলে সত্য

GoogleUser.grant( options )

ব্যবহারকারীর কাছে অতিরিক্ত সুযোগের অনুরোধ করুন।

প্যারামিটারের তালিকা এবং ত্রুটি কোডের জন্য GoogleAuth.signIn() দেখুন।

GoogleUser.grantOfflineAccess( options )

অফলাইনে নির্দিষ্ট স্কোপ অ্যাক্সেস করার জন্য ব্যবহারকারীর কাছ থেকে অনুমতি নিন।

যুক্তি
options একটি gapi.auth2.OfflineAccessOptions অবজেক্টে কী-মানের জোড়া প্যারামিটার রয়েছে। যেমন:
{
  scope: 'profile email'
}

GoogleUser.disconnect()

অ্যাপ্লিকেশনটির জন্য ব্যবহারকারীর দেওয়া সমস্ত সুযোগ প্রত্যাহার করে।

UI উপাদান

gapi.signin2.render ( id , options )

options অবজেক্ট দ্বারা নির্দিষ্ট করা সেটিংস ব্যবহার করে প্রদত্ত আইডি সহ উপাদানে একটি সাইন-ইন বোতাম রেন্ডার করে।

যুক্তি
id যে উপাদানটিতে সাইন-ইন বোতামটি রেন্ডার করতে হবে তার আইডি৷
options বোতাম রেন্ডার করতে ব্যবহার করার জন্য সেটিংস ধারণকারী একটি বস্তু। উদাহরণস্বরূপ:
{
  scope: 'email',
  width: 200,
  height: 50,
  longtitle: true,
  theme: 'dark',
  onsuccess: handleSuccess,
  onfailure: handleFailure
}
আপনি নিম্নলিখিত বিকল্পগুলি নির্দিষ্ট করতে পারেন:
পরামিতি
সুযোগ ব্যবহারকারী সাইন ইন করার সময় অনুরোধ করার সুযোগ (ডিফল্ট: profile )।
প্রস্থ পিক্সেলে বোতামের প্রস্থ (ডিফল্ট: 120 )।
উচ্চতা পিক্সেলে বোতামের উচ্চতা (ডিফল্ট: 36 )।
দীর্ঘ শিরোনাম "সাইন ইন" এর পরিবর্তে "Google দিয়ে সাইন ইন করুন" এর মতো লম্বা লেবেলগুলি প্রদর্শন করুন (ডিফল্ট: false )। আপনি যখন দীর্ঘ শিরোনাম ব্যবহার করেন, তখন আপনার ডিফল্ট থেকে বোতামের প্রস্থ বৃদ্ধি করা উচিত।
থিম বোতামের রঙের থিম: হয় light বা dark (ডিফল্ট: light )।
সাফল্য একজন ব্যবহারকারী সফলভাবে সাইন ইন করলে gapi.auth2.GoogleUser ফাংশন।
ব্যর্থতা সাইন-ইন ব্যর্থ হলে কল করার জন্য কলব্যাক ফাংশন। এই ফাংশনটি কোন আর্গুমেন্ট নেয় না (ডিফল্ট: কোনটিই নয়)।

উন্নত

gapi.auth2.authorize( params , callback )

এককালীন OAuth 2.0 অনুমোদন সম্পাদন করে। ব্যবহৃত পরামিতিগুলির উপর নির্ভর করে, এটি Google সাইন-ইন প্রবাহে একটি পপআপ খুলবে বা ব্যবহারকারীর মিথস্ক্রিয়া ছাড়াই অনুরোধ করা প্রতিক্রিয়া নীরবে লোড করার চেষ্টা করবে৷

কিছু ব্যবহারের ক্ষেত্রে যেখানে এই পদ্ধতিটি কার্যকর তার মধ্যে রয়েছে:

  • আপনার অ্যাপ্লিকেশনটিকে শুধুমাত্র একবার Google API এন্ডপয়েন্টের অনুরোধ করতে হবে, উদাহরণস্বরূপ ব্যবহারকারীর পছন্দের YouTube ভিডিওগুলি প্রথমবার সাইন ইন করার সময় লোড করার জন্য৷
  • আপনার অ্যাপ্লিকেশনটির নিজস্ব সেশন ম্যানেজমেন্ট অবকাঠামো রয়েছে এবং আপনার ব্যাকএন্ডে ব্যবহারকারীকে শনাক্ত করার জন্য শুধুমাত্র একবার আইডি টোকেন প্রয়োজন।
  • একই পৃষ্ঠার মধ্যে বেশ কয়েকটি ক্লায়েন্ট আইডি ব্যবহার করা হয়।
যুক্তি
params কনফিগারেশন ডেটার কী-মানের জোড়া সমন্বিত একটি বস্তু। বিভিন্ন বৈশিষ্ট্য কনফিগার করার জন্য gapi.auth2.AuthorizeConfig দেখুন। যেমন:
{
  client_id: 'CLIENT_ID.apps.googleusercontent.com',
  scope: 'email profile openid',
  response_type: 'id_token permission'
}
callback অনুরোধ সম্পূর্ণ হওয়ার পরে একটি gapi.auth2.AuthorizeResponse অবজেক্টের সাথে একটি ফাংশন বলা হয় (হয় সফলভাবে বা ব্যর্থতার সাথে)।

উদাহরণ

gapi.auth2.authorize({
  client_id: 'CLIENT_ID.apps.googleusercontent.com',
  scope: 'email profile openid',
  response_type: 'id_token permission'
}, function(response) {
  if (response.error) {
    // An error happened!
    return;
  }
  // The user authorized the application for the scopes requested.
  var accessToken = response.access_token;
  var idToken = response.id_token;
  // You can also now use gapi.client to perform authenticated requests.
});

ত্রুটি কোড

idpiframe_initialization_failed
Google থেকে একটি প্রয়োজনীয় iframe আরম্ভ করতে ব্যর্থ হয়েছে, উদাহরণস্বরূপ, একটি অসমর্থিত পরিবেশের কারণে৷ একটি details সম্পত্তি উত্থাপিত ত্রুটি সম্পর্কে আরও তথ্য দেবে।
popup_closed_by_user
সাইন ইন ফ্লো শেষ করার আগে ব্যবহারকারী পপআপ বন্ধ করে দিয়েছেন।
access_denied
ব্যবহারকারী প্রয়োজনীয় স্কোপের অনুমতি অস্বীকার করেছেন।
immediate_failed
সম্মতি প্রবাহের অনুরোধ না করে কোনো ব্যবহারকারীকে স্বয়ংক্রিয়ভাবে নির্বাচন করা যাবে না। প্রম্পট সহ signIn ব্যবহার করার সময় ত্রুটি উত্থাপিত হয়েছে prompt: 'none' বিকল্প।

gapi.auth2.AuthorizeConfig

ইন্টারফেস যা gapi.auth2.authorize পদ্ধতির জন্য বিভিন্ন কনফিগারেশন পরামিতি উপস্থাপন করে।

বৈশিষ্ট্য
client_id string প্রয়োজন অ্যাপটির ক্লায়েন্ট আইডি, Google Developers Console-এ পাওয়া এবং তৈরি করা হয়েছে।
scope string প্রয়োজন স্পেস-ডিলিমিটেড স্ট্রিং হিসাবে অনুরোধ করার সুযোগ।
response_type string স্থান-সীমাবদ্ধ প্রতিক্রিয়া প্রকারের একটি তালিকা। ডিফল্ট 'permission' । সম্ভাব্য মান হল:
  • id_token , একটি আইডি টোকেন পুনরুদ্ধার করতে
  • permission (বা token ), একটি অ্যাক্সেস টোকেন পুনরুদ্ধার করতে
  • code , একটি অনুমোদন কোড পুনরুদ্ধার করতে
prompt string সম্মতি প্রবাহের জন্য একটি নির্দিষ্ট মোড জোর করে। সম্ভাব্য মান হল:
  • consent
    অনুমোদন সার্ভার অ্যাপ্লিকেশনে তথ্য ফেরত দেওয়ার আগে ব্যবহারকারীকে সম্মতির জন্য অনুরোধ করে।
  • select_account
    অনুমোদন সার্ভার ব্যবহারকারীকে একটি Google অ্যাকাউন্ট নির্বাচন করতে অনুরোধ করে। এটি এমন একটি ব্যবহারকারীকে অনুমতি দেয় যার একাধিক অ্যাকাউন্ট রয়েছে একাধিক অ্যাকাউন্টের মধ্যে নির্বাচন করতে পারে যার জন্য তাদের বর্তমান সেশন থাকতে পারে।
  • none
    অনুমোদন সার্ভার কোনো প্রমাণীকরণ বা ব্যবহারকারীর সম্মতি স্ক্রীন প্রদর্শন করবে না; এটি একটি ত্রুটি ফেরত দেবে যদি ব্যবহারকারী ইতিমধ্যেই প্রমাণীকৃত না হয় এবং অনুরোধ করা স্কোপগুলিতে পূর্বে সম্মতি না দেয়।
    যদি code প্রতিক্রিয়ার ধরন হিসাবে অনুরোধ করা হয়, তবে প্রত্যাবর্তিত কোডটি শুধুমাত্র একটি refresh_token access_token
cookie_policy string যে ডোমেনগুলির জন্য সাইন-ইন কুকি তৈরি করতে হবে৷ হয় একটি URI, single_host_origin , অথবা none । অনির্দিষ্ট থাকলে single_host_origin ডিফল্ট।
hosted_domain string যে G Suite ডোমেনটিতে ব্যবহারকারীদের অবশ্যই সাইন ইন করতে হবে। এটি ক্লায়েন্টদের দ্বারা পরিবর্তনের জন্য সংবেদনশীল, তাই ফিরে আসা ব্যবহারকারীর হোস্ট করা ডোমেন সম্পত্তি যাচাই করতে ভুলবেন না।
login_hint string সাইন-ইন প্রবাহে প্রাক-নির্বাচনের জন্য ব্যবহারকারীর ইমেল বা ব্যবহারকারীর আইডি। এটি ব্যবহারকারীর দ্বারা পরিবর্তনের জন্য সংবেদনশীল, যদি না prompt: "none" ব্যবহার না করা হয়।
include_granted_scopes boolean একটি অ্যাক্সেস টোকেনের অনুরোধ করতে হবে যাতে ব্যবহারকারীর দ্বারা অ্যাপটিতে পূর্বে দেওয়া সমস্ত স্কোপগুলি অন্তর্ভুক্ত থাকে বা শুধুমাত্র বর্তমান কলে অনুরোধ করা স্কোপগুলি অন্তর্ভুক্ত থাকে৷ ডিফল্ট থেকে true
plugin_name string ঐচ্ছিক। সেট করা থাকলে, 29শে জুলাই, 2022-এর আগে তৈরি করা ক্লায়েন্ট আইডি Google প্ল্যাটফর্ম লাইব্রেরি ব্যবহার করতে পারে। ডিফল্টরূপে, নতুন তৈরি করা ক্লায়েন্ট আইডিগুলি প্ল্যাটফর্ম লাইব্রেরি ব্যবহার করা থেকে অবরুদ্ধ করা হয় এবং এর পরিবর্তে অবশ্যই নতুন Google পরিচয় পরিষেবা লাইব্রেরি ব্যবহার করতে হবে৷ আপনি যে কোনও মান চয়ন করতে পারেন, একটি বর্ণনামূলক নাম যেমন পণ্য বা প্লাগইন নাম সহজ সনাক্তকরণের জন্য সুপারিশ করা হয়। উদাহরণ: plugin_name: 'YOUR_STRING_HERE'

gapi.auth2.AuthorizeResponse

প্রতিক্রিয়া gapi.auth2.authorize পদ্ধতির কলব্যাকে ফিরে এসেছে।

বৈশিষ্ট্য
access_token string অ্যাক্সেস টোকেন দেওয়া হয়েছে। permission বা token response_type এ নির্দিষ্ট করা থাকলেই কেবল উপস্থিত।
id_token string আইডি টোকেন দেওয়া হয়েছে। শুধুমাত্র উপস্থিত হবে যদি id_token response_type এ নির্দিষ্ট করা থাকে।
code string অনুমোদন কোড মঞ্জুর করা হয়েছে. code response_type -এ নির্দিষ্ট করা থাকলেই কেবল উপস্থিত।
scope string অ্যাক্সেস টোকেনে প্রদত্ত সুযোগ। permission বা token response_type এ নির্দিষ্ট করা থাকলেই কেবল উপস্থিত।
expires_in number অ্যাক্সেস টোকেনের মেয়াদ শেষ হওয়া পর্যন্ত সেকেন্ডের সংখ্যা। permission বা token response_type এ নির্দিষ্ট করা থাকলেই কেবল উপস্থিত।
first_issued_at number যে টাইমস্ট্যাম্পে ব্যবহারকারী প্রথমে অনুরোধ করা স্কোপগুলি মঞ্জুর করেছিলেন৷ permission বা token response_type এ নির্দিষ্ট করা থাকলেই কেবল উপস্থিত।
expires_at number যে টাইমস্ট্যাম্পে অ্যাক্সেস টোকেনের মেয়াদ শেষ হবে। permission বা token response_type এ নির্দিষ্ট করা থাকলেই কেবল উপস্থিত।
error string যখন অনুরোধ ব্যর্থ হয়, এতে ত্রুটি কোড থাকে।
error_subtype string যখন অনুরোধ ব্যর্থ হয়, এতে ত্রুটি কোডের অতিরিক্ত তথ্যও ফেরত থাকতে পারে।