شروع به استفاده از App Check for Google Sign-in در iOS کنید

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

App Check از App Attest برای کمک به تأیید اینکه درخواست‌های OAuth 2.0 از برنامه معتبر شما می‌آیند استفاده می‌کند. App Check از App Attest برای تجزیه و تحلیل خطر تقلب استفاده نمی کند.

قبل از شروع

  1. مطمئن شوید که Xcode 12.5 یا جدیدتر دارید.

  2. Google Sign-in را با استفاده از کتابخانه Google Sign-in در برنامه iOS خود ادغام کنید.

1. پروژه خود را تنظیم کنید

App Check را می توان در آن فعال کردGoogle API Console یا در کنسول Firebase . لازم نیست آن را در هر دو مکان فعال کنید، فقط یکی کافی است.

Google API Console

برای فعال کردن موفقیت آمیز App Check برای سرویس گیرنده iOS خود، شرایط زیر باید رعایت شود:
  • باید یک شناسه تیم برای کلاینت iOS خود مشخص کنید.
  • شما نباید از علامت عام در شناسه بسته خود استفاده کنید زیرا می تواند به بیش از یک برنامه حل شود. این بدان معناست که ID بسته نباید دارای علامت ستاره (*) باشد.
برای فعال کردن «بررسی برنامه»، دکمه جابجایی «بررسی برنامه Firebase» را در نمای ویرایش کلاینت iOS خود، «محافظت از سرویس گیرنده OAuth از سوء استفاده» را روشن کنید.

پس از فعال کردن بررسی برنامه، معیارهای مربوط به درخواست های OAuth از مشتری خود را در نمای ویرایش مشتری OAuth مشاهده خواهید کرد. درخواست‌های منابع تأیید نشده مسدود نمی‌شوند تا زمانی که بررسی برنامه را اجرا نکنید. اطلاعات موجود در صفحه نظارت بر معیارها می تواند به شما در تعیین زمان شروع اجرا کمک کند.

هنگام فعال کردن بررسی برنامه برای برنامه iOS خود، ممکن است خطاهای مربوط به ویژگی بررسی برنامه را مشاهده کنید. برای رفع این خطاها، موارد زیر را امتحان کنید:

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

کنسول Firebase

  1. برای استفاده از App Check با Google Sign-in باید یک پروژه Firebase داشته باشید.

    • اگر برنامه شما قبلاً از Firebase استفاده می کند، از همان پروژه استفاده کنید.

    • اگر برنامه شما از Google Sign-in استفاده می‌کند، اما از Firebase استفاده نمی‌کند، شما از قبل یک پروژه Google Cloud دارید. هنگامی که یک پروژه جدید در کنسول Firebase ایجاد می کنید، Firebase را با انتخاب آن به پروژه Google Cloud خود اضافه کنید.

      همچنین ببینید: رابطه بین پروژه های Firebase و Google Cloud

  2. اگر قبلاً این کار را نکرده‌اید، برنامه‌های iOS خود را با استفاده از صفحه تنظیمات پروژه کنسول Firebase به پروژه Firebase خود اضافه کنید.

  3. برنامه های خود را برای استفاده از App Check با ارائه دهنده App Attest در بخش App Check کنسول Firebase ثبت کنید.

  4. مطمئن شوید که همه مشتریان OAuth پروژه شما به یک برنامه مرتبط هستند.

    اگر کلاینت‌های بدون پیوند دارید، پیامی را در بخش «شناسه Google برای iOS» در صفحه «بررسی برنامه» می‌بینید که می‌گوید: «شما n کلاینت OAuth بدون پیوند دارید که به تنظیمات بیشتری نیاز دارند».

    بعلاوه، اگر برخی از سرویس گیرندگان OAuth را پس از تنظیم آن ها در بررسی برنامه حذف کرده باشید، پیامی را مشاهده خواهید کرد که می گوید: "شما n بازنویسی دارید بدون مشتری OAuth منطبق". می‌توانید با حذف آن موارد لغو، با خیال راحت پاکسازی کنید.

    می‌توانید در صفحه مشتریان OAuth کنسول Firebase، کلاینت‌های بدون پیوند را به یک برنامه موجود یا جدید پیوند دهید.

2. کتابخانه Google Sign-in را به برنامه خود اضافه کنید

  1. در پروژه Xcode خود، وابستگی Google Sign-in را روی نسخه 8.0.0 یا بالاتر تنظیم کنید:

    SPM

    قانون وابستگی googlesignin-ios را روی نسخه 8.0.0 یا بالاتر تنظیم کنید.

    CocoaPods

    Podfile خود را به روز کنید:

    source 'https://github.com/CocoaPods/Specs.git'
    source 'https://github.com/firebase/SpecsDev.git'
    
    target 'YourAppName' do
      use_frameworks!
    
      pod 'GoogleSignIn','~> 8.0'
          :git => 'https://github.com/google/GoogleSignIn-iOS.git'
      pod 'GoogleSignInSwiftSupport'  # If you use SwiftUI.
    end
    

    سپس، pod install اجرا کنید و فایل .xcworkspace ایجاد شده را باز کنید.

  2. در Xcode، قابلیت App Attest را به برنامه خود اضافه کنید.

  3. در فایل .entitlements پروژه خود، محیط App Attest را روی production تنظیم کنید.

3. App Check را اولیه کنید

در روش didFinishLaunchingWithOptions نماینده برنامه شما، GIDSignIn.sharedInstance.configure(completion:) را فراخوانی کنید. شما باید این روش را هرچه زودتر در چرخه عمر برنامه خود فراخوانی کنید تا تأخیر درک شده توسط کاربر را به حداقل برسانید.

import SwiftUI
import GoogleSignIn

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
  ) -> Bool {
    #if targetEnvironment(simulator)
    // Configure for debugging.
    // See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
    #else
    GIDSignIn.sharedInstance.configure { error in
      if let error {
        print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
      }
    }
    #endif

    return true
  }
}

@main
struct YourAppNameApp: App {
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  // ...
}

مراحل بعدی

هنگامی که کتابخانه App Check در برنامه شما نصب شد، شروع به توزیع برنامه به روز شده بین کاربران خود کنید.

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

معیارها را پایش کنید

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

برای کمک به این تصمیم، می‌توانید به معیارهای بررسی برنامه برای ورود به سیستم Google نگاه کنید.

اجرای بررسی برنامه را فعال کنید

وقتی متوجه شدید که بررسی برنامه چگونه بر کاربران شما تأثیر می گذارد و آماده ادامه کار هستید، می توانید اجرای بررسی برنامه را فعال کنید .

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

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

به استفاده از بررسی برنامه با ارائه دهنده اشکال زدایی مراجعه کنید.