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

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

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

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

۱. پروژه فایربیس خود را راه‌اندازی کنید

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

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

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

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

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

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

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

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

وقتی کاربری از برنامه وب شما بازدید می‌کند، reCAPTCHA نسخه ۳ سطح ریسک تعامل کاربر را ارزیابی می‌کند و امتیازی بین ۰.۰ تا ۱.۰ برمی‌گرداند؛ ۱.۰ به احتمال زیاد یک تعامل خوب و ۰.۰ به احتمال زیاد یک ربات است. App Check به شما امکان می‌دهد آستانه ریسک برنامه را پیکربندی کنید تا بتوانید تحمل خود را برای این ریسک تنظیم کنید.

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

جزئیات

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

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

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

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

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

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

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

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