ব্যবহারকারীদের উপর সুযোগ পরিবর্তনের প্রভাব কমানোর পদক্ষেপ
- যদি আপনার অ্যাপ্লিকেশনটির জন্য একজন প্রমাণীকৃত ব্যবহারকারীর ইমেল ঠিকানা প্রয়োজন হয় এবং আপনি পূর্বে সেই উদ্দেশ্যে
profile.emails.read
ব্যবহার করে থাকেন, তাহলে পরিবর্তেemail
ব্যবহার করুন। - একটি অনুমোদিত যাচাইকরণ অনুরোধের সাথে
profile.emails.read
এর জন্য অনুমোদন পান। আমি কিভাবে যাচাইকরণের জন্য জমা দেব? - পূর্ববর্তী ব্যবহারকারীর টোকেনটি প্রত্যাহার করুন যা অপসারণ করতে হবে বা অ্যাপ্লিকেশনটিতে সম্পূর্ণরূপে অ্যাক্সেস সরিয়ে ফেলতে হবে। উদাহরণস্বরূপ,
profile.emails.read
অ্যাক্সেস সহ একটি টোকেন প্রত্যাহার করা উচিত। আমরা সুপারিশ করি যে আপনি প্রত্যাহার প্রয়োগ করুন যখন আপনার ব্যবহারকারীরা আপনার আবেদনে থাকবেন যাতে আপনি অবিলম্বে ব্যবহারকারীর সম্মতি পেতে পারেন। -
profile.emails.read
.emails.read ছাড়াইemail
মতো নতুন সুযোগের সাথে আপনার ব্যবহারকারীদের পুনরায় সম্মতি দেওয়ার জন্য অনুরোধ করুন। - আপনার Google APIs OAuth সম্মতি স্ক্রিন কনফিগারেশন থেকে যে সুযোগটি পর্যায়ক্রমে বের করা হবে তা সরান।
আপনার সাইটটিকে Google+ সাইন-ইন থেকে Google সাইন-ইন-এ স্থানান্তর করতে আপনাকে যে পরিবর্তনগুলি করতে হবে তা নির্ভর করে আপনি কোন Google+ সাইন-ইন প্রবাহ ব্যবহার করেন তার উপর৷ সাধারণত, মাইগ্রেশনের জন্য আপনাকে আপনার সাইন-ইন বোতাম, অনুরোধ করা সুযোগ এবং Google থেকে প্রোফাইল তথ্য পুনরুদ্ধার করার নির্দেশাবলী আপডেট করতে হবে।
আপনি যখন আপনার সাইন-ইন বোতাম আপডেট করেন, তখন G+ উল্লেখ করবেন না বা লাল রঙ ব্যবহার করবেন না। আমাদের আপডেট করা ব্র্যান্ডিং নির্দেশিকা মেনে চলুন।
বেশিরভাগ G+ সাইন-ইন অ্যাপ্লিকেশনগুলি কিছু স্কোপের সমন্বয়ের জন্য অনুরোধ করেছে: plus.login
, plus.me
এবং plus.profile.emails.read
। আপনাকে আপনার সুযোগগুলিকে নিম্নরূপ রিম্যাপ করতে হবে:
পুরানো সুযোগ | নতুন সুযোগ |
---|---|
plus.login | profile |
plus.me | openid |
plus.profile.emails.read | email |
Google+ সাইন-ইন এর অনেক বাস্তবায়নকারী কোড ফ্লো ব্যবহার করেছে। এর মানে হল যে Android, iOS, বা JavaScript অ্যাপগুলি Google থেকে একটি OAuth কোড পায় এবং ক্লায়েন্ট ক্রস-সাইট অনুরোধ জালিয়াতি সুরক্ষা সহ সার্ভারে সেই কোডটি ফেরত পাঠায়৷ সার্ভার তারপর কোড যাচাই করে এবং রিফ্রেশ এবং অ্যাক্সেস টোকেন প্রাপ্ত করে people.get
API থেকে ব্যবহারকারীর প্রোফাইল তথ্য টানতে।
Google এখন সুপারিশ করে যে আপনি একটি আইডি টোকেনের অনুরোধ করুন এবং সেই আইডি টোকেনটি আপনার ক্লায়েন্ট থেকে আপনার সার্ভারে পাঠান। আইডি টোকেনগুলিতে অন্তর্নির্মিত ক্রস-সাইট জালিয়াতি সুরক্ষা রয়েছে এবং আপনার সার্ভারে স্ট্যাটিকভাবে যাচাই করা যেতে পারে, যা Google এর সার্ভার থেকে ব্যবহারকারীর প্রোফাইল তথ্য পেতে একটি অতিরিক্ত API কল এড়িয়ে যায়। আপনার সার্ভারে আইডি টোকেন যাচাই করতে নির্দেশাবলী অনুসরণ করুন।
আপনি যদি এখনও প্রোফাইল তথ্য পেতে কোড ফ্লো ব্যবহার করতে পছন্দ করেন, আপনি তা করতে পারেন। একবার আপনার সার্ভারে একটি অ্যাক্সেস টোকেন হয়ে গেলে, আপনাকে আমাদের সাইন-ইন ডিসকভারি ডকুমেন্টে নির্দিষ্ট userinfo
শেষ পয়েন্ট থেকে ব্যবহারকারীর প্রোফাইল তথ্য পেতে হবে। API প্রতিক্রিয়া Google+ প্রোফাইল প্রতিক্রিয়ার থেকে ভিন্নভাবে বিন্যাসিত হয়, তাই আপনাকে নতুন বিন্যাসে আপনার পার্সিং আপডেট করতে হবে।
একটি HTML সাইন-ইন বোতাম স্থানান্তর করুন৷
আপনি যদি আপনার পৃষ্ঠায় একটি উপাদানে g-signin
ইন ক্লাস অ্যাসাইনমেন্টের মাধ্যমে একটি Google+ সাইন-ইন বোতাম অন্তর্ভুক্ত করেন, তাহলে নিম্নলিখিত পরিবর্তনগুলি করুন:
যখন আপনি আপনার ক্লায়েন্ট আইডি নির্দিষ্ট করেন, হয় একটি
<meta>
ট্যাগ, একটিdata-
অ্যাট্রিবিউট, বা একটি প্যারামিটার অবজেক্টে, স্ট্রিংclientid
client_id
পরিবর্তন করুন, নিম্নলিখিত উদাহরণের মতো:<!-- Google+ Sign-in (old) --> <meta name="google-signin-clientid" content="YOUR_CLIENT_ID">
<!-- Google Sign-in (new) --> <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
g-signin
এর পরিবর্তে সাইন-ইন বোতাম এলিমেন্টে ক্লাসg-signin2
বরাদ্দ করুন। এছাড়াও, একটি একক কলব্যাকের পরিবর্তে পৃথক সাফল্য এবং ব্যর্থতার কলব্যাকগুলি নির্দিষ্ট করুন, যেমন নিম্নলিখিত উদাহরণে:<!-- Google+ Sign-in (old) --> <div class="g-signin" data-callback="signinCallback"> </div>
<!-- Google Sign-in (new) --> <div class="g-signin2" data-onsuccess="onSignIn" data-onfailure="onSignInFailure"> </div>
একটি একক কলব্যাক হ্যান্ডলারের পরিবর্তে, নিম্নলিখিত উদাহরণের মতো সাফল্য এবং ব্যর্থতার হ্যান্ডলারকে সংজ্ঞায়িত করুন:
// Google+ Sign-in (old) function signinCallback(authResult) { if (authResult['status']['signed_in']) { // Handle successful sign-in } else { // Handle sign-in errors console.log('Sign-in error: ' + authResult['error']); } }
// Google Sign-in (new) function onSignIn(googleUser) { // Handle successful sign-in } function onSignInFailure() { // Handle sign-in errors }
এই পরিবর্তনগুলি আপনার ডিফল্ট সুযোগগুলি
profile email openid
এ আপডেট করে। আপনি ব্যবহারকারীর মৌলিক প্রোফাইল তথ্য পেতে পারেন, যেমন নাম, ইমেল, এবং ছবির ছবির URL, নিম্নরূপ:// Google Sign-in (new) function onSignIn(googleUser) { let profile = googleUser.getBasicProfile(); let fullName = profile.getName(); let email = profile.getEmail(); let imageUrl = profile.getImageUrl(); }
একটি গতিশীল-রেন্ডার করা সাইন-ইন বোতাম স্থানান্তর করুন৷
আপনি gapi.signin.render()
কল করে আপনার পৃষ্ঠায় একটি Google+ সাইন-ইন বোতাম অন্তর্ভুক্ত করলে, নিম্নলিখিত পরিবর্তনগুলি করুন:
যখন আপনি আপনার ক্লায়েন্ট আইডি নির্দিষ্ট করেন, হয় একটি
<meta>
ট্যাগ, একটিdata-
অ্যাট্রিবিউট, বা একটি প্যারামিটার অবজেক্টে, স্ট্রিংclientid
client_id
পরিবর্তন করুন, নিম্নলিখিত উদাহরণের মতো:<!-- Google+ Sign-in (old) --> <meta name="google-signin-clientid" content="YOUR_CLIENT_ID">
<!-- Google Sign-in (new) --> <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
নিচের উদাহরণের মতো
gapi.signin2.render()
এর পরিবর্তেgapi.signin.render()
দিয়ে সাইন-ইন বোতামটি রেন্ডার করুন:// Google+ Sign-in (old) gapi.signin.render('myButton', additionalParams);
// Google Sign-in (new) gapi.signin2.render('myButton', additionalParams);
একটি একক কলব্যাক হ্যান্ডলারের পরিবর্তে, নিম্নলিখিত উদাহরণের মতো সাফল্য এবং ব্যর্থতার হ্যান্ডলারকে সংজ্ঞায়িত করুন:
// Google+ Sign-in (old) function signinCallback(authResult) { if (authResult['status']['signed_in']) { // Handle successful sign-in } else { // Handle sign-in errors console.log('Sign-in error: ' + authResult['error']); } }
// Google Sign-in (new) function onSignIn(googleUser) { // Handle successful sign-in } function onSignInFailure() { // Handle sign-in errors }
এই পরিবর্তনগুলি আপনার ডিফল্ট সুযোগগুলি profile email openid
এ আপডেট করে। আপনি getBasicProfile()
পদ্ধতির মাধ্যমে ব্যবহারকারীর মৌলিক প্রোফাইল তথ্য পেতে পারেন।
একটি JavaScript-সূচিত সাইন-ইন প্রবাহ স্থানান্তর করুন৷
ব্যবহারকারীরা সাইন-ইন বোতামে ক্লিক করার সময় আপনি gapi.auth.signIn()
এ কল দিয়ে সাইন-ইন প্রবাহ শুরু করলে, নিম্নলিখিত পরিবর্তনগুলি করুন:
যখন আপনি আপনার ক্লায়েন্ট আইডি নির্দিষ্ট করেন, হয় একটি
<meta>
ট্যাগ, একটিdata-
অ্যাট্রিবিউট, বা একটি প্যারামিটার অবজেক্টে, স্ট্রিংclientid
client_id
পরিবর্তন করুন, নিম্নলিখিত উদাহরণের মতো:<!-- Google+ Sign-in (old) --> <meta name="google-signin-clientid" content="YOUR_CLIENT_ID">
<!-- Google Sign-in (new) --> <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
নিচের উদাহরণের মতো একটি বোতাম টিপলে সাইন-ইন প্রবাহ শুরু করতে
gapi.auth2.attachClickHandler()
ব্যবহার করুন:// Google+ Sign-in (old) var signinButton = document.getElementById('signinButton'); signinButton.addEventListener('click', function() { gapi.auth.signIn(additionalParams); });
// Google Sign-in (new) auth2 = gapi.auth2.init(); auth2.attachClickHandler('signinButton', additionalParams, onSignIn, onSignInFailure);
একটি একক কলব্যাক হ্যান্ডলারের পরিবর্তে, নিম্নলিখিত উদাহরণের মতো সাফল্য এবং ব্যর্থতার হ্যান্ডলারকে সংজ্ঞায়িত করুন:
// Google+ Sign-in (old) function signinCallback(authResult) { if (authResult['status']['signed_in']) { // Handle successful sign-in } else { // Handle sign-in errors console.log('Sign-in error: ' + authResult['error']); } }
// Google Sign-in (new) function onSignIn(googleUser) { // Handle successful sign-in } function onSignInFailure() { // Handle sign-in errors }
এই পরিবর্তনগুলি আপনার ডিফল্ট সুযোগগুলি profile email openid
এ আপডেট করে। আপনি getBasicProfile()
পদ্ধতিতে কল করে ব্যবহারকারীর মৌলিক প্রোফাইল তথ্য পেতে পারেন।
একটি হাইব্রিড সার্ভার-সাইড ফ্লো মাইগ্রেট করুন
আপনি যদি আপনার সার্ভারে পাস করার জন্য একটি এককালীন অনুমোদন কোড অর্জন করতে JavaScript API ব্যবহার করেন, তাহলে নিম্নলিখিত পরিবর্তনগুলি করুন:
https://www.googleapis.com/auth/plus.login
থেকেprofile
সুযোগ পরিবর্তন করুন।নিম্নলিখিত উদাহরণের মতো আপনার বিদ্যমান কলব্যাক ফাংশনের সাথে
gapi.auth2.grantOfflineAccess()
পদ্ধতিটি ব্যবহার করুন:<!-- Google+ Sign-in (old) --> <div class="g-signin" data-scope="https://www.googleapis.com/auth/plus.login" data-clientid="YOUR_CLIENT_ID" data-redirecturi="postmessage" data-accesstype="offline" data-callback="signInCallback"> </div>
// Google Sign-in (new) auth2 = gapi.auth2.init({ client_id: 'YOUR_CLIENT_ID', scope: 'profile' }); ... auth2.grantOfflineAccess().then(signInCallback);
আপনার যদি ব্যবহারকারীর ইমেলে অ্যাক্সেসের প্রয়োজন হয়, তাহলে স্কোপ প্যারামিটারে email
যোগ করুন।