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

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

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

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

  1. در ساخت اشکال‌زدایی، قبل از استفاده از خدمات باطنی Firebase، کارخانه ارائه‌دهنده اشکال‌زدایی App Check ایجاد و تنظیم کنید:

    سویفت

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    هدف-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. ورود اشکال زدایی را در پروژه Xcode خود (نسخه 11.0 یا جدیدتر) فعال کنید:

    1. محصول > طرح > طرح ویرایش را باز کنید.
    2. از منوی سمت چپ Run را انتخاب کنید و سپس تب Arguments را انتخاب کنید.
    3. در بخش Arguments Passed on Launch ، -FIRDebugEnabled اضافه کنید.
  3. برنامه را راه اندازی کنید. هنگامی که SDK سعی می کند درخواستی را به باطن ارسال کند، یک نشانه اشکال زدایی محلی ثبت می شود. به عنوان مثال:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. در بخش App Check کنسول Firebase ، مدیریت نشانه‌های اشکال زدایی را از منوی سرریز برنامه خود انتخاب کنید. سپس، رمز اشکال زدایی را که در مرحله قبل وارد کرده اید، ثبت کنید.

    اسکرین شات آیتم منوی Manage Debug Tokens

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

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

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

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

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

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

    اسکرین شات آیتم منوی Manage Debug Tokens

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

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

  4. در Xcode، یک متغیر محیطی با نام FIRAAppCheckDebugToken و چیزی شبیه $(APP_CHECK_DEBUG_TOKEN) به طرح آزمایشی خود اضافه کنید.

  5. اسکریپت آزمایشی CI خود را پیکربندی کنید تا رمز اشکال زدایی را به عنوان یک متغیر محیطی ارسال کند. به عنوان مثال:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. در ساخت اشکال‌زدایی، قبل از استفاده از خدمات باطنی Firebase، کارخانه ارائه‌دهنده اشکال‌زدایی App Check ایجاد و تنظیم کنید:

    سویفت

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    هدف-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

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