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

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

توجه داشته باشید که App Check از کلیدهای سایت مبتنی بر امتیاز reCAPTCHA Enterprise استفاده می کند که آن را برای کاربران نامرئی می کند. ارائه‌دهنده reCAPTCHA Enterprise کاربران را ملزم به حل یک چالش در هر زمانی نخواهد کرد.

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

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

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

  2. بخش reCAPTCHA Enterprise را در کنسول Cloud باز کنید و کارهای زیر را انجام دهید:

    1. اگر از شما خواسته شد که reCAPTCHA Enterprise API را فعال کنید، این کار را انجام دهید.
    2. یک کلید نوع وب سایت ایجاد کنید. باید دامنه‌هایی را مشخص کنید که برنامه وب خود را روی آنها میزبانی می‌کنید. گزینه «استفاده از چالش باکس» را بدون انتخاب رها کنید.
  3. برنامه های خود را برای استفاده از App Check با ارائه دهنده reCAPTCHA Enterprise در بخش App Check کنسول Firebase ثبت کنید. شما باید کلید سایتی را که در مرحله قبل دریافت کرده اید ارائه دهید.

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

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

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

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

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

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

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

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

Web

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

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

// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to initializeAppCheck().
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaEnterpriseProvider(/* reCAPTCHA Enterprise site key */),
  isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh.
});

Web

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

// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to activate().
const appCheck = firebase.appCheck();
appCheck.activate(
  new firebase.appCheck.ReCaptchaEnterpriseProvider(
    /* reCAPTCHA Enterprise site key */
  ),
  true // Set to true to allow auto-refresh.
);

مراحل بعدی

هنگامی که کتابخانه 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 با ارائه دهنده اشکال زدایی در برنامه های وب مراجعه کنید.

توجه به هزینه

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

به‌طور پیش‌فرض، برنامه وب شما هر ۱ ساعت دو بار این نشانه را بازخوانی می‌کند. برای کنترل تعداد دفعات بازخوانی نشانه‌های App Check (و در نتیجه تعداد دفعات ایجاد ارزیابی‌های جدید)، TTL آنها را پیکربندی کنید .