আপনার অ্যাপটিকে প্রোডাকশনের জন্য প্রস্তুত করার সময় ডেভেলপারদের সম্মুখীন হওয়া সবচেয়ে সাধারণ সমস্যাগুলো কীভাবে সমাধান করবেন, এই নির্দেশিকায় তার রূপরেখা দেওয়া হয়েছে।
সংক্ষিপ্ত বিবরণ
যখন আপনি আপনার তৈরি করা সলিউশনটি ডেভেলপমেন্ট এনভায়রনমেন্টের বাইরে আপনার অ্যাপের ব্যবহারকারীদের কাছে পৌঁছে দেওয়ার জন্য প্রস্তুত হবেন, তখন গুগলের OAuth 2.0 পলিসিগুলো মেনে চলার জন্য আপনাকে অতিরিক্ত কিছু পদক্ষেপ নিতে হতে পারে। এই গাইডে, আপনার অ্যাপকে প্রোডাকশনের জন্য প্রস্তুত করার সময় ডেভেলপারদের সম্মুখীন হওয়া সবচেয়ে সাধারণ সমস্যাগুলো কীভাবে মেনে চলবেন, তার রূপরেখা দেওয়া হয়েছে। এটি আপনাকে সীমিত ত্রুটির মাধ্যমে সর্বাধিক সংখ্যক ব্যবহারকারীর কাছে পৌঁছাতে সাহায্য করে।
- টেস্টিং এবং প্রোডাকশনের জন্য আলাদা প্রজেক্ট ব্যবহার করুন
- প্রকল্পের জন্য প্রাসঙ্গিক যোগাযোগের একটি তালিকা বজায় রাখুন।
- আপনার পরিচয় সঠিকভাবে উপস্থাপন করুন
- শুধুমাত্র আপনার প্রয়োজনীয় স্কোপগুলোর জন্য অনুরোধ করুন।
- যাচাইকরণের জন্য এমন প্রোডাকশন অ্যাপ জমা দিন যেগুলিতে অসংবেদনশীল বা সীমাবদ্ধ নয় এমন স্কোপ ব্যবহার করা হয়।
- শুধুমাত্র আপনার নিজের ডোমেইন ব্যবহার করুন
- প্রোডাকশন অ্যাপগুলির জন্য একটি হোম পেজ হোস্ট করুন
- নিরাপদ রিডাইরেক্ট ইউআরআই এবং জাভাস্ক্রিপ্ট অরিজিন ব্যবহার করুন
টেস্টিং এবং প্রোডাকশনের জন্য আলাদা প্রজেক্ট ব্যবহার করুন
গুগলের OAuth নীতিমালা অনুযায়ী টেস্টিং এবং প্রোডাকশনের জন্য আলাদা প্রজেক্ট থাকা আবশ্যক । কিছু নীতিমালা এবং শর্তাবলী শুধুমাত্র প্রোডাকশন অ্যাপের ক্ষেত্রেই প্রযোজ্য। আপনার এমন একটি আলাদা প্রজেক্ট তৈরি ও কনফিগার করার প্রয়োজন হতে পারে, যেখানে আপনার অ্যাপের প্রোডাকশন সংস্করণের সাথে সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্টগুলো অন্তর্ভুক্ত থাকবে, যা সকল গুগল অ্যাকাউন্টের জন্য উপলব্ধ থাকবে।
প্রোডাকশনে ব্যবহৃত গুগল OAuth ক্লায়েন্টগুলো, একই অ্যাপ্লিকেশন পরীক্ষা বা ডিবাগ করার জন্য ব্যবহৃত অনুরূপ OAuth ক্লায়েন্টগুলোর তুলনায়, আরও স্থিতিশীল, অনুমানযোগ্য এবং নিরাপদ ডেটা সংগ্রহ ও সংরক্ষণের পরিবেশ প্রদান করতে সাহায্য করে। আপনার প্রোডাকশন প্রজেক্টটি যাচাইকরণের জন্য জমা দেওয়া হতে পারে এবং এর ফলে নির্দিষ্ট API স্কোপের জন্য অতিরিক্ত প্রয়োজনীয়তার অধীন হতে পারে, যার মধ্যে তৃতীয় পক্ষের নিরাপত্তা মূল্যায়ন অন্তর্ভুক্ত থাকতে পারে।
- Google API কনসোলে যান। 'Create project'-এ ক্লিক করুন, একটি নাম লিখুন এবং 'Create'-এ ক্লিক করুন।
- এই প্রোজেক্টে থাকা OAuth ক্লায়েন্টগুলো পর্যালোচনা করুন যেগুলো আপনার টেস্টিং টিয়ারের সাথে যুক্ত থাকতে পারে। প্রযোজ্য ক্ষেত্রে, আপনার প্রোডাকশন প্রোজেক্টের ভেতরের প্রোডাকশন ক্লায়েন্টগুলোর জন্য অনুরূপ OAuth ক্লায়েন্ট তৈরি করুন।
- আপনার ক্লায়েন্টদের দ্বারা ব্যবহৃত যেকোনো এপিআই (API) সক্রিয় করুন ।
- ক্লাউড কনসোলের ব্র্যান্ডিং পৃষ্ঠায় নতুন প্রজেক্টের জন্য আপনার OAuth কনসেন্ট স্ক্রিন কনফিগারেশন পর্যালোচনা করুন।
প্রোডাকশনে ব্যবহৃত গুগল OAuth ক্লায়েন্টগুলিতে এমন কোনো টেস্ট এনভায়রনমেন্ট, রিডাইরেক্ট ইউআরআই, বা জাভাস্ক্রিপ্ট অরিজিন থাকা যাবে না যা শুধুমাত্র আপনার বা আপনার ডেভেলপমেন্ট টিমের কাছে উপলব্ধ। নিচে কিছু উদাহরণ দেওয়া হলো:
- স্বতন্ত্র ডেভেলপারদের টেস্ট সার্ভার
- আপনার অ্যাপের পরীক্ষামূলক বা প্রাক-প্রকাশ সংস্করণ
প্রকল্পের জন্য প্রাসঙ্গিক যোগাযোগের একটি তালিকা বজায় রাখুন।
গুগল এবং আপনার সক্রিয় করা স্বতন্ত্র এপিআইগুলো তাদের পরিষেবার পরিবর্তন অথবা আপনার প্রজেক্ট ও এর ক্লায়েন্টদের জন্য প্রয়োজনীয় নতুন কনফিগারেশন সম্পর্কে আপনার সাথে যোগাযোগ করতে পারে। আপনার প্রজেক্টের IAM তালিকাগুলো পর্যালোচনা করে নিশ্চিত করুন যে আপনার টিমের প্রাসঙ্গিক ব্যক্তিরা আপনার প্রজেক্ট কনফিগারেশন সম্পাদনা বা দেখার অ্যাক্সেস পাচ্ছেন। এই অ্যাকাউন্টগুলো আপনার প্রজেক্টে প্রয়োজনীয় পরিবর্তন সম্পর্কে ইমেলও পেতে পারে।
একটি রোলে এমন কিছু অনুমতি থাকে যা আপনাকে প্রোজেক্টের রিসোর্সগুলোর উপর নির্দিষ্ট কাজ করার সুযোগ দেয়। প্রোজেক্ট এডিটরদের এমন সব কাজের অনুমতি থাকে যা স্টেট পরিবর্তন করে, যেমন আপনার প্রোজেক্টের OAuth কনসেন্ট স্ক্রিনে পরিবর্তন আনার ক্ষমতা। প্রোজেক্টের মালিকরা, যাদের এডিটরের সমস্ত অনুমতি রয়েছে, তারা প্রোজেক্টের সাথে যুক্ত অ্যাকাউন্ট যোগ বা অপসারণ করতে পারেন, অথবা প্রোজেক্টটি ডিলিট করে দিতে পারেন। প্রোজেক্টের মালিকরা বিলিং তথ্য কেন সেট করা হতে পারে, তার প্রেক্ষাপটও প্রদান করতে পারেন। যে প্রোজেক্ট পেইড এপিআই (API) ব্যবহার করে, তার জন্যও প্রোজেক্টের মালিকরা বিলিং তথ্য সেট আপ করতে পারেন।
প্রজেক্টের মালিক এবং সম্পাদকদের অবশ্যই হালনাগাদ তথ্য জানাতে হবে। প্রজেক্টে নিরবচ্ছিন্ন অ্যাক্সেস এবং সংশ্লিষ্ট রক্ষণাবেক্ষণ নিশ্চিত করতে আপনি আপনার প্রজেক্টে একাধিক প্রাসঙ্গিক অ্যাকাউন্ট যোগ করতে পারেন। আপনার প্রজেক্ট সম্পর্কিত কোনো বিজ্ঞপ্তি বা আমাদের পরিষেবার কোনো আপডেট এলে আমরা সেই অ্যাকাউন্টগুলোতে ইমেল পাঠাই। গুগল ক্লাউড অর্গানাইজেশন অ্যাডমিনিস্ট্রেটরদের অবশ্যই নিশ্চিত করতে হবে যে তাদের অর্গানাইজেশনের প্রতিটি প্রজেক্টের সাথে একজন যোগাযোগযোগ্য ব্যক্তি যুক্ত আছেন। যদি আমাদের কাছে আপনার প্রজেক্টের হালনাগাদ যোগাযোগের তথ্য না থাকে, তাহলে আপনার পদক্ষেপ প্রয়োজন এমন গুরুত্বপূর্ণ বার্তাগুলো আপনি হয়তো পাবেন না।
আপনার পরিচয় সঠিকভাবে উপস্থাপন করুন
Provide a valid app name and, optionally, a logo to show to users. This brand information must accurately represent the identity of your application. App branding information is configured from the OAuth Branding page .
প্রোডাকশন অ্যাপের ক্ষেত্রে, আপনার OAuth কনসেন্ট স্ক্রিনে সংজ্ঞায়িত ব্র্যান্ডের তথ্য ব্যবহারকারীদের কাছে প্রদর্শিত হওয়ার আগে অবশ্যই যাচাই করতে হবে । ব্র্যান্ড যাচাইকরণ সম্পন্ন হওয়ার পর ব্যবহারকারীরা আপনার অ্যাপে অ্যাক্সেস দেওয়ার সম্ভাবনা বেশি থাকতে পারে। অ্যাপ্লিকেশনের মৌলিক তথ্য, যার মধ্যে অ্যাপের নাম, হোম পেজ, পরিষেবার শর্তাবলী এবং গোপনীয়তা নীতি অন্তর্ভুক্ত, তা ব্যবহারকারীদেরকে গ্র্যান্ট স্ক্রিনে, তাদের বিদ্যমান গ্র্যান্টগুলো পর্যালোচনা করার সময়, অথবা তাদের সংস্থা কর্তৃক অ্যাপের ব্যবহার পর্যালোচনাকারী Google Workspace অ্যাডমিনিস্ট্রেটরদেরকে দেখানো হয়।
যেসব অ্যাপ তাদের পরিচয় ভুলভাবে উপস্থাপন করে বা ব্যবহারকারীদের প্রতারিত করার চেষ্টা করে, গুগল তাদের গুগল এপিআই পরিষেবা এবং অন্যান্য গুগল পণ্য ও পরিষেবাগুলিতে প্রবেশাধিকার বাতিল বা স্থগিত করতে পারে।
শুধুমাত্র আপনার প্রয়োজনীয় স্কোপগুলোর জন্য অনুরোধ করুন।
আপনার অ্যাপ্লিকেশনটি তৈরির সময়, কোনো এপিআই-এর বৈশিষ্ট্য ও কার্যকারিতা সম্পর্কে আরও জানতে আপনি হয়তো অ্যাপ্লিকেশনটির মধ্যেই একটি প্রুফ-অফ-কনসেপ্ট তৈরি করার জন্য এপিআই দ্বারা প্রদত্ত কোনো এক্সাম্পল স্কোপ ব্যবহার করে থাকতে পারেন। এই এক্সাম্পল স্কোপগুলো প্রায়শই আপনার অ্যাপের চূড়ান্ত বাস্তবায়নের প্রয়োজনের চেয়ে বেশি তথ্য চেয়ে থাকে, কারণ এগুলো একটি নির্দিষ্ট এপিআই-এর জন্য সম্ভাব্য সমস্ত কাজের একটি বিশদ বিবরণ প্রদান করে। উদাহরণস্বরূপ, এক্সাম্পল স্কোপটি রিড, রাইট এবং ডিলিট পারমিশন চাইতে পারে, অথচ আপনার অ্যাপ্লিকেশনের জন্য শুধুমাত্র রিড পারমিশন প্রয়োজন। আপনার অ্যাপ্লিকেশনটি বাস্তবায়নের জন্য প্রয়োজনীয় গুরুত্বপূর্ণ তথ্যের মধ্যে সীমাবদ্ধ প্রাসঙ্গিক পারমিশনগুলোর জন্য অনুরোধ করুন ।
আপনার অ্যাপ যে API এন্ডপয়েন্টগুলো কল করে, সেগুলোর রেফারেন্স ডকুমেন্টেশন পর্যালোচনা করুন এবং আপনার অ্যাপের প্রয়োজনীয় প্রাসঙ্গিক ডেটা অ্যাক্সেস করার জন্য যে স্কোপগুলো প্রয়োজন, তা নোট করুন। API-এর দেওয়া যেকোনো অথরাইজেশন গাইড পর্যালোচনা করুন এবং সবচেয়ে সাধারণ ব্যবহার অন্তর্ভুক্ত করে সেগুলোর স্কোপ আরও বিস্তারিতভাবে বর্ণনা করুন। সংশ্লিষ্ট ফিচারগুলো পরিচালনার জন্য আপনার অ্যাপ্লিকেশনের প্রয়োজনীয় সর্বনিম্ন ডেটা অ্যাক্সেস বেছে নিন।
For more information about this requirement, read the Only request scopes that you need section of the OAuth 2.0 Policies, along with the Request relevant permissions section of the Google API Services User Data Policy.
যাচাইকরণের জন্য এমন প্রোডাকশন অ্যাপ জমা দিন যেগুলিতে অসংবেদনশীল বা সীমাবদ্ধ নয় এমন স্কোপ ব্যবহার করা হয়।
ব্যবহারকারীকে প্রমাণীকরণের সময় 'সাইন ইন উইথ গুগল' সংবেদনশীল এবং সীমাবদ্ধ স্কোপের জন্য অনুরোধ করে না। যদি আপনার অ্যাপ্লিকেশনটি শুধুমাত্র প্রমাণীকরণের জন্য 'সাইন ইন উইথ গুগল' ব্যবহার করে, তবে আপনাকে অবশ্যই ব্র্যান্ড যাচাইকরণের জন্য আপনার অ্যাপ্লিকেশনটি জমা দিতে হবে। আপনি গুগল ক্লাউড কনসোলের ব্র্যান্ডিং পেজ থেকে যাচাইকরণের জন্য আবেদন করতে পারেন। কনসেন্ট স্ক্রিনে অ্যাপটির ব্র্যান্ডিং উপাদান—যার মধ্যে নাম, লোগো, গোপনীয়তা নীতি, পরিষেবার শর্তাবলী এবং স্কোপ অন্তর্ভুক্ত—প্রদর্শনের জন্য এই যাচাইকরণটি প্রয়োজনীয়।
আমরা দৃঢ়ভাবে সুপারিশ করছি যে আপনার অ্যাপ যেন সাইন ইন বাটন স্থাপনের ক্ষেত্রে অফিসিয়াল ব্র্যান্ডিং নির্দেশিকা মেনে চলে।
শুধুমাত্র আপনার নিজের ডোমেইন ব্যবহার করুন
Google-এর OAuth সম্মতি স্ক্রিন যাচাইকরণ প্রক্রিয়ার জন্য আপনার প্রোজেক্টের হোম পেজ, গোপনীয়তা নীতি, পরিষেবার শর্তাবলী, অনুমোদিত রিডাইরেক্ট ইউআরআই, বা অনুমোদিত জাভাস্ক্রিপ্ট অরিজিনের সাথে যুক্ত সমস্ত ডোমেইন যাচাই করা প্রয়োজন। OAuth সম্মতি স্ক্রিন এডিটরের ' অনুমোদিত ডোমেইন ' বিভাগে সংক্ষিপ্তভাবে দেওয়া আপনার অ্যাপ দ্বারা ব্যবহৃত ডোমেইনগুলির তালিকা পর্যালোচনা করুন এবং এমন কোনো ডোমেইন শনাক্ত করুন যা আপনার মালিকানাধীন নয় এবং সেই কারণে আপনি যাচাই করতে পারবেন না। আপনার প্রোজেক্টের অনুমোদিত ডোমেইনগুলির মালিকানা যাচাই করতে, Google Search Console ব্যবহার করুন। এমন একটি Google অ্যাকাউন্ট ব্যবহার করুন যা আপনার API Console প্রোজেক্টের সাথে মালিক (Owner) বা সম্পাদক (Editor) হিসাবে যুক্ত আছে।
আপনার প্রজেক্ট যদি এমন কোনো সার্ভিস প্রোভাইডার ব্যবহার করে যার একটি সাধারণ, শেয়ার করা ডোমেইন আছে, তাহলে আমরা আপনাকে এমন কনফিগারেশন চালু করার পরামর্শ দিই যা আপনার নিজের ডোমেইন ব্যবহারের সুযোগ দেবে। কিছু প্রোভাইডার তাদের পরিষেবাগুলোকে আপনার মালিকানাধীন কোনো ডোমেইনের সাবডোমেইনে ম্যাপ করার সুবিধা দিয়ে থাকে।
প্রোডাকশন অ্যাপগুলির জন্য একটি হোম পেজ হোস্ট করুন
OAuth 2.0 ব্যবহারকারী প্রতিটি প্রোডাকশন অ্যাপের একটি সর্বজনীনভাবে প্রবেশযোগ্য হোম পেজ থাকা আবশ্যক। আপনার অ্যাপের সম্ভাব্য ব্যবহারকারীরা অ্যাপটির ফিচার ও কার্যকারিতা সম্পর্কে আরও জানতে হোম পেজটি ভিজিট করতে পারেন। বিদ্যমান ব্যবহারকারীরা তাদের প্রাপ্ত অনুদানের তালিকা পর্যালোচনা করতে পারেন এবং আপনার পরিষেবাটির অব্যাহত ব্যবহারের কথা মনে রাখার জন্য আপনার অ্যাপের হোম পেজটি ভিজিট করতে পারেন।
আপনার অ্যাপ্লিকেশনের হোম পেজে অ্যাপটির কার্যকারিতার বিবরণের পাশাপাশি গোপনীয়তা নীতি এবং ঐচ্ছিক পরিষেবার শর্তাবলীর লিঙ্ক অবশ্যই অন্তর্ভুক্ত থাকতে হবে। হোম পেজটি অবশ্যই আপনার মালিকানাধীন একটি যাচাইকৃত ডোমেইনে থাকতে হবে।
নিরাপদ রিডাইরেক্ট ইউআরআই এবং জাভাস্ক্রিপ্ট অরিজিন ব্যবহার করুন
ওয়েব অ্যাপের জন্য OAuth 2.0 ক্লায়েন্টদের অবশ্যই সাধারণ HTTP ব্যবহার না করে, HTTPS রিডাইরেক্ট URI এবং জাভাস্ক্রিপ্ট অরিজিন ব্যবহার করে তাদের ডেটা সুরক্ষিত করতে হবে। যেসব OAuth অনুরোধ কোনো সুরক্ষিত প্রেক্ষাপট থেকে উদ্ভূত হয় না বা সেখানে সমাধান হয় না, গুগল সেগুলো প্রত্যাখ্যান করতে পারে।
বিবেচনা করুন কোন কোন থার্ড-পার্টি অ্যাপ্লিকেশন এবং স্ক্রিপ্ট আপনার পেজে আসা টোকেন এবং অন্যান্য ব্যবহারকারীর ক্রেডেনশিয়াল অ্যাক্সেস করতে পারে। শুধুমাত্র টোকেন ডেটা যাচাই এবং সংরক্ষণের জন্য রিডাইরেক্ট ইউআরআই লোকেশন ব্যবহার করে সংবেদনশীল ডেটার অ্যাক্সেস সীমিত করুন।
পরবর্তী পদক্ষেপ
এই পৃষ্ঠায় উল্লিখিত OAuth 2.0 নীতিমালা আপনার অ্যাপটি মেনে চলছে কিনা তা নিশ্চিত করার পর, যাচাইকরণ প্রক্রিয়া সম্পর্কে বিস্তারিত জানতে ‘ব্র্যান্ড যাচাইকরণের জন্য জমা দিন’ অংশটি দেখুন।