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

پس از اینکه App Check برای یک سرویس backend اجرا شد، ویژگی‌های برنامه شما که به آن سرویس backend وابسته هستند، از localhost یا از یک محیط یکپارچه‌سازی مداوم (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 ثبت کنید:

    1. در کنسول Firebase ، به تب Security > App Check > Apps بروید.

    2. برنامه‌ی خود را پیدا کنید، روی منوی سه‌نقطه‌ای ( ) کلیک کنید و سپس مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens ) را انتخاب کنید.

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

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

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

این توکن امکان دسترسی به سرویس‌های backend شما را بدون نیاز به دستگاه معتبر فراهم می‌کند، بنابراین بسیار مهم است که آن را خصوصی نگه دارید. آن را در یک مخزن عمومی قرار ندهید یا در نسخه‌های تولیدی برنامه خود ارسال نکنید. اگر یک توکن ثبت شده به خطر افتاد، فوراً آن را با استفاده از Manage debug tokens در کنسول Firebase حذف کنید.

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

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

در اینجا نحوه استفاده از ارائه دهنده اشکال زدایی در یک محیط ادغام مداوم (CI) آورده شده است:

  1. در کنسول Firebase ، یک توکن اشکال‌زدایی ایجاد کنید:

    1. در کنسول Firebase ، به تب Security > App Check > Apps بروید.

    2. برنامه‌ی خود را پیدا کنید، روی منوی سه‌نقطه‌ای ( ) کلیک کنید و سپس مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens ) را انتخاب کنید.

    3. برای ایجاد یک نشانه اشکال‌زدایی جدید، دستورالعمل‌های روی صفحه را دنبال کنید.

    این توکن امکان دسترسی به سرویس‌های backend شما را بدون نیاز به دستگاه معتبر فراهم می‌کند، بنابراین بسیار مهم است که آن را خصوصی نگه دارید. آن را در یک مخزن عمومی قرار ندهید یا در نسخه‌های تولیدی برنامه خود ارسال نکنید. اگر یک توکن ثبت شده به خطر افتاد، فوراً آن را با استفاده از Manage debug tokens در کنسول 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 شما توکنی را که ارسال می‌کند به عنوان توکن معتبر می‌پذیرند.