সেটআপ

আপনি Google এর সাথে সাইন ইন, ওয়ান ট্যাপ, বা আপনার ওয়েবসাইটে স্বয়ংক্রিয় সাইন-ইন যোগ করার আগে আপনার OAuth কনফিগারেশন সেটআপ করুন এবং ঐচ্ছিকভাবে আপনার সাইটের সামগ্রী নিরাপত্তা নীতি কনফিগার করুন৷

আপনার Google API ক্লায়েন্ট আইডি পান

আপনার ওয়েবসাইটে Google এর সাথে সাইন ইন সক্ষম করতে, আপনাকে প্রথমে আপনার Google API ক্লায়েন্ট আইডি সেট আপ করতে হবে৷ এটি করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. Google APIs কনসোলের শংসাপত্র পৃষ্ঠা খুলুন।
  2. একটি Google APIs প্রকল্প তৈরি করুন বা নির্বাচন করুন৷ আপনার যদি ইতিমধ্যেই Google বোতাম বা Google One Tap দিয়ে সাইন ইন করার জন্য একটি প্রজেক্ট থাকে, তাহলে বিদ্যমান প্রোজেক্ট এবং ওয়েব ক্লায়েন্ট আইডি ব্যবহার করুন। উত্পাদন অ্যাপ্লিকেশন তৈরি করার সময়, একাধিক প্রকল্পের প্রয়োজন হতে পারে, আপনার পরিচালনা করা প্রতিটি প্রকল্পের জন্য এই বিভাগের অবশিষ্ট ধাপগুলি পুনরাবৃত্তি করুন।
  3. ক্রিয়েট ক্রেডেনশিয়াল > OAuth ক্লায়েন্ট আইডি ক্লিক করুন এবং অ্যাপ্লিকেশন প্রকারের জন্য একটি নতুন ক্লায়েন্ট আইডি তৈরি করতে ওয়েব অ্যাপ্লিকেশন নির্বাচন করুন। একটি বিদ্যমান ক্লায়েন্ট আইডি ব্যবহার করতে ওয়েব অ্যাপ্লিকেশনের একটি নির্বাচন করুন।
  4. অনুমোদিত জাভাস্ক্রিপ্ট অরিজিনে আপনার ওয়েবসাইটের URI যোগ করুন। URI স্কিম এবং সম্পূর্ণরূপে যোগ্য হোস্টনাম অন্তর্ভুক্ত করে। উদাহরণস্বরূপ, https://www.example.com

  5. ঐচ্ছিকভাবে, জাভাস্ক্রিপ্ট কলব্যাকের পরিবর্তে আপনার হোস্ট করা একটি এন্ডপয়েন্টে রিডাইরেক্ট ব্যবহার করে শংসাপত্রগুলি ফেরত দেওয়া হতে পারে। যদি এটি হয়, তাহলে আপনার রিডাইরেক্ট URIগুলিকে অনুমোদিত রিডাইরেক্ট URI- তে যোগ করুন। রিডাইরেক্ট ইউআরআই-এর মধ্যে স্কিম, সম্পূর্ণ যোগ্য হোস্টনাম এবং পাথ অন্তর্ভুক্ত রয়েছে এবং অবশ্যই রিডাইরেক্ট ইউআরআই যাচাইকরণ নিয়ম মেনে চলতে হবে। উদাহরণস্বরূপ, https://www.example.com/auth-receiver

Google এর সাথে সাইন ইন করুন এবং ওয়ান ট্যাপ প্রমাণীকরণ উভয়ই একটি সম্মতি স্ক্রিন অন্তর্ভুক্ত করে যা ব্যবহারকারীদের তাদের ডেটা অ্যাক্সেসের অনুরোধকারী অ্যাপ্লিকেশন, তাদের কী ধরণের ডেটা চাওয়া হয়েছে এবং প্রযোজ্য শর্তাবলী জানায়৷

  1. Google ডেভেলপার কনসোলের API এবং পরিষেবা বিভাগের OAuth সম্মতি স্ক্রীন পৃষ্ঠাটি খুলুন।
  2. অনুরোধ করা হলে, আপনি এইমাত্র তৈরি করা প্রকল্পটি নির্বাচন করুন।
  3. "OAuth সম্মতি স্ক্রীন" পৃষ্ঠায়, ফর্মটি পূরণ করুন এবং "সংরক্ষণ করুন" বোতামে ক্লিক করুন।

    1. আবেদনের নাম: সম্মতি চাওয়া আবেদনের নাম। নামটি আপনার অ্যাপ্লিকেশনটিকে সঠিকভাবে প্রতিফলিত করতে হবে এবং ব্যবহারকারীরা অন্য কোথাও যে অ্যাপ্লিকেশনটি দেখেন তার সাথে সামঞ্জস্যপূর্ণ হওয়া উচিত।

    2. অ্যাপ্লিকেশন লোগো: ব্যবহারকারীদের আপনার অ্যাপ চিনতে সাহায্য করার জন্য এই ছবিটি সম্মতি স্ক্রিনে দেখানো হয়েছে। লোগোটি সাইন ইন উইথ Google সম্মতি স্ক্রিনে এবং অ্যাকাউন্ট সেটিংসে দেখানো হয়, কিন্তু ওয়ান ট্যাপ ডায়ালগে দেখানো হয় না।

    3. সমর্থন ইমেল: ব্যবহারকারী সমর্থনের জন্য সম্মতি স্ক্রিনে দেখানো হয়েছে এবং G Suite অ্যাডমিনিস্ট্রেটররা তাদের ব্যবহারকারীদের জন্য আপনার আবেদনের অ্যাক্সেস মূল্যায়ন করছে। এই ইমেল ঠিকানাটি ব্যবহারকারীদের দেখানো হয় সাইন ইন উইথ Google সম্মতি স্ক্রিনে যখন ব্যবহারকারী অ্যাপ্লিকেশনের নামে ক্লিক করেন।

    4. Google API-এর জন্য স্কোপ: স্কোপগুলি আপনার অ্যাপ্লিকেশনকে আপনার ব্যবহারকারীর ব্যক্তিগত ডেটা অ্যাক্সেস করার অনুমতি দেয়। প্রমাণীকরণের জন্য, ডিফল্ট স্কোপ (ইমেল, প্রোফাইল, ওপেনআইডি) যথেষ্ট, আপনাকে কোনো সংবেদনশীল স্কোপ যোগ করতে হবে না। ক্রমবর্ধমানভাবে স্কোপের অনুরোধ করা একটি সর্বোত্তম অভ্যাস, যখন অ্যাক্সেসের প্রয়োজন হয়, সামনের পরিবর্তে। আরও জানুন

    5. অনুমোদিত ডোমেন: আপনাকে এবং আপনার ব্যবহারকারীদের সুরক্ষিত রাখতে, Google শুধুমাত্র OAuth ব্যবহার করে প্রমাণীকৃত অ্যাপ্লিকেশনগুলিকে অনুমোদিত ডোমেন ব্যবহার করার অনুমতি দেয়। আপনার অ্যাপ্লিকেশনের লিঙ্কগুলি অবশ্যই অনুমোদিত ডোমেনে হোস্ট করা উচিত। আরও জানুন

    6. অ্যাপ্লিকেশানের হোমপেজ লিঙ্ক: সাইন ইন উইথ Google সম্মতি স্ক্রীনে দেখানো হয়েছে এবং "এভাবে চালিয়ে যান" বোতামের অধীনে ওয়ান-ট্যাপ জিডিপিআর অনুগত ডিসক্লেমার তথ্য। একটি অনুমোদিত ডোমেনে হোস্ট করা আবশ্যক।

    7. অ্যাপ্লিকেশানের গোপনীয়তা নীতির লিঙ্ক: Google সম্মতি স্ক্রীনের সাথে সাইন ইনে দেখানো হয়েছে এবং "কন্টিনিউ এজ" বোতামের অধীনে ওয়ান-ট্যাপ জিডিপিআর সম্মত দাবিত্যাগের তথ্য। একটি অনুমোদিত ডোমেনে হোস্ট করা আবশ্যক।

    8. অ্যাপ্লিকেশানের পরিষেবার শর্তাবলী লিঙ্ক (ঐচ্ছিক): Google-এর সম্মতি স্ক্রীনে সাইন-ইন করুন এবং "কন্টিনিউ এজ" বোতামের অধীনে ওয়ান-ট্যাপ জিডিপিআর মেনে চলা দাবিত্যাগের তথ্য দেখানো হয়েছে। একটি অনুমোদিত ডোমেনে হোস্ট করা আবশ্যক।

  4. "যাচাই স্থিতি" চেক করুন, যদি আপনার আবেদনের যাচাইকরণের প্রয়োজন হয় তাহলে যাচাইয়ের জন্য আপনার আবেদন জমা দিতে "যাচাইয়ের জন্য জমা দিন" বোতামে ক্লিক করুন। বিশদ বিবরণের জন্য OAuth যাচাইকরণের প্রয়োজনীয়তা পড়ুন।

সাইন-ইন করার সময় OAuth সেটিংসের প্রদর্শন

FedCM ব্যবহার করে এক ট্যাপ

FedCM ব্যবহার করে Chrome One Tap দ্বারা প্রদর্শিত OAuth সম্মতি সেটিংস

Chrome-এ ব্যবহারকারীর সম্মতির সময় শীর্ষ-স্তরের অনুমোদিত ডোমেন প্রদর্শিত হয়।

FedCM ছাড়া এক ট্যাপ

OAuth সম্মতি সেটিংস যেমন One Tap দ্বারা প্রদর্শিত হয়

ব্যবহারকারীর সম্মতির সময় আবেদনের নাম প্রদর্শিত হয়।

চিত্র 1. OAuth সম্মতি সেটিংস Chrome-এ One Tap দ্বারা প্রদর্শিত হয়।

বিষয়বস্তু নিরাপত্তা নীতি

ঐচ্ছিক হলেও, আপনার অ্যাপকে সুরক্ষিত করতে এবং ক্রস-সাইট স্ক্রিপ্টিং (XSS) আক্রমণ প্রতিরোধ করার জন্য একটি বিষয়বস্তু নিরাপত্তা নীতি সুপারিশ করা হয়। আরও জানতে, CSP এবং CSP এবং XSS- এর একটি ভূমিকা দেখুন।

আপনার বিষয়বস্তু নিরাপত্তা নীতিতে এক বা একাধিক নির্দেশ অন্তর্ভুক্ত থাকতে পারে, যেমন connect-src , frame-src , script-src , style-src , বা default-src

যদি আপনার CSP এর অন্তর্ভুক্ত থাকে:

  • connect-src নির্দেশিকা, https://accounts.google.com/gsi/ যোগ করুন যাতে Google আইডেন্টিটি সার্ভিস সার্ভার-সাইড এন্ডপয়েন্টের জন্য প্যারেন্ট ইউআরএল লোড করার অনুমতি দেওয়া হয়।
  • frame-src নির্দেশিকা, এক আলতো চাপুন এবং Google বোতাম iframes দিয়ে সাইন ইন করার জন্য https://accounts.google.com/gsi/ যোগ করুন।
  • script-src নির্দেশিকা, Google আইডেন্টিটি সার্ভিস জাভাস্ক্রিপ্ট লাইব্রেরির URL-এর অনুমতি দিতে https://accounts.google.com/gsi/client যোগ করুন।
  • style-src নির্দেশিকা, গুগল আইডেন্টিটি সার্ভিসেস স্টাইলশীটের URL-এর অনুমতি দিতে https://accounts.google.com/gsi/style যোগ করুন।
  • default-src নির্দেশিকা, যদি ব্যবহার করা হয়, তাহলে একটি ফলব্যাক হয় যদি পূর্ববর্তী নির্দেশাবলী ( connect-src , frame-src , script-src , বা style-src ) নির্দিষ্ট না থাকে, https://accounts.google.com/gsi/ যোগ করুন https://accounts.google.com/gsi/ Google আইডেন্টিটি সার্ভিস সার্ভার-সাইড এন্ডপয়েন্টের জন্য একটি পৃষ্ঠার মূল URL লোড করার অনুমতি দিতে।

connect-src ব্যবহার করার সময় পৃথক GIS URL তালিকাভুক্ত করা এড়িয়ে চলুন। যখন GIS আপডেট করা হয় তখন এটি ব্যর্থতা কমাতে সাহায্য করে। উদাহরণস্বরূপ, https://accounts.google.com/gsi/status যোগ করার পরিবর্তে GIS প্যারেন্ট URL https://accounts.google.com/gsi/ ব্যবহার করুন।

এই উদাহরণের প্রতিক্রিয়া শিরোনামটি Google পরিচয় পরিষেবাগুলিকে সফলভাবে লোড এবং কার্যকর করার অনুমতি দেয়:

Content-Security-Policy-Report-Only: script-src
https://accounts.google.com/gsi/client; frame-src
https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;

ক্রস অরিজিন ওপেনার পলিসি

Google বোতাম এবং Google One Tap-এর মাধ্যমে সাইন ইন করার জন্য আপনার Cross-Origin-Opener-Policy (COOP) পরিবর্তনের প্রয়োজন হতে পারে যাতে সফলভাবে পপআপ তৈরি করা যায়।

FedCM সক্রিয় করা হলে ব্রাউজার সরাসরি পপআপ রেন্ডার করে এবং কোন পরিবর্তনের প্রয়োজন হয় না।

যাইহোক, যখন FedCM অক্ষম করা হয়, COOP হেডার সেট করুন:

  • same-origin এবং
  • same-origin-allow-popups অন্তর্ভুক্ত করুন।

সঠিক হেডার সেট করতে ব্যর্থ হলে উইন্ডোজের মধ্যে যোগাযোগ বিচ্ছিন্ন হয়ে যায়, যার ফলে একটি ফাঁকা পপ-আপ উইন্ডো বা অনুরূপ বাগ দেখা দেয়।