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

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

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

قبل از اینکه شروع کنی

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

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

۲. شیء ارائه دهنده App Check را ایجاد کنید

یک شیء ارائه‌دهنده App Check برای ارائه‌دهنده سفارشی خود ایجاد کنید. این شیء باید دارای یک متد getToken() باشد که هر اطلاعاتی را که ارائه‌دهنده سفارشی App Check شما به عنوان اثبات اصالت نیاز دارد، جمع‌آوری می‌کند و آن را در ازای دریافت یک توکن App Check به سرویس دریافت توکن شما ارسال می‌کند. App Check SDK ذخیره‌سازی توکن را مدیریت می‌کند، بنابراین همیشه در پیاده‌سازی getToken() خود یک توکن جدید دریافت کنید.

Web

import { CustomProvider } from "firebase/app-check";

const appCheckCustomProvider = new CustomProvider({
  getToken: () => {
    return new Promise((resolve, _reject) => {
      // TODO: Logic to exchange proof of authenticity for an App Check token and
      // expiration time.

      // ...

      const appCheckToken = {
        token: tokenFromServer,
        expireTimeMillis: expirationFromServer * 1000
      };

      resolve(appCheckToken);
    });
  }
});

Web

const appCheckCustomProvider = {
  getToken: () => {
    return new Promise((resolve, _reject) => {
      // TODO: Logic to exchange proof of authenticity for an App Check token and
      // expiration time.

      // ...

      const appCheckToken = {
        token: tokenFromServer,
        expireTimeMillis: expirationFromServer * 1000
      };

      resolve(appCheckToken);
    });
  }
};

۳. App Check

قبل از دسترسی به هرگونه سرویس Firebase، کد اولیه‌سازی زیر را به برنامه خود اضافه کنید:

Web

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

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

const appCheck = initializeAppCheck(app, {
  provider: appCheckCustomProvider,

  // 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();
appCheck.activate(
  appCheckCustomProvider,

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