এই নির্দেশিকা আপনাকে জাভাস্ক্রিপ্ট লাইব্রেরিগুলিকে আগের Google সাইন-ইন প্ল্যাটফর্ম লাইব্রেরি থেকে নতুন Google আইডেন্টিটি সার্ভিসেস লাইব্রেরিতে প্রমাণীকরণের জন্য স্থানান্তর করার প্রয়োজনীয় পরিবর্তন এবং পদক্ষেপগুলি বুঝতে সাহায্য করে৷
যদি আপনার ক্লায়েন্ট জাভাস্ক্রিপ্টের জন্য Google API ক্লায়েন্ট লাইব্রেরি ব্যবহার করে বা অনুমোদনের জন্য অন্য আগের লাইব্রেরি ব্যবহার করে, আরও তথ্যের জন্য Google আইডেন্টিটি সার্ভিসে মাইগ্রেট করুন দেখুন।
প্রমাণীকরণ এবং অনুমোদন
প্রমাণীকরণ নিশ্চিত করে যে কেউ কে, এবং সাধারণত ব্যবহারকারী সাইন-আপ বা সাইন-ইন হিসাবে উল্লেখ করা হয়। অনুমোদন হল ডেটা বা সংস্থানগুলিতে অ্যাক্সেস প্রদান বা প্রত্যাখ্যান করার প্রক্রিয়া। উদাহরণস্বরূপ, আপনার অ্যাপ ব্যবহারকারীর Google ড্রাইভ অ্যাক্সেস করার জন্য আপনার ব্যবহারকারীর সম্মতির অনুরোধ করে।
আগের Google সাইন-ইন প্ল্যাটফর্ম লাইব্রেরির মতো, নতুন Google আইডেন্টিটি সার্ভিসেস লাইব্রেরিটি প্রমাণীকরণ এবং অনুমোদন প্রক্রিয়া উভয়কেই সমর্থন করার জন্য তৈরি করা হয়েছে৷
যাইহোক, নতুন লাইব্রেরি আপনার অ্যাপের সাথে Google অ্যাকাউন্টগুলিকে সংহত করার জন্য বিকাশকারীদের জটিলতা কমাতে দুটি প্রক্রিয়াকে আলাদা করে৷
যদি আপনার ব্যবহারের ক্ষেত্রে শুধুমাত্র প্রমাণীকরণের বিষয়ে উদ্বেগ থাকে, তাহলে এই পৃষ্ঠাটি পড়া চালিয়ে যান।
আপনার ব্যবহারের ক্ষেত্রে অনুমোদন অন্তর্ভুক্ত থাকলে, ব্যবহারকারীর অনুমোদন কীভাবে কাজ করে তা পড়ুন এবং আপনার অ্যাপ্লিকেশন নতুন এবং উন্নত API ব্যবহার করছে তা নিশ্চিত করতে Google পরিচয় পরিষেবাগুলিতে স্থানান্তর করুন ৷
কি পরিবর্তন হয়েছে
ব্যবহারকারীদের জন্য, নতুন Google আইডেন্টিটি সার্ভিসেস লাইব্রেরি ব্যবহারযোগ্যতার অনেক উন্নতি অফার করে। হাইলাইট অন্তর্ভুক্ত:
- নতুন কম ঘর্ষণ ওয়ান ট্যাপ এবং স্বয়ংক্রিয় সাইন-ইন প্রবাহ কম স্বতন্ত্র পদক্ষেপ সহ,
- ব্যবহারকারী ব্যক্তিগতকরণ সহ একটি রিফ্রেশ সাইন-ইন বোতাম,
- সামঞ্জস্যপূর্ণ ব্র্যান্ডিং এবং ওয়েব জুড়ে অভিন্ন সাইন-ইন আচরণ বোঝাপড়া এবং বিশ্বাস উন্নত করে,
- দ্রুত বিষয়বস্তু পেতে; ব্যবহারকারীরা প্রথমে লগইন বা অ্যাকাউন্ট পৃষ্ঠা পরিদর্শন না করেই আপনার সাইটের যেকোনো জায়গা থেকে সরাসরি সাইন-আপ এবং সাইন-ইন করতে পারেন।
বিকাশকারীদের জন্য, আমাদের ফোকাস জটিলতা হ্রাস করা, নিরাপত্তা উন্নত করা এবং যত দ্রুত সম্ভব আপনার ইন্টিগ্রেশন করা। এই উন্নতিগুলির মধ্যে কয়েকটি অন্তর্ভুক্ত:
- শুধুমাত্র HTML ব্যবহার করে আপনার সাইটের স্ট্যাটিক কন্টেন্টে ব্যবহারকারী সাইন-ইন যোগ করার বিকল্প,
- অনুমোদন থেকে সাইন-ইন প্রমাণীকরণের পৃথকীকরণ এবং ব্যবহারকারীর ডেটা ভাগ করে নেওয়া, একটি OAuth 2.0 ইন্টিগ্রেশনের জটিলতা আপনার সাইটে ব্যবহারকারীদের সাইন ইন করার জন্য আর প্রয়োজন নেই,
- উভয় পপআপ এবং পুনঃনির্দেশ মোড সমর্থিত হতে থাকে, কিন্তু Google এর OAuth 2.0 অবকাঠামো এখন আপনার ব্যাকএন্ড সার্ভারের লগইন এন্ডপয়েন্টে পুনঃনির্দেশ করে,
- আগের Google আইডেন্টিটি এবং Google API জাভাস্ক্রিপ্ট লাইব্রেরি দুটোরই একক নতুন লাইব্রেরিতে ক্ষমতার একত্রীকরণ,
- সাইন-ইন প্রতিক্রিয়াগুলির জন্য, আপনি এখন সিদ্ধান্ত নিতে পারেন যে একটি প্রতিশ্রুতি ব্যবহার করবেন কি না এবং সরলতার জন্য গেটার স্টাইল ফাংশনের মাধ্যমে পরোক্ষ অপসারণ করা হয়েছে।
একটি সাইন-ইন মাইগ্রেশন উদাহরণ
আপনি যদি বিদ্যমান Google সাইন-ইন বোতাম থেকে স্থানান্তরিত হন এবং শুধুমাত্র আপনার সাইটে ব্যবহারকারীদের সাইন ইন করতে আগ্রহী হন, তাহলে সবচেয়ে সহজ পরিবর্তন হল নতুন ব্যক্তিগতকৃত বোতামে আপডেট করা। এটি জাভাস্ক্রিপ্ট লাইব্রেরি অদলবদল করে এবং একটি নতুন সাইন-ইন অবজেক্ট ব্যবহার করতে আপনার কোডবেস আপডেট করে সম্পন্ন করা যেতে পারে।
লাইব্রেরি এবং কনফিগারেশন
আগের Google সাইন-ইন প্ল্যাটফর্ম লাইব্রেরি: apis.google.com/js/platform.js
, এবং JavaScript: gapi.client
এর জন্য Google API ক্লায়েন্ট লাইব্রেরি , ব্যবহারকারীর প্রমাণীকরণ এবং অনুমোদনের জন্য আর প্রয়োজন নেই। এগুলি একটি একক নতুন Google আইডেন্টিটি পরিষেবা জাভাস্ক্রিপ্ট লাইব্রেরি দ্বারা প্রতিস্থাপিত হয়েছে: accounts.google.com/gsi/client
।
আগের তিনটি জাভাস্ক্রিপ্ট মডিউল: api
, client
, এবং সাইন-ইন করার জন্য ব্যবহৃত platform
সব apis.google.com
থেকে লোড করা হয়েছে। আপনার সাইটের পূর্ববর্তী লাইব্রেরি যেখানে অন্তর্ভুক্ত হতে পারে সেগুলি সনাক্ত করতে আপনাকে সাহায্য করার জন্য, সাধারণত:
- ডিফল্ট সাইন-ইন বোতাম
apis.google.com/js/platform.js
লোড করে, - একটি কাস্টম বোতাম গ্রাফিক লোড করে
apis.google.com/js/api:client.js
, এবং -
gapi.client
এর সরাসরি ব্যবহারapis.google.com/js/api.js
লোড করে।
বেশিরভাগ ক্ষেত্রে আপনি আপনার বিদ্যমান ওয়েব অ্যাপ্লিকেশন ক্লায়েন্ট আইডি শংসাপত্রগুলি ব্যবহার করা চালিয়ে যেতে পারেন। আপনার মাইগ্রেশনের অংশ হিসাবে আমরা সুপারিশ করছি যে আপনি আমাদের OAuth 2.0 নীতিগুলি পর্যালোচনা করুন এবং নিশ্চিত করতে Google API কনসোল ব্যবহার করুন এবং প্রয়োজনে নিম্নলিখিত ক্লায়েন্ট সেটিংস আপডেট করুন:
- আপনার পরীক্ষা এবং উত্পাদন অ্যাপ্লিকেশনগুলি পৃথক প্রকল্প ব্যবহার করে এবং তাদের নিজস্ব ক্লায়েন্ট আইডি রয়েছে,
- OAuth 2.0 ক্লায়েন্ট আইডি টাইপ হল "ওয়েব অ্যাপ্লিকেশন", এবং
- HTTPS অনুমোদিত জাভাস্ক্রিপ্ট উত্স এবং পুনঃনির্দেশিত URI-এর জন্য ব্যবহৃত হয়।
প্রভাবিত কোড সনাক্ত করুন এবং পরীক্ষা
একটি ডিবাগ কুকি প্রভাবিত কোড সনাক্ত করতে এবং অবচয়-পরবর্তী আচরণ পরীক্ষা করতে সাহায্য করতে পারে।
বড় বা জটিল অ্যাপে, gapi.auth2
মডিউলের অবচয় দ্বারা প্রভাবিত সমস্ত কোড খুঁজে পাওয়া কঠিন হতে পারে। কনসোলে শীঘ্রই অপ্রত্যাশিত ক্ষমতার বিদ্যমান ব্যবহার লগ করতে, G_AUTH2_MIGRATION
কুকির মান informational
হিসাবে সেট করুন। ঐচ্ছিকভাবে, সেশন স্টোরেজে লগ করার জন্য একটি কী মান অনুসরণ করে একটি কোলন যোগ করুন। সাইন-ইন এবং শংসাপত্র প্রাপ্তির পরে পর্যালোচনা করুন বা সংগৃহীত লগগুলিকে পরবর্তী বিশ্লেষণের জন্য ব্যাকএন্ডে পাঠান। উদাহরণ স্বরূপ, informational:showauth2use
showauth2use
নামের একটি সেশন স্টোরেজ কী-তে মূল এবং URL সংরক্ষণ করে।
gapi.auth2
মডিউলটি আর লোড না হলে অ্যাপের আচরণ যাচাই করতে, G_AUTH2_MIGRATION
কুকির মান enforced
হিসেবে সেট করুন। এটি প্রয়োগের তারিখের আগে অবচয়-পরবর্তী আচরণের পরীক্ষা সক্ষম করে।
সম্ভাব্য G_AUTH2_MIGRATION
কুকি মান:
-
enforced
gapi.auth2
মডিউল লোড করবেন না। - JS কনসোলে অবচিত ক্ষমতার
informational
লগ ব্যবহার। একটি ঐচ্ছিক কী নাম সেট করা হলে সেশন স্টোরেজেও লগ করুন:informational:key-name
।
ব্যবহারকারীর প্রভাব কমানোর জন্য এটি সুপারিশ করা হয় যে আপনি প্রথমে এই কুকিটি উত্পাদন পরিবেশে ব্যবহার করার আগে বিকাশ এবং পরীক্ষার সময় স্থানীয়ভাবে সেট করুন৷
এইচটিএমএল এবং জাভাস্ক্রিপ্ট
এই প্রমাণীকরণ-শুধুমাত্র সাইন-ইন পরিস্থিতিতে, বিদ্যমান Google সাইন-ইন বোতামের উদাহরণ কোড এবং রেন্ডারিং দেখানো হয়েছে। জাভাস্ক্রিপ্ট কলব্যাক বা আপনার ব্যাকএন্ড সার্ভার লগইন এন্ডপয়েন্টে নিরাপদ পুনঃনির্দেশের মাধ্যমে প্রমাণীকরণ প্রতিক্রিয়া কীভাবে পরিচালনা করা হয় তার পার্থক্য দেখতে পপআপ বা পুনঃনির্দেশ মোড থেকে নির্বাচন করুন।
আগের পথ
পপআপ মোড
Google সাইন-ইন বোতামটি রেন্ডার করুন এবং সরাসরি ব্যবহারকারীর ব্রাউজার থেকে সাইন-ইন পরিচালনা করতে একটি কলব্যাক ব্যবহার করুন৷
<html>
<body>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
<div class="g-signin2" data-onsuccess="handleCredentialResponse"></div>
</body>
</html>
রিডাইরেক্ট মোড
Google সাইন-ইন বোতামটি রেন্ডার করুন, ব্যবহারকারীর ব্রাউজার থেকে আপনার ব্যাকএন্ড সার্ভারের লগইন এন্ডপয়েন্টে একটি AJAX কল দিয়ে শেষ হবে৷
<html>
<body>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
<div class="g-signin2" data-onsuccess="handleCredentialResponse"></div>
<script>
function handleCredentialResponse(googleUser) {
...
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://yourbackend.example.com/tokensignin');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onload = function() {
console.log('Signed in as: ' + xhr.responseText);
};
xhr.send('idtoken=' + id_token);
}
</script>
</body>
</html>
রেন্ডার করা হয়েছে
নতুন ভিজ্যুয়াল-অ্যাট্রিবিউটগুলি একটি কাস্টমাইজড বোতাম তৈরির আগের পদ্ধতিকে সহজ করে, gapi.signin2.render()
এ কলগুলিকে বাদ দেয় এবং আপনার সাইটে ইমেজ এবং ভিজ্যুয়াল সম্পদগুলি হোস্ট এবং রক্ষণাবেক্ষণ করার প্রয়োজন হয়৷
ব্যবহারকারী সাইন-ইন অবস্থা আপডেট বোতাম পাঠ্য.
নতুন উপায়
একটি প্রমাণীকরণ-শুধু সাইন-ইন পরিস্থিতিতে নতুন লাইব্রেরি ব্যবহার করতে পপআপ বা পুনঃনির্দেশ মোড থেকে নির্বাচন করুন এবং আপনার লগইন পৃষ্ঠায় আপনার বিদ্যমান বাস্তবায়ন প্রতিস্থাপন করতে কোড নমুনা ব্যবহার করুন।
পপআপ মোড
ব্যবহারকারীর ব্রাউজার থেকে সরাসরি সাইন-ইন পরিচালনা করতে একটি কলব্যাক ব্যবহার করুন৷
<html>
<body>
<script src="https://accounts.google.com/gsi/client" async defer></script>
<div id="g_id_onload"
data-client_id="YOUR_CLIENT_ID"
data-callback="handleCredentialResponse">
</div>
<div class="g_id_signin" data-type="standard"></div>
</body>
</html>
রিডাইরেক্ট মোড
ডেটা-লগইন_ইউআরএল অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা হিসাবে Google আপনার লগইন এন্ডপয়েন্ট আহ্বান করে। পূর্বে, আপনি POST অপারেশন এবং প্যারামিটার নামের জন্য দায়ী ছিলেন। নতুন লাইব্রেরি credential
প্যারামিটারে আপনার শেষ পয়েন্টে আইডি টোকেন পোস্ট করে। অবশেষে, আপনার ব্যাকএন্ড সার্ভারে আইডি টোকেন যাচাই করুন ।
<html>
<body>
<script src="https://accounts.google.com/gsi/client" async defer></script>
<div id="g_id_onload"
data-client_id="YOUR_CLIENT_ID"
data-ux_mode="redirect"
data-login_uri="https://www.example.com/your_login_endpoint">
</div>
<div class="g_id_signin" data-type="standard"></div>
</body>
</html>
রেন্ডার করা হয়েছে
Google বোতামের আকার, আকৃতি, রঙ দিয়ে সাইন ইন কাস্টমাইজ করতে ভিজ্যুয়াল-অ্যাট্রিবিউট ব্যবহার করুন। সাইন-ইন রেট উন্নত করতে ব্যক্তিগতকৃত বোতাম সহ ওয়ান ট্যাপ পপআপ প্রদর্শন করুন।
ব্যবহারকারী সাইন-ইন অবস্থা "সাইন ইন" থেকে "সাইন ইন" বোতাম পাঠ্য আপডেট করে না। সম্মতি প্রদানের পরে, বা রিটার্ন ভিজিটে, ব্যক্তিগতকৃত বোতামটিতে ব্যবহারকারীর নাম, ইমেল এবং প্রোফাইল ছবি অন্তর্ভুক্ত থাকে।
এই প্রমাণীকরণের একমাত্র উদাহরণে, নতুন accounts.google.com/gsi/client
লাইব্রেরি, g_id_signin
ক্লাস এবং g_id_onload
অবজেক্ট আগের apis.google.com/js/platform.js
লাইব্রেরি এবং g-signin2
অবজেক্টকে প্রতিস্থাপন করে।
নতুন ব্যক্তিগতকৃত বোতাম রেন্ডার করার পাশাপাশি উদাহরণ কোডটি নতুন ওয়ান ট্যাপ পপআপও প্রদর্শন করে। আপনি যেখানেই ব্যক্তিগতকৃত বোতাম প্রদর্শন করুন না কেন সাইন-আপ এবং সাইন-ইন করার সময় ব্যবহারকারীর ঘর্ষণ কমাতে আপনি ওয়ান-ট্যাপ পপআপটিও প্রদর্শন করার পরামর্শ দিচ্ছি।
যদিও সাইন-ইন ঘর্ষণ বৃদ্ধির কারণে এটি সুপারিশ করা হয় না, নতুন ব্যক্তিগতকৃত বোতামটি একাই দেখানো যেতে পারে, একই সাথে ওয়ান ট্যাপ ডায়ালগ প্রদর্শন না করে। এটি করার জন্য, data-auto_prompt
বৈশিষ্ট্যটি false
তে সেট করুন।
HTML এবং JavaScript API
আগের উদাহরণটি দেখায় কিভাবে আপনার ওয়েবসাইটে সাইন-ইন যোগ করতে নতুন HTML API ব্যবহার করতে হয়। বিকল্পভাবে, আপনি কার্যকরীভাবে সমতুল্য JavaScript API ব্যবহার করতে পারেন, অথবা আপনার সাইটে HTML এবং JavaScript APIগুলিকে মিশ্রিত ও মেলাতে পারেন৷
ইন্টারেক্টিভভাবে বোতাম কাস্টমাইজেশন বিকল্পগুলি দেখতে যেমন, কলব্যাকের ধরন এবং বৈশিষ্ট্যগুলি যেমন: রঙ, আকার, আকৃতি, পাঠ্য এবং থিম, আমাদের কোড জেনারেটর চেকআউট করুন৷ এটি দ্রুত বিভিন্ন বিকল্পের তুলনা করতে এবং আপনার সাইটে ব্যবহারের জন্য HTML স্নিপেট তৈরি করতে ব্যবহার করা যেতে পারে।
ওয়ান ট্যাপ দিয়ে যেকোনো পৃষ্ঠা থেকে সাইন-ইন করুন
এক ট্যাপ হল ব্যবহারকারীদের আপনার সাইটে সাইন-আপ বা সাইন-ইন করার একটি নতুন কম-ঘর্ষণ উপায়। এটি আপনাকে আপনার সাইটের যেকোনো পৃষ্ঠা থেকে সরাসরি ব্যবহারকারী সাইন-ইন সক্ষম করতে দেয় এবং ব্যবহারকারীদের একটি ডেডিকেটেড লগইন পৃষ্ঠা দেখার প্রয়োজনীয়তা দূর করে। অন্য উপায়ে বলুন, এটি ব্যবহারকারীদের আপনার লগইন পৃষ্ঠা ব্যতীত অন্য পৃষ্ঠাগুলি থেকে সাইন-আপ এবং সাইন-ইন করার নমনীয়তা প্রদান করে সাইন-আপ এবং সাইন-ইন ঘর্ষণকে হ্রাস করে৷
যেকোনো পৃষ্ঠা থেকে সাইন-ইন সক্ষম করার জন্য আমরা সুপারিশ করেছি যে আপনি একটি শেয়ার করা হেডার, ফুটার বা আপনার সমগ্র সাইটে অন্তর্ভুক্ত অন্যান্য বস্তুতে g_id_onload
অন্তর্ভুক্ত করুন।
এছাড়াও আমরা g_id_signin
যোগ করার সুপারিশ করি, যা ব্যক্তিগতকৃত সাইন-ইন বোতাম প্রদর্শন করে, শুধুমাত্র আপনার লগইন বা ব্যবহারকারীর অ্যাকাউন্ট পরিচালনা পৃষ্ঠাগুলিতে। অন্যান্য ফেডারেটেড আইডেন্টিটি প্রোভাইডার বোতাম এবং ব্যবহারকারীর নাম এবং পাসওয়ার্ড এন্ট্রি ফিল্ডের পাশাপাশি বোতামটি প্রদর্শন করে সাইন-আপ বা সাইন-ইন করার জন্য ব্যবহারকারীদের পছন্দ দিন।
টোকেন প্রতিক্রিয়া
ব্যবহারকারী সাইন-ইন করার জন্য আপনাকে আর OAuth 2.0 অনুমোদন কোড, অ্যাক্সেস টোকেন বা রিফ্রেশ টোকেন বোঝার বা কাজ করার প্রয়োজন নেই। পরিবর্তে একটি JSON ওয়েব টোকেন (JWT) আইডি টোকেন সাইন-ইন স্ট্যাটাস এবং ব্যবহারকারীর প্রোফাইল শেয়ার করতে ব্যবহার করা হয়। আরও সরলীকরণ হিসাবে, ব্যবহারকারীর প্রোফাইল ডেটার সাথে কাজ করার জন্য আপনাকে আর "গেটার" স্টাইল অ্যাক্সেসর পদ্ধতি ব্যবহার করতে হবে না।
একটি নিরাপদ Google-স্বাক্ষরিত JWT আইডি টোকেন শংসাপত্র ফেরত দেওয়া হয়:
- পপআপ মোডে ব্যবহারকারীর ব্রাউজার-ভিত্তিক জাভাস্ক্রিপ্ট কলব্যাক হ্যান্ডলারে, বা
- Google এর মাধ্যমে আপনার ব্যাকএন্ড সার্ভারে আপনার লগইন এন্ডপয়েন্টে পুনঃনির্দেশ করুন যখন Google এর সাথে সাইন ইন করুন বোতাম
ux_mode
redirect
জন্য সেট করা থাকে।
উভয় ক্ষেত্রেই, অপসারণ করে আপনার বিদ্যমান কলব্যাক হ্যান্ডলার আপডেট করুন:
-
googleUser.getBasicProfile()
এ কল করে, -
BasicProfile
রেফারেন্স, এবংgetId()
,getName()
,getGivenName()
,getFamilyName()
,getImageUrl()
,getEmail()
পদ্ধতিতে যুক্ত কলগুলি এবং -
AuthResponse
অবজেক্টের ব্যবহার।
পরিবর্তে, ব্যবহারকারীর প্রোফাইল ডেটার সাথে কাজ করার জন্য নতুন JWT CredentialResponse
অবজেক্টে credential
সাব-ফিল্ডের সরাসরি রেফারেন্স ব্যবহার করুন।
অতিরিক্তভাবে, এবং শুধুমাত্র পুনঃনির্দেশ মোডের জন্য, ক্রস-সাইট অনুরোধ জালিয়াতি (CSRF) প্রতিরোধ করতে ভুলবেন না এবং আপনার ব্যাকএন্ড সার্ভারে Google আইডি টোকেন যাচাই করুন ।
ব্যবহারকারীরা কীভাবে আপনার সাইটের সাথে ইন্টারঅ্যাক্ট করছে তা আরও ভালভাবে বোঝার জন্য CredentialResponse-এর select_by
ক্ষেত্রটি ব্যবহারকারীর সম্মতির ফলাফল এবং ব্যবহৃত নির্দিষ্ট সাইন-ইন প্রবাহ নির্ধারণ করতে ব্যবহার করা যেতে পারে।
ব্যবহারকারীর সম্মতি এবং প্রত্যাহার করার অনুমতি
যখন একজন ব্যবহারকারী প্রথমবার আপনার ওয়েবসাইটে সাইন-ইন করে, তখন Google ব্যবহারকারীকে তাদের অ্যাকাউন্ট প্রোফাইল আপনার অ্যাপের সাথে শেয়ার করার জন্য সম্মতির জন্য অনুরোধ করে। সম্মতি দেওয়ার পরেই ব্যবহারকারীর প্রোফাইলটি আপনার অ্যাপে একটি আইডি টোকেন শংসাপত্র পেলোডে শেয়ার করা হয়। এই প্রোফাইলে অ্যাক্সেস প্রত্যাহার করা আগের সাইন-ইন লাইব্রেরিতে একটি অ্যাক্সেস টোকেন প্রত্যাহার করার সমতুল্য।
ব্যবহারকারীরা অনুমতি প্রত্যাহার করতে পারে এবং https://myaccount.google.com/permissions- এ গিয়ে তাদের Google অ্যাকাউন্ট থেকে আপনার অ্যাপের সংযোগ বিচ্ছিন্ন করতে পারে। বিকল্পভাবে, তারা একটি API কল ট্রিগার করে আপনার অ্যাপ থেকে সরাসরি সংযোগ বিচ্ছিন্ন করতে পারে যা আপনি প্রয়োগ করেন; আগের disconnect
পদ্ধতিটি নতুন revoke
পদ্ধতি দ্বারা প্রতিস্থাপিত হয়েছে।
যখন কোনও ব্যবহারকারী আপনার প্ল্যাটফর্মে তাদের অ্যাকাউন্ট মুছে ফেলেন তখন তাদের Google অ্যাকাউন্ট থেকে আপনার অ্যাপটি সংযোগ বিচ্ছিন্ন করতে revoke
ব্যবহার করা সর্বোত্তম অনুশীলন।
পূর্বে, auth2.signOut()
আপনার অ্যাপ থেকে ব্যবহারকারী সাইন-আউট পরিচালনা করতে সাহায্য করতে ব্যবহার করা যেতে পারে। auth2.signOut()
এর যেকোন ব্যবহার মুছে ফেলা উচিত এবং আপনার অ্যাপটি সরাসরি প্রতি ব্যবহারকারী সেশনের অবস্থা এবং সাইন-ইন অবস্থা পরিচালনা করা উচিত।
অধিবেশন রাষ্ট্র এবং শ্রোতা
নতুন লাইব্রেরি আপনার ওয়েব অ্যাপের জন্য সাইন-ইন স্থিতি বা সেশনের অবস্থা বজায় রাখে না।
একটি Google অ্যাকাউন্টের সাইন-ইন স্থিতি, এবং আপনার অ্যাপের সেশনের অবস্থা এবং সাইন-ইন স্থিতি স্বতন্ত্র, পৃথক ধারণা।
ব্যবহারকারীর তাদের Google অ্যাকাউন্টে সাইন-ইন স্থিতি এবং আপনার অ্যাপ একে অপরের থেকে স্বতন্ত্র, সাইন-ইন মুহূর্ত ব্যতীত যখন আপনি জানেন যে ব্যবহারকারী সফলভাবে প্রমাণীকরণ করেছেন এবং তাদের Google অ্যাকাউন্টে সাইন ইন করেছেন।
Google দিয়ে সাইন ইন করার সময়, আপনার সাইটে এক ট্যাপ বা স্বয়ংক্রিয় সাইন-ইন অন্তর্ভুক্ত করা হলে ব্যবহারকারীদের প্রথমে তাদের Google অ্যাকাউন্টে সাইন-ইন করতে হবে:
- আপনার সাইটে প্রথম সাইন-আপ বা সাইন-ইন করার সময় তাদের ব্যবহারকারীর প্রোফাইল শেয়ার করার সম্মতি প্রদান করুন,
- এবং পরে আপনার সাইটে রিটার্ন ভিজিটে সাইন-ইন করার জন্য।
ব্যবহারকারীরা আপনার ওয়েবসাইটে একটি সক্রিয়, সাইন-ইন সেশন বজায় রেখে সাইন-ইন, সাইন-আউট বা একটি ভিন্ন Google অ্যাকাউন্টে স্যুইচ করতে পারেন।
আপনার ওয়েব অ্যাপের ব্যবহারকারীদের জন্য সাইন-ইন করা অবস্থা সরাসরি পরিচালনা করার জন্য আপনি এখন দায়ী৷ পূর্বে, Google সাইন-ইন ব্যবহারকারীর সেশনের অবস্থা নিরীক্ষণে সাহায্য করত।
auth2.attachClickHandler()
এবং এর নিবন্ধিত কলব্যাক হ্যান্ডলারের যেকোন রেফারেন্স সরান।
পূর্বে, ব্যবহারকারীর Google অ্যাকাউন্টের সাইন-ইন স্থিতিতে পরিবর্তনগুলি ভাগ করার জন্য শ্রোতাদের ব্যবহার করা হত। শ্রোতারা আর সমর্থিত নয়।
listen()
, auth2.currentUser
, এবং auth2.isSignedIn
এর যেকোন রেফারেন্স মুছে ফেলুন।
কুকিজ
Google এর সাথে সাইন ইন করুন কুকিজের সীমিত ব্যবহার করে, এই কুকিগুলির একটি বিবরণ অনুসরণ করে৷ Google দ্বারা ব্যবহৃত অন্যান্য ধরনের কুকিজ সম্পর্কে আরও তথ্যের জন্য Google কীভাবে কুকি ব্যবহার করে তা দেখুন৷
আগের Google সাইন-ইন প্ল্যাটফর্ম লাইব্রেরি দ্বারা সেট করা G_ENABLED_IDPS
কুকি আর ব্যবহার করা হয় না৷
নতুন Google পরিচয় পরিষেবা লাইব্রেরি ঐচ্ছিকভাবে আপনার কনফিগারেশন বিকল্পগুলির উপর ভিত্তি করে এই ক্রস-ডোমেন কুকিগুলি সেট করতে পারে:
-
g_state
ব্যবহারকারীর সাইন-আউট স্থিতি সংরক্ষণ করে এবং ওয়ান ট্যাপ পপআপ বা স্বয়ংক্রিয় সাইন-ইন ব্যবহার করার সময় সেট করা হয়, g_csrf_token
হল একটি ডবল-সাবমিট কুকি যা CSRF আক্রমণ প্রতিরোধ করতে ব্যবহৃত হয় এবং আপনার লগইন এন্ডপয়েন্ট কল করা হলে সেট করা হয়। আপনার লগইন URI-এর মান স্পষ্টভাবে সেট করা যেতে পারে বা বর্তমান পৃষ্ঠার URI-তে ডিফল্ট হতে পারে। ব্যবহার করার সময় আপনার লগইন এন্ডপয়েন্ট এই অবস্থার অধীনে কল করা যেতে পারে:data- ux_mode
data-ux_mode=redirect
বা যখনdata-login_uri
সেট করা হয়, বাux_mode=redirect
সহ JavaScript API এবং যেখানেgoogle.accounts.id.prompt()
ওয়ান ট্যাপ বা স্বয়ংক্রিয় সাইন-ইন প্রদর্শনের জন্য ব্যবহার করা হয় না।
আপনার যদি এমন একটি পরিষেবা থাকে যা কুকিজ পরিচালনা করে, তবে মাইগ্রেশন সম্পূর্ণ হলে দুটি নতুন কুকি যোগ করতে ভুলবেন না এবং আগের কুকিগুলি সরাতে ভুলবেন না।
আপনি যদি একাধিক ডোমেন বা সাবডোমেন পরিচালনা করেন, g_state
কুকির সাথে কাজ করার জন্য আরও নির্দেশাবলীর জন্য সাবডোমেন জুড়ে এক ট্যাপ প্রদর্শন দেখুন।
ব্যবহারকারী সাইন-ইন করার জন্য অবজেক্ট মাইগ্রেশন রেফারেন্স
পুরাতন | নতুন | নোট |
---|---|---|
জাভাস্ক্রিপ্ট লাইব্রেরি | ||
apis.google.com/js/platform.js | accounts.google.com/gsi/client | পুরাতনকে নতুন দিয়ে প্রতিস্থাপন করুন। |
apis.google.com/js/api.js | accounts.google.com/gsi/client | পুরাতনকে নতুন দিয়ে প্রতিস্থাপন করুন। |
GoogleAuth অবজেক্ট এবং সংশ্লিষ্ট পদ্ধতি: | ||
GoogleAuth.attachClickHandler() | JS এবং HTML ডেটা-কলব্যাকের জন্য IdConfiguration.callback | পুরাতনকে নতুন দিয়ে প্রতিস্থাপন করুন। |
GoogleAuth.currentUser.get() | শংসাপত্রের প্রতিক্রিয়া | পরিবর্তে CredentialResponse ব্যবহার করুন, আর প্রয়োজন নেই। |
GoogleAuth.currentUser.listen() | সরান। Google-এ একজন ব্যবহারকারীর বর্তমান সাইন-ইন অবস্থা অনুপলব্ধ৷ ব্যবহারকারীদের সম্মতি এবং সাইন-ইন মুহুর্তের জন্য Google-এ সাইন-ইন করতে হবে। CredentialResponse-এ Select_by ফিল্ড ব্যবহার করা সাইন-ইন পদ্ধতির সাথে ব্যবহারকারীর সম্মতির ফলাফল নির্ধারণ করতে ব্যবহার করা যেতে পারে। | |
GoogleAuth.disconnect() | google.accounts.id.revoke | পুরাতনকে নতুন দিয়ে প্রতিস্থাপন করুন। https://myaccount.google.com/permissions থেকেও প্রত্যাহার হতে পারে |
GoogleAuth.grantOfflineAccess() | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
GoogleAuth.isSignedIn.get() | সরান। Google-এ একজন ব্যবহারকারীর বর্তমান সাইন-ইন অবস্থা অনুপলব্ধ৷ ব্যবহারকারীদের সম্মতি এবং সাইন-ইন মুহুর্তের জন্য Google-এ সাইন-ইন করতে হবে। | |
GoogleAuth.isSignedIn.listen() | সরান। Google-এ একজন ব্যবহারকারীর বর্তমান সাইন-ইন অবস্থা অনুপলব্ধ৷ ব্যবহারকারীদের সম্মতি এবং সাইন-ইন মুহুর্তের জন্য Google-এ সাইন-ইন করতে হবে। | |
GoogleAuth.signIn() | সরান। g_id_signin উপাদানের HTML DOM লোডিং বা google.accounts.id.renderButton- এ JS কল একটি Google অ্যাকাউন্টে ব্যবহারকারীর সাইন-ইনকে ট্রিগার করে৷ | |
GoogleAuth.signOut() | সরান। আপনার অ্যাপ এবং একটি Google অ্যাকাউন্টের জন্য ব্যবহারকারীর সাইন-ইন অবস্থা স্বাধীন। Google আপনার অ্যাপের সেশনের অবস্থা পরিচালনা করে না। | |
GoogleAuth. তারপর() | সরান। GoogleAuth বাতিল করা হয়েছে। | |
GoogleUser অবজেক্ট এবং সংশ্লিষ্ট পদ্ধতি: | ||
GoogleUser.disconnect() | google.accounts.id.revoke | পুরাতনকে নতুন দিয়ে প্রতিস্থাপন করুন। https://myaccount.google.com/permissions থেকেও প্রত্যাহার হতে পারে |
GoogleUser.getAuthResponse() | ||
GoogleUser.getBasicProfile() | শংসাপত্রের প্রতিক্রিয়া | BasicProfile পদ্ধতির পরিবর্তে সরাসরি credential এবং উপ-ক্ষেত্র ব্যবহার করুন। |
GoogleUser.getGrantedScopes() | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
GoogleUser.getHostedDomain() | শংসাপত্রের প্রতিক্রিয়া | পরিবর্তে, সরাসরি credential.hd ব্যবহার করুন। |
GoogleUser.getId() | শংসাপত্রের প্রতিক্রিয়া | পরিবর্তে, সরাসরি credential.sub ব্যবহার করুন। |
GoogleUser.grantOfflineAccess() | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
GoogleUser.grant() | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
GoogleUser.hasGrantedScopes() | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
GoogleUser.isSignedIn() | সরান। Google-এ একজন ব্যবহারকারীর বর্তমান সাইন-ইন অবস্থা অনুপলব্ধ৷ ব্যবহারকারীদের সম্মতি এবং সাইন-ইন মুহুর্তের জন্য Google-এ সাইন-ইন করতে হবে। | |
GoogleUser.reloadAuthResponse() | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
gapi.auth2 অবজেক্ট এবং সংশ্লিষ্ট পদ্ধতি: | ||
gapi.auth2.AuthorizeConfig অবজেক্ট | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
gapi.auth2.AuthorizeResponse অবজেক্ট | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
gapi.auth2.AuthResponse অবজেক্ট | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
gapi.auth2.authorize() | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
gapi.auth2.ClientConfig() | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
gapi.auth2.getAuthInstance() | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
gapi.auth2.init() | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
gapi.auth2.OfflineAccessOptions অবজেক্ট | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
gapi.auth2.SignInOptions অবজেক্ট | সরান। একটি আইডি টোকেন OAuth 2.0 অ্যাক্সেস টোকেন এবং স্কোপ প্রতিস্থাপন করেছে। | |
gapi.signin2 অবজেক্ট এবং সংশ্লিষ্ট পদ্ধতি: | ||
gapi.signin2.render() | সরান। g_id_signin উপাদানের HTML DOM লোডিং বা google.accounts.id.renderButton- এ JS কল একটি Google অ্যাকাউন্টে ব্যবহারকারীর সাইন-ইনকে ট্রিগার করে৷ |