برپایی

قبل از افزودن ورود به سیستم با Google، یک ضربه یا ورود خودکار به وب سایت خود، پیکربندی OAuth خود را تنظیم کرده و به صورت اختیاری خط مشی امنیتی محتوای سایت خود را پیکربندی کنید.

شناسه سرویس گیرنده Google API خود را دریافت کنید

برای فعال کردن ورود به سیستم با Google در وب سایت خود، ابتدا باید شناسه سرویس گیرنده Google API خود را تنظیم کنید. برای این کار مراحل زیر را انجام دهید:

  1. صفحه اعتبارنامه کنسول Google APIs را باز کنید.
  2. یک پروژه Google APIs ایجاد یا انتخاب کنید. اگر قبلاً پروژه‌ای برای دکمه ورود با Google یا Google One Tap دارید، از پروژه موجود و شناسه مشتری وب استفاده کنید. هنگام ایجاد برنامه های تولید، ممکن است چندین پروژه لازم باشد، مراحل باقی مانده این بخش را برای هر پروژه ای که مدیریت می کنید تکرار کنید.
  3. روی Create credentials > OAuth client ID کلیک کنید و برای Application type ، Web application را انتخاب کنید تا شناسه مشتری جدید ایجاد شود. برای استفاده از شناسه مشتری موجود، یکی از نوع برنامه های وب را انتخاب کنید.
  4. URI وب سایت خود را به مبدا مجاز جاوا اسکریپت اضافه کنید. URI فقط شامل طرح و نام میزبان کاملاً واجد شرایط است. به عنوان مثال، https://www.example.com .

  5. به صورت اختیاری، اعتبارنامه ها ممکن است با استفاده از تغییر مسیر به نقطه پایانی که میزبانی می کنید به جای پاسخ به تماس جاوا اسکریپت بازگردانده شوند. اگر اینطور است، URI های تغییر مسیر خود را به URI های تغییر مسیر مجاز مجاز اضافه کنید. URIهای تغییر مسیر شامل طرح، نام میزبان کاملاً واجد شرایط و مسیر هستند و باید با قوانین اعتبارسنجی Redirect URI مطابقت داشته باشند. برای مثال، https://www.example.com/auth-receiver .

هر دو تأیید هویت با Google و One Tap شامل یک صفحه رضایت هستند که به کاربرانی که درخواست دسترسی به داده‌هایشان را درخواست می‌کنند، نوع داده‌هایی که از آنها درخواست می‌شود و شرایطی که اعمال می‌شود، می‌گوید.

  1. صفحه نمایش رضایت OAuth در بخش APIs & Services کنسول برنامه‌نویس Google را باز کنید.
  2. در صورت درخواست، پروژه ای را که ایجاد کرده اید انتخاب کنید.
  3. در صفحه «صفحه رضایت OAuth»، فرم را پر کنید و روی دکمه «ذخیره» کلیک کنید.

    1. نام برنامه: نام درخواستی که درخواست رضایت می کند. نام باید دقیقاً منعکس کننده برنامه شما باشد و با نام برنامه ای که کاربران در جاهای دیگر می بینند سازگار باشد.

    2. نشان‌واره برنامه: این تصویر روی صفحه رضایت نمایش داده می‌شود تا به کاربران کمک کند برنامه شما را تشخیص دهند. نشان‌واره در صفحه رضایت ورود به سیستم با Google و تنظیمات حساب نشان داده می‌شود، اما در گفتگو با یک ضربه نشان داده نمی‌شود.

    3. ایمیل پشتیبانی: در صفحه رضایت برای پشتیبانی کاربر و مدیران G Suite در حال ارزیابی دسترسی به برنامه شما برای کاربرانشان نشان داده می شود. وقتی کاربر روی نام برنامه کلیک می کند، این آدرس ایمیل در صفحه رضایت ورود به سیستم با Google به کاربران نشان داده می شود.

    4. Scopes for Google API: Scopes به برنامه شما اجازه می دهد تا به داده های خصوصی کاربر شما دسترسی داشته باشد. برای احراز هویت، محدوده پیش فرض (ایمیل، نمایه، openid) کافی است، نیازی به افزودن هیچ محدوده حساسی ندارید. به طور کلی بهترین روش این است که دامنه ها را به صورت تدریجی، در زمانی که دسترسی لازم است، درخواست کنید، نه از قبل. بیشتر بدانید

    5. دامنه‌های مجاز: برای محافظت از شما و کاربرانتان، Google فقط به برنامه‌هایی که با استفاده از OAuth احراز هویت می‌شوند اجازه استفاده از دامنه‌های مجاز را می‌دهد. پیوندهای برنامه های شما باید در دامنه های مجاز میزبانی شوند. بیشتر بدانید .

    6. پیوند صفحه اصلی برنامه: در صفحه ورود به سیستم با رضایت Google و اطلاعات سلب مسئولیت مطابق با GDPR با یک ضربه در زیر دکمه "ادامه به عنوان" نشان داده می شود. باید در یک دامنه مجاز میزبانی شود.

    7. پیوند خط‌مشی رازداری برنامه: در صفحه ورود به سیستم با رضایت Google و اطلاعات سلب مسئولیت مطابق با GDPR با یک ضربه در زیر دکمه «ادامه به‌عنوان» نشان داده می‌شود. باید در یک دامنه مجاز میزبانی شود.

    8. پیوند شرایط خدمات برنامه (اختیاری): در صفحه ورود به سیستم با رضایت Google و اطلاعات سلب مسئولیت مطابق با GDPR با یک ضربه در زیر دکمه "ادامه به عنوان" نشان داده می شود. باید در یک دامنه مجاز میزبانی شود.

  4. «وضعیت تأیید» را علامت بزنید، اگر برنامه شما نیاز به تأیید دارد، روی دکمه «ارسال برای تأیید» کلیک کنید تا درخواست خود را برای تأیید ارسال کنید. برای جزئیات به الزامات تأیید OAuth مراجعه کنید.

نمایش تنظیمات OAuth در حین ورود به سیستم

یک ضربه با استفاده از FedCM

تنظیمات رضایت OAuth همانطور که توسط Chrome One Tap با استفاده از FedCM نمایش داده می شود

دامنه مجاز سطح بالا در هنگام رضایت کاربر در Chrome نمایش داده می شود.

یک ضربه بدون FedCM

تنظیمات رضایت OAuth همانطور که با یک ضربه نمایش داده می شود

نام برنامه در هنگام رضایت کاربر نمایش داده می شود.

شکل 1. تنظیمات رضایت OAuth که توسط One Tap در Chrome نمایش داده می شود.

خط مشی امنیت محتوا

در حالی که اختیاری است، یک خط مشی امنیتی محتوا برای ایمن سازی برنامه شما و جلوگیری از حملات اسکریپت بین سایتی (XSS) توصیه می شود. برای کسب اطلاعات بیشتر، به مقدمه ای بر CSP و CSP و XSS مراجعه کنید.

خط‌مشی امنیتی محتوای شما ممکن است شامل یک یا چند دستورالعمل باشد، مانند connect-src ، frame-src ، script-src ، style-src ، یا default-src .

اگر CSP شما شامل موارد زیر است:

  • دستورالعمل connect-src ، https://accounts.google.com/gsi/ را اضافه کنید تا به صفحه اجازه دهید URL والد را برای نقاط پایانی سرویس های هویت Google بارگیری کند.
  • دستورالعمل frame-src ، https://accounts.google.com/gsi/ را اضافه کنید تا URL والد iframe های دکمه One Tap and Sign With Google را مجاز کنید.
  • دستورالعمل script-src ، https://accounts.google.com/gsi/client را اضافه کنید تا URL کتابخانه جاوا اسکریپت خدمات هویت Google مجاز شود.
  • دستورالعمل style-src ، https://accounts.google.com/gsi/style را اضافه کنید تا نشانی اینترنتی صفحات سبک خدمات هویت Google مجاز شود.
  • دستورالعمل default-src ، اگر استفاده می شود، اگر هر یک از دستورالعمل های قبلی ( connect-src ، frame-src ، script-src ، یا style-src ) مشخص نشده باشد، یک نسخه بازگشتی است، https://accounts.google.com/gsi/ اضافه کنید. https://accounts.google.com/gsi/ برای اجازه دادن به صفحه برای بارگیری URL والد برای سرویس‌های هویت Google در سمت سرور.

هنگام استفاده از connect-src از فهرست کردن URL های GIS منفرد خودداری کنید. این کمک می کند تا خرابی ها هنگام به روز رسانی GIS به حداقل برسد. برای مثال، به‌جای افزودن https://accounts.google.com/gsi/status از نشانی اینترنتی والد GIS https://accounts.google.com/gsi/ استفاده کنید.

این هدر پاسخ نمونه به سرویس‌های هویت گوگل اجازه می‌دهد تا با موفقیت بارگیری و اجرا شوند:

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/;

خط مشی بازکننده Cross Origin

برای ایجاد موفقیت آمیز پنجره های بازشو، ممکن است دکمه ورود با Google و Google One Tap به تغییراتی در Cross-Origin-Opener-Policy (COOP) شما نیاز داشته باشد.

هنگامی که FedCM فعال است، مرورگر مستقیماً پنجره های بازشو ارائه می دهد و هیچ تغییری لازم نیست.

با این حال، هنگامی که FedCM غیرفعال است، هدر COOP را تنظیم کنید:

  • به same-origin و
  • شامل same-origin-allow-popups .

تنظیم نکردن هدر مناسب ارتباط بین پنجره ها را قطع می کند و منجر به یک پنجره بازشو خالی یا باگ های مشابه می شود.

،

قبل از افزودن ورود به سیستم با Google، یک ضربه یا ورود خودکار به وب سایت خود، پیکربندی OAuth خود را تنظیم کرده و به صورت اختیاری خط مشی امنیتی محتوای سایت خود را پیکربندی کنید.

شناسه سرویس گیرنده Google API خود را دریافت کنید

برای فعال کردن ورود به سیستم با Google در وب سایت خود، ابتدا باید شناسه سرویس گیرنده Google API خود را تنظیم کنید. برای این کار مراحل زیر را انجام دهید:

  1. صفحه اعتبارنامه کنسول Google APIs را باز کنید.
  2. یک پروژه Google APIs ایجاد یا انتخاب کنید. اگر قبلاً پروژه‌ای برای دکمه ورود با Google یا Google One Tap دارید، از پروژه موجود و شناسه مشتری وب استفاده کنید. هنگام ایجاد برنامه های تولید، ممکن است چندین پروژه لازم باشد، مراحل باقی مانده این بخش را برای هر پروژه ای که مدیریت می کنید تکرار کنید.
  3. روی Create credentials > OAuth client ID کلیک کنید و برای Application type ، Web application را انتخاب کنید تا شناسه مشتری جدید ایجاد شود. برای استفاده از شناسه مشتری موجود، یکی از نوع برنامه های وب را انتخاب کنید.
  4. URI وب سایت خود را به مبدا مجاز جاوا اسکریپت اضافه کنید. URI فقط شامل طرح و نام میزبان کاملاً واجد شرایط است. به عنوان مثال، https://www.example.com .

  5. به صورت اختیاری، اعتبارنامه ها ممکن است با استفاده از تغییر مسیر به نقطه پایانی که میزبانی می کنید به جای پاسخ به تماس جاوا اسکریپت بازگردانده شوند. اگر اینطور است، URI های تغییر مسیر خود را به URI های تغییر مسیر مجاز مجاز اضافه کنید. URIهای تغییر مسیر شامل طرح، نام میزبان کاملاً واجد شرایط و مسیر هستند و باید با قوانین اعتبارسنجی Redirect URI مطابقت داشته باشند. به عنوان مثال، https://www.example.com/auth-receiver .

هر دو تأیید هویت با Google و One Tap شامل یک صفحه رضایت هستند که به کاربرانی که درخواست دسترسی به داده‌هایشان را درخواست می‌کنند، نوع داده‌هایی که از آنها درخواست می‌شود و شرایطی که اعمال می‌شود، می‌گوید.

  1. صفحه نمایش رضایت OAuth در بخش APIs & Services کنسول برنامه‌نویس Google را باز کنید.
  2. در صورت درخواست، پروژه ای را که ایجاد کرده اید انتخاب کنید.
  3. در صفحه «صفحه رضایت OAuth»، فرم را پر کنید و روی دکمه «ذخیره» کلیک کنید.

    1. نام برنامه: نام درخواستی که درخواست رضایت می کند. نام باید دقیقاً منعکس کننده برنامه شما باشد و با نام برنامه ای که کاربران در جاهای دیگر می بینند سازگار باشد.

    2. نشان‌واره برنامه: این تصویر روی صفحه رضایت نمایش داده می‌شود تا به کاربران کمک کند برنامه شما را تشخیص دهند. نشان‌واره در صفحه رضایت ورود به سیستم با Google و تنظیمات حساب نشان داده می‌شود، اما در گفتگو با یک ضربه نشان داده نمی‌شود.

    3. ایمیل پشتیبانی: در صفحه رضایت برای پشتیبانی کاربر و مدیران G Suite در حال ارزیابی دسترسی به برنامه شما برای کاربرانشان نشان داده می شود. وقتی کاربر روی نام برنامه کلیک می کند، این آدرس ایمیل در صفحه رضایت ورود به سیستم با Google به کاربران نشان داده می شود.

    4. Scopes for Google API: Scopes به برنامه شما اجازه می دهد تا به داده های خصوصی کاربر شما دسترسی داشته باشد. برای احراز هویت، محدوده پیش فرض (ایمیل، نمایه، openid) کافی است، نیازی به افزودن هیچ محدوده حساسی ندارید. به طور کلی بهترین روش این است که دامنه ها را به صورت تدریجی، در زمانی که دسترسی لازم است، درخواست کنید، نه از قبل. بیشتر بدانید

    5. دامنه‌های مجاز: برای محافظت از شما و کاربرانتان، Google فقط به برنامه‌هایی که با استفاده از OAuth احراز هویت می‌شوند اجازه استفاده از دامنه‌های مجاز را می‌دهد. پیوندهای برنامه های شما باید در دامنه های مجاز میزبانی شوند. بیشتر بدانید .

    6. پیوند صفحه اصلی برنامه: در صفحه ورود به سیستم با رضایت Google و اطلاعات سلب مسئولیت مطابق با GDPR با یک ضربه در زیر دکمه "ادامه به عنوان" نشان داده می شود. باید در یک دامنه مجاز میزبانی شود.

    7. پیوند خط‌مشی رازداری برنامه: در صفحه ورود به سیستم با رضایت Google و اطلاعات سلب مسئولیت مطابق با GDPR با یک ضربه در زیر دکمه «ادامه به‌عنوان» نشان داده می‌شود. باید در یک دامنه مجاز میزبانی شود.

    8. پیوند شرایط خدمات برنامه (اختیاری): در صفحه ورود به سیستم با رضایت Google و اطلاعات سلب مسئولیت مطابق با GDPR با یک ضربه در زیر دکمه "ادامه به عنوان" نشان داده می شود. باید در یک دامنه مجاز میزبانی شود.

  4. «وضعیت تأیید» را علامت بزنید، اگر برنامه شما نیاز به تأیید دارد، روی دکمه «ارسال برای تأیید» کلیک کنید تا درخواست خود را برای تأیید ارسال کنید. برای جزئیات به الزامات تأیید OAuth مراجعه کنید.

نمایش تنظیمات OAuth در حین ورود به سیستم

یک ضربه با استفاده از FedCM

تنظیمات رضایت OAuth همانطور که توسط Chrome One Tap با استفاده از FedCM نمایش داده می شود

دامنه مجاز سطح بالا در هنگام رضایت کاربر در Chrome نمایش داده می شود.

یک ضربه بدون FedCM

تنظیمات رضایت OAuth همانطور که با یک ضربه نمایش داده می شود

نام برنامه در هنگام رضایت کاربر نمایش داده می شود.

شکل 1. تنظیمات رضایت OAuth که توسط One Tap در Chrome نمایش داده می شود.

خط مشی امنیت محتوا

در حالی که اختیاری است، یک خط مشی امنیتی محتوا برای ایمن سازی برنامه شما و جلوگیری از حملات اسکریپت بین سایتی (XSS) توصیه می شود. برای کسب اطلاعات بیشتر، به مقدمه ای بر CSP و CSP و XSS مراجعه کنید.

خط‌مشی امنیتی محتوای شما ممکن است شامل یک یا چند دستورالعمل باشد، مانند connect-src ، frame-src ، script-src ، style-src ، یا default-src .

اگر CSP شما شامل موارد زیر است:

  • دستورالعمل connect-src ، https://accounts.google.com/gsi/ را اضافه کنید تا به صفحه اجازه دهید URL والد را برای نقاط پایانی سرویس های هویت Google بارگیری کند.
  • دستورالعمل frame-src ، https://accounts.google.com/gsi/ را اضافه کنید تا URL والد iframe های دکمه One Tap and Sign With Google را مجاز کنید.
  • دستورالعمل script-src ، https://accounts.google.com/gsi/client را اضافه کنید تا URL کتابخانه جاوا اسکریپت خدمات هویت Google مجاز شود.
  • دستورالعمل style-src ، https://accounts.google.com/gsi/style را اضافه کنید تا نشانی اینترنتی صفحات سبک خدمات هویت Google مجاز شود.
  • دستورالعمل default-src ، اگر استفاده می شود، اگر هر یک از دستورالعمل های قبلی ( connect-src ، frame-src ، script-src ، یا style-src ) مشخص نشده باشد، یک نسخه بازگشتی است، https://accounts.google.com/gsi/ اضافه کنید. https://accounts.google.com/gsi/ برای اجازه دادن به صفحه برای بارگیری URL والد برای سرویس‌های هویت Google در سمت سرور.

هنگام استفاده از connect-src از فهرست کردن URL های GIS منفرد خودداری کنید. این کمک می کند تا خرابی ها هنگام به روز رسانی GIS به حداقل برسد. برای مثال، به‌جای افزودن https://accounts.google.com/gsi/status از نشانی اینترنتی والد GIS https://accounts.google.com/gsi/ استفاده کنید.

این هدر پاسخ نمونه به سرویس‌های هویت گوگل اجازه می‌دهد تا با موفقیت بارگیری و اجرا شوند:

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/;

خط مشی بازکننده Cross Origin

برای ایجاد موفقیت آمیز پنجره های بازشو، ممکن است دکمه ورود با Google و Google One Tap به تغییراتی در Cross-Origin-Opener-Policy (COOP) شما نیاز داشته باشد.

هنگامی که FedCM فعال است، مرورگر مستقیماً پنجره های بازشو ارائه می دهد و هیچ تغییری لازم نیست.

با این حال، هنگامی که FedCM غیرفعال است، هدر COOP را تنظیم کنید:

  • به same-origin و
  • شامل same-origin-allow-popups .

تنظیم نکردن هدر مناسب ارتباط بین پنجره ها را قطع می کند و منجر به یک پنجره بازشو خالی یا باگ های مشابه می شود.