شروع کار با «بررسی برنامه» با reCAPTCHA Enterprise در پلاتفرم‌های Apple

انتخاب پلاتفرم: iOS+ Android وب Flutter


این صفحه به شما نشان می‌دهد که چگونه App Check را در برنامه پلاتفرم‌های Apple، بااستفاده از ارائه‌دهنده reCAPTCHA Enterprise راه‌اندازی کنید. App Check کمک می‌کند مطمئن شوید که فقط برنامه شما می‌تواند به منابع پسین پروژه‌تان دسترسی داشته باشد. برای کسب اطلاعات بیشتر، نمای کلی App Check ما را مرور کنید.

App Check به استفاده از کلیدهای reCAPTCHA مبتنی بر امتیاز نیاز دارد که آن را برای کاربران نامرئی می‌کند. این یعنی ارائه‌دهنده reCAPTCHA Enterprise هیچ‌گاه از کاربران نمی‌خواهد چالشی را حل کنند.

اگر مورد استفاده شما به ویژگی‌های reCAPTCHA Enterprise نیاز دارد که توسط App Check پیاده‌سازی نشده است، یا اگر می‌خواهید از App Check با ارائه‌دهنده سفارشی خودتان استفاده کنید، پیاده‌سازی ارائه‌دهنده سفارشی App Check را ببینید.

۱. راه‌اندازی پروژه Firebase

  1. اگر قبلاً این کار را نکرده‌اید، Firebase را به پروژه Apple خود اضافه کنید.

  2. در کنسول Google Cloud، به صفحه «دفاع دربرابر کلاهبرداری» بروید، و برای ارائه‌دهنده reCAPTCHA Enterprise کارهای زیر را انجام دهید:

    1. مطمئن شوید که در پروژه صحیح هستید (انتخاب‌گر پروژه را در بالای صفحه ببینید).

    2. اگر درخواست شد، reCAPTCHA Enterprise API را فعال کنید.

    3. کلیدی از نوع iOS ایجاد کنید و شناسه دسته نرم‌افزاری برنامه‌تان را مشخص کنید (برای مثال، com.example.my_app).

      • مطمئن شوید همان شناسه دسته نرم‌افزاری را وارد می‌کنید که هنگام ایجاد برنامه Firebase Apple در پروژه Firebase ارائه کردید. مقدار شناسه دسته نرم‌افزاری حروف‌حساس است.

      • برای App Check، هر شناسه دسته نرم‌افزاری فقط می‌تواند با یک کلید reCAPTCHA مطابقت داشته باشد.

      برای دستورالعمل‌های دقیق، ایجاد کلیدهای reCAPTCHA مبتنی بر امتیاز را ببینید.

    4. این کلید را یادداشت کنید. باید آن را به جریان ثبت‌نام در کنسول Firebase اضافه کنید.

  3. در کنسول Firebase، به امنیت > بررسی برنامه بروید.

  4. در برگه برنامه‌ها، برنامه‌های پلاتفرم Apple خود را ثبت کنید تا از App Check با ارائه‌دهنده reCAPTCHA Enterprise استفاده کنید. باید کلیدی را که در کنسول Google Cloud دریافت کرده‌اید ارائه دهید.

  5. اختیاری: زمان بقای (TTL) کد را تنظیم کنید.

    در تنظیمات ثبت برنامه، زمان سفارشی برای زندگی (TTL) را برای نشان‌های App Check صادرشده توسط ارائه‌دهنده تنظیم کنید. می‌توانید TTL را روی هر مقداری بین ۳۰ دقیقه و ۷ روز تنظیم کنید. هنگام تغییر این مقدار، به مبادله‌های زیر توجه داشته باشید:

    • امنیت: TTL کوتاه‌تر امنیت قوی‌تری را فراهم می‌کند، زیرا پنجره‌ای را که در آن یک توکن لو رفته یا رهگیری‌شده می‌تواند توسط یک مهاجم مورد سوءاستفاده قرار گیرد، کاهش می‌دهد.
    • عملکرد: TTL کوتاه‌تر به‌معنای این است که برنامه شما گواهی را به‌دفعات بیشتری انجام خواهد داد. ازآنجایی‌که فرایند تصدیق برنامه هربار که انجام می‌شود به درخواست‌های شبکه تأخیر اضافه می‌کند، TTL کوتاه می‌تواند بر عملکرد برنامه‌تان تأثیر بگذارد.
    • سهمیه و هزینه: TTL کوتاه‌تر و گواهی مجدد مکرر سهمیه شما را سریع‌تر تمام می‌کند و برای سرویس‌های پولی، احتمالاً هزینه بیشتری دارد. سهمیه‌ها و محدودیت‌ها را ببینید.

    TTL پیش‌فرض ۱ ساعت برای اکثر برنامه‌ها مناسب است. توجه داشته باشید که کتابخانه App Check ژتون‌ها را تقریباً در نیمی از مدت TTL بازآوری می‌کند.

  6. اختیاری: پیکربندی تنظیمات پیشرفته.

  7. روی ذخیره کردن کلیک کنید.

(اختیاری) پیکربندی تنظیمات پیشرفته

وقتی کاربر برنامه‌تان را باز می‌کند، reCAPTCHA Enterprise سطح ریسک تعامل کاربر را تحت کلید ارزیابی می‌کند و امتیازی بین ۰٫۰ و ۱٫۰ با افزایش‌های ۰٫۱ برمی‌گرداند.

  • امتیاز ۰٫۰ نشان می‌دهد که تعامل ریسک بالایی دارد و ممکن است کلاهبردارانه باشد.
  • امتیاز ۱٫۰ نشان می‌دهد که تعامل ریسک پایینی دارد و به احتمال زیاد قانونی است.

App Check به شما امکان می‌دهد آستانه خطر برنامه را پیکربندی کنید تا بتوانید تحمل خود را برای این خطر تنظیم کنید.

برای اکثر موارد استفاده، مقدار آستانه پیش‌فرض ۰٫۵ توصیه می‌شود. اگر مورد استفاده شما نیاز به تنظیم دارد، می‌توانید این مقدار را برای هریک از برنامه‌هایتان در کنسول Firebase پیکربندی کنید (به امنیت > بررسی برنامه بروید). حتماً برخی از ملاحظات مهم درباره پیکربندی آستانه خطر برنامه را در زیر ازهم باز کنید و مرور کنید.

۲. کیت توسعه نرم‌افزار App Check را به برنامه‌تان اضافه کنید

از Swift Package Manager (SPM) برای نصب و مدیریت وابستگی‌های Firebase استفاده کنید. اگر درحال‌حاضر از Firebase استفاده می‌کنید، مطمئن شوید بسته Firebase شما نسخه ۱۲.۱۷.۰ یا جدیدتر باشد.

  1. در Xcode، پروژه برنامه‌تان را باز کنید.

  2. کتابخانه Firebase را اضافه کنید:

    1. به File (فایل) > Add Packages (افزودن بسته‌ها) بروید.

    2. وقتی خواسته شد، مخزن کیت توسعه نرم‌افزار Firebase برای پلاتفرم‌های Apple را اضافه کنید:

      https://github.com/firebase/firebase-ios-sdk
      
    3. جدیدترین نسخه کیت توسعه نرم‌افزار (نسخه ۱۲.۱۷.۰ یا جدیدتر) را انتخاب کنید.

    4. کتابخانه FirebaseAppCheck را انتخاب کنید.

    5. روی افزودن بسته کلیک کنید. Xcode وابستگی‌ها را حل‌وفصل و بارگیری می‌کند.

    6. وقتی از شما خواسته شد، کتابخانه را به هدف برنامه‌تان اضافه کنید.

  3. کتابخانه reCAPTCHA Enterprise را اضافه کنید:

    1. به فایل > افزودن بسته‌ها برگردید

    2. وقتی درخواست شد، مخزن reCAPTCHA Enterprise SDK را اضافه کنید:

      https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdk
      
    3. کتابخانه RecaptchaEnterprise را انتخاب کنید.

    4. روی افزودن بسته کلیک کنید. وقتی از شما خواسته شد، کتابخانه را به هدف برنامه خود اضافه کنید.

۳. مقداردهی اولیه App Check

در برنامه‌تان، باید App Check را قبل‌از استفاده از هر سرویس Firebase دیگری مقداردهی اولیه کنید.

نمونه‌ای از RecaptchaProviderFactory ایجاد کنید، کلید reCAPTCHA خود را وارد کنید، و سپس App Check را برای استفاده از آن پیکربندی کنید:

let providerFactory = RecaptchaProviderFactory(siteKey: "SITE_KEY")
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

۴. پایش سنجه‌ها و فعال کردن اجرا

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

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

پایش سنجه‌ها

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

برای کمک به گرفتن این تصمیم، می‌توانید سنجه‌های App Check را برای سرویس‌هایی که استفاده می‌کنید مرور کنید:

فعال کردن اجرای App Check

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

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

App Check برخی‌از محیط‌ها را نامعتبر طبقه‌بندی می‌کند، مثل درخواست‌های ارسال‌شده از شبیه‌ساز / شبیه‌ساز سخت‌افزاری درطول توسعه یا از محیط ادغام مداوم (CI).

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

برای جزئیات بیشتر، استفاده از App Check با ارائه‌دهنده اشکال‌زدایی در پلاتفرم‌های Apple را ببینید.

قیمت‌گذاری

App Check هربار که برنامه‌تان کد App Check خود را بازآوری می‌کند، ارزیابی‌ای ازجانب شما ایجاد می‌کند تا کد پاسخ کاربر را درستی‌سنجی کند. برای هر ارزیابی ایجادشده فراتر از سهمیه رایگان، هزینه از پروژه Firebase شما کسر خواهد شد. برای جزئیات، قیمت‌گذاری reCAPTCHA را ببینید.

به‌طور پیش‌فرض، برنامه شما این توکن را دو بار در هر ۱ ساعت بازآوری می‌کند. برای کنترل کردن تعداد دفعات بازآوری ژتون‌های App Check توسط برنامه‌تان (و درنتیجه تعداد دفعات ایجاد ارزیابی‌های جدید)، می‌توانید TTL ژتون را پیکربندی کنید.