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

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

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

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

  1. کلید iOS API را برای پروژه خود در صفحه اعتبارنامه ها در بخش APIs & Services کنسول Google Cloud جستجو کنید.

  2. در ساخت اشکال‌زدایی، App Check را برای استفاده از ارائه‌دهنده اشکال‌زدایی پیکربندی کنید. باید کلید API را که در مرحله قبل گرفتید مشخص کنید.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    
  3. برنامه را راه اندازی کنید. هنگامی که SDK سعی می کند درخواستی را به باطن ارسال کند، یک نشانه اشکال زدایی محلی در کنسول Xcode ثبت می شود. مثلا:

    <Warning> [AppCheckCore][I-GAC004001] App Check debug token:
    '123a4567-b89c-12d3-e456-789012345678'.
    
  4. در بخش بررسی برنامه کنسول Firebase، مدیریت نشانه‌های اشکال زدایی را از منوی سرریز برنامه خود انتخاب کنید. سپس، رمز اشکال زدایی را که در مرحله قبل وارد کرده اید، ثبت کنید.

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

پس از ثبت توکن، نقاط پایانی OAuth 2.0 Google آن را برای پروژه شما معتبر می‌پذیرد.

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

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

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

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

    از آنجایی که این توکن امکان دسترسی به نقاط پایانی auth شما را بدون دستگاه معتبر فراهم می کند، مهم است که آن را خصوصی نگه دارید. آن را به یک مخزن عمومی متعهد نکنید و اگر یک توکن ثبت شده در معرض خطر قرار گرفت، بلافاصله آن را در کنسول 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. کلید iOS API را برای پروژه خود در صفحه اعتبارنامه ها در بخش APIs & Services کنسول Google Cloud جستجو کنید.

  7. در ساخت اشکال‌زدایی، App Check را برای استفاده از ارائه‌دهنده اشکال‌زدایی پیکربندی کنید. باید کلید API را که در مرحله قبل گرفتید مشخص کنید.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    

هنگامی که برنامه شما در یک محیط CI اجرا می شود، نقاط پایانی OAuth 2.0 Google رمز ارسالی را به عنوان معتبر برای پروژه شما می پذیرد.