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

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

از ارائه دهنده اشکال زدایی در localhost استفاده کنید

برای استفاده از ارائه‌دهنده‌ی اشکال‌زدایی هنگام اجرای برنامه از localhost (مثلاً در طول توسعه)، موارد زیر را انجام دهید:

  1. در ساخت اشکال‌زدایی خود، قبل از مقداردهی اولیه App Check ، با تنظیم self.FIREBASE_APPCHECK_DEBUG_TOKEN به true حالت اشکال‌زدایی را فعال کنید. برای مثال:

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    firebase.appCheck().activate(/* site key or provider */);
    
  2. به صورت محلی از برنامه وب خود بازدید کنید و ابزار توسعه‌دهنده مرورگر را باز کنید. در کنسول اشکال‌زدایی، یک توکن اشکال‌زدایی مشاهده خواهید کرد:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.
  3. در بخش App Check در کنسول Firebase ، از منوی سرریز برنامه خود، گزینه مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens) را انتخاب کنید. سپس، توکن اشکال‌زدایی (debug token) که در مرحله قبل وارد کرده‌اید را ثبت کنید.

    تصویر از آیتم منوی مدیریت توکن‌های اشکال‌زدایی

پس از ثبت توکن، سرویس‌های بک‌اند فایربیس آن را به عنوان توکن معتبر می‌پذیرند.

از آنجا که این توکن امکان دسترسی به منابع Firebase شما را بدون دستگاه معتبر فراهم می‌کند، بسیار مهم است که آن را خصوصی نگه دارید. آن را در یک مخزن عمومی ثبت نکنید و اگر یک توکن ثبت شده به خطر افتاد، فوراً آن را در کنسول Firebase لغو کنید.

این توکن به صورت محلی در مرورگر شما ذخیره می‌شود و هر زمان که از برنامه خود در همان مرورگر روی همان دستگاه استفاده کنید، استفاده خواهد شد. اگر می‌خواهید از این توکن در مرورگر یا دستگاه دیگری استفاده کنید، به جای true ، مقدار self.FIREBASE_APPCHECK_DEBUG_TOKEN را روی رشته توکن تنظیم کنید.

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

برای استفاده از ارائه‌دهنده اشکال‌زدایی در یک محیط یکپارچه‌سازی مداوم (CI)، موارد زیر را انجام دهید:

  1. در بخش App Check در کنسول Firebase ، از منوی بالای برنامه، گزینه مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens) را انتخاب کنید. سپس، یک توکن اشکال‌زدایی جدید ایجاد کنید. در مرحله بعدی به این توکن نیاز خواهید داشت.

    از آنجا که این توکن امکان دسترسی به منابع Firebase شما را بدون دستگاه معتبر فراهم می‌کند، بسیار مهم است که آن را خصوصی نگه دارید. آن را در یک مخزن عمومی ثبت نکنید و اگر یک توکن ثبت شده به خطر افتاد، فوراً آن را در کنسول Firebase لغو کنید.

    تصویر از آیتم منوی مدیریت توکن‌های اشکال‌زدایی

  2. توکن اشکال‌زدایی که ایجاد کرده‌اید را به مخزن کلید امن سیستم CI خود اضافه کنید (برای مثال، اسرار رمزگذاری‌شده‌ی GitHub Actions یا متغیرهای رمزگذاری‌شده‌ی Travis CI).

  3. در صورت لزوم، سیستم CI خود را پیکربندی کنید تا توکن اشکال‌زدایی شما به عنوان یک متغیر محیطی در محیط CI در دسترس باشد. نام متغیر را چیزی مانند APP_CHECK_DEBUG_TOKEN_FROM_CI بگذارید.

  4. در ساخت اشکال‌زدایی خود، قبل از وارد کردن App Check ، با تنظیم self.FIREBASE_APPCHECK_DEBUG_TOKEN به مقدار متغیر محیطی debug token، حالت اشکال‌زدایی را فعال کنید. برای مثال:

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    firebase.appCheck().activate(/* site key or provider */);
    

وقتی برنامه شما در یک محیط CI اجرا می‌شود، سرویس‌های Backend فایربیس توکنی را که ارسال می‌کند به عنوان توکن معتبر می‌پذیرند.