استفاده از App Check را با reCAPTCHA v3 در برنامه‌های وب شروع کنید

این صفحه به شما نشان می‌دهد که چگونه با استفاده از ارائه‌دهنده داخلی reCAPTCHA v3، App Check در یک برنامه وب فعال کنید. وقتی App Check فعال می‌کنید، مطمئن می‌شوید که فقط برنامه شما می‌تواند به منابع Firebase پروژه شما دسترسی داشته باشد. مروری بر این ویژگی را ببینید.

توجه داشته باشید که reCAPTCHA v3 برای کاربران نامرئی است. ارائه‌دهنده reCAPTCHA v3 در هر زمانی از کاربران نمی‌خواهد چالشی را حل کنند. به مستندات reCAPTCHA v3 مراجعه کنید.

اگر می‌خواهید از App Check با ارائه‌دهنده سفارشی خود استفاده کنید، به اجرای یک ارائه‌دهنده App Check سفارشی مراجعه کنید.

1. پروژه Firebase خود را راه اندازی کنید

  1. اگر قبلاً این کار را نکرده اید ، Firebase را به پروژه جاوا اسکریپت خود اضافه کنید .

  2. سایت خود را برای reCAPTCHA v3 ثبت کنید و کلید سایت reCAPTCHA v3 و کلید مخفی خود را دریافت کنید.

  3. برنامه‌های خود را برای استفاده از App Check با ارائه‌دهنده reCAPTCHA در بخش App Check کنسول Firebase ثبت کنید. شما باید کلید مخفی را که در مرحله قبل دریافت کرده اید ارائه دهید.

    معمولاً باید همه برنامه‌های پروژه خود را ثبت کنید، زیرا پس از فعال کردن اجرای یک محصول Firebase، فقط برنامه‌های ثبت‌شده می‌توانند به منابع پشتیبان محصول دسترسی پیدا کنند.

  4. اختیاری : در تنظیمات ثبت برنامه، یک زمان سفارشی (TTL) برای نشانه‌های App Check صادر شده توسط ارائه‌دهنده تنظیم کنید. می توانید TTL را روی هر مقداری بین 30 دقیقه تا 7 روز تنظیم کنید. هنگام تغییر این مقدار، به معاوضه های زیر توجه داشته باشید:

    • امنیت: TTL‌های کوتاه‌تر امنیت قوی‌تری را فراهم می‌کنند، زیرا پنجره‌ای را کاهش می‌دهد که در آن توکن لو رفته یا رهگیری شده توسط مهاجم مورد سوء استفاده قرار می‌گیرد.
    • عملکرد: TTLهای کوتاهتر به این معنی است که برنامه شما به دفعات بیشتری گواهی را انجام می دهد. از آنجایی که فرآیند تأیید برنامه هر بار که انجام می شود، تاخیر را به درخواست های شبکه اضافه می کند، یک TTL کوتاه می تواند بر عملکرد برنامه شما تأثیر بگذارد.
    • سهمیه و هزینه: TTLهای کوتاهتر و تأیید مجدد مکرر سهمیه شما را سریعتر از بین می برد و برای خدمات پولی، احتمالاً هزینه بیشتری دارد. به سهمیه ها و محدودیت ها مراجعه کنید.

    TTL پیش‌فرض ۱ روزه برای اکثر برنامه‌ها معقول است. توجه داشته باشید که کتابخانه App Check توکن ها را تقریباً در نیمی از مدت زمان TTL تازه می کند.

پیکربندی تنظیمات پیشرفته (اختیاری)

هنگامی که کاربر از برنامه وب شما بازدید می کند، reCAPTCHA v3 سطح ریسک تعامل کاربر را ارزیابی می کند و امتیازی بین 0.0 و 1.0 برمی گرداند. 1.0 به احتمال زیاد یک تعامل خوب است، 0.0 به احتمال زیاد یک ربات است. App Check به شما امکان می دهد آستانه خطر برنامه را پیکربندی کنید تا بتوانید تحمل خود را برای این خطر تنظیم کنید.

برای اکثر موارد استفاده، مقدار آستانه پیش فرض 0.5 توصیه می شود. اگر مورد استفاده شما نیاز به تنظیم دارد، می توان آن را در بخش App Check کنسول Firebase برای هر یک از برنامه های وب خود پیکربندی کرد.

جزئیات

App Check از آستانه خطر برنامه پیکربندی شده شما به عنوان حداقل امتیاز reCAPTCHA v3 مورد نیاز برای قانونی تلقی شدن تعامل کاربر استفاده می کند. همه امتیازات reCAPTCHA v3 به شدت کمتر از آستانه خطر برنامه پیکربندی‌شده شما رد می‌شوند. هنگام تنظیم آستانه خطر برنامه، به موارد زیر توجه داشته باشید:

  • برای نظارت بر توزیع امتیاز reCAPTCHA v3 برای برنامه وب خود، از کنسول مدیریت reCAPTCHA دیدن کنید و سایت مربوط به برنامه وب خود را انتخاب کنید.
  • اگر تحمل خطر برنامه کم است، نوار لغزنده را به سمت چپ حرکت دهید تا آستانه خطر برنامه افزایش یابد.

    • مقدار 1.0 توصیه نمی شود، زیرا این تنظیم می تواند به طور بالقوه دسترسی کاربران قانونی را که این آستانه اعتماد بالا را برآورده نمی کنند، رد کند.
  • اگر تحمل ریسک بالای برنامه دارید، نوار لغزنده را به سمت راست حرکت دهید تا آستانه خطر برنامه کاهش یابد.

    • مقدار 0.0 توصیه نمی شود، زیرا این تنظیم محافظت از سوء استفاده را غیرفعال می کند.

برای جزئیات بیشتر به مستندات reCAPTCHA v3 مراجعه کنید.

2. کتابخانه App Check به برنامه خود اضافه کنید

اگر قبلاً این کار را نکرده اید ، Firebase را به برنامه وب خود اضافه کنید . حتماً کتابخانه App Check وارد کنید.

3. App Check اولیه کنید

قبل از دسترسی به خدمات Firebase، کد اولیه زیر را به برنامه خود اضافه کنید. برای activate() باید کلید سایت reCAPTCHA خود را که در کنسول reCAPTCHA ایجاد کرده اید، ارسال کنید.

Web

import { initializeApp } from "firebase/app";
import { initializeAppCheck, ReCaptchaV3Provider } from "firebase/app-check";

const app = initializeApp({
  // Your firebase configuration object
});

// Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this
// key is the counterpart to the secret key you set in the Firebase console.
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaV3Provider('abcdefghijklmnopqrstuvwxy-1234567890abcd'),

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  isTokenAutoRefreshEnabled: true
});

Web

firebase.initializeApp({
  // Your firebase configuration object
});

const appCheck = firebase.appCheck();
// Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this
// key is the counterpart to the secret key you set in the Firebase console.
appCheck.activate(
  'abcdefghijklmnopqrstuvwxy-1234567890abcd',

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  true);

مراحل بعدی

هنگامی که کتابخانه App Check در برنامه شما نصب شد، آن را مستقر کنید.

برنامه کلاینت به‌روزرسانی‌شده، به همراه هر درخواستی که به Firebase می‌کند، نشانه‌های App Check را ارسال می‌کند، اما محصولات Firebase تا زمانی که اعمال را در بخش App Check کنسول Firebase فعال نکنید، نیازی به معتبر بودن توکن‌ها ندارند.

معیارها را رصد کنید و اجرا را فعال کنید

با این حال، قبل از فعال کردن اعمال، باید مطمئن شوید که انجام این کار باعث اختلال در کاربران قانونی فعلی شما نمی شود. از سوی دیگر، اگر استفاده مشکوک از منابع برنامه خود را مشاهده کردید، ممکن است بخواهید زودتر اجرای آن را فعال کنید.

برای کمک به این تصمیم، می‌توانید به معیارهای App Check برای سرویس‌هایی که استفاده می‌کنید نگاه کنید:

اجرای App Check فعال کنید

وقتی متوجه شدید که App Check چگونه بر کاربران شما تأثیر می گذارد و آماده ادامه کار هستید، می توانید اجرای App Check را فعال کنید:

از App Check در محیط های اشکال زدایی استفاده کنید

اگر بعد از اینکه برنامه خود را برای App Check ثبت کردید، می خواهید برنامه خود را در محیطی اجرا کنید که App Check معمولاً آن را به عنوان معتبر طبقه بندی نمی کند، مانند محلی در طول توسعه، یا از یک محیط یکپارچه سازی پیوسته (CI)، می توانید یک ساختار اشکال زدایی از برنامه خود ایجاد کنید که به جای ارائه دهنده گواهی واقعی از ارائه دهنده اشکال زدایی App Check استفاده می کند.

به استفاده از App Check با ارائه دهنده اشکال زدایی در برنامه های وب مراجعه کنید.