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

انتخاب پلاتفرم: iOS+‎ Android‎ Web‎ 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 پیش‌فرض ۱ ساعت برای اکثر برنامه‌ها معقول است. توجه داشته باشید که کتابخانه App Check نشانه‌های دسترسی را تقریباً در نصف مدت زمان TTL بازآوری می‌کند.

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

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

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

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

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

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

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

۲. ‫App Check SDK را به برنامه‌تان اضافه کنید

برای نصب و مدیریت وابستگی‌های Firebase، از «مدیر بسته Swift» (SPM) استفاده کنید. اگر ازقبل از Firebase استفاده می‌کنید، مطمئن شوید بسته Firebase شما v12.17.0 یا جدیدتر باشد.

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

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

    1. به فایل > افزودن بسته‌ها پیمایش کنید.

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

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

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

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

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

  3. کتابخانه «سازمانی reCAPTCHA» را اضافه کنید:

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

    2. وقتی درخواست شد، مخزن «کیت توسعه نرم‌افزار سازمانی reCAPTCHA» را اضافه کنید:

      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 را بازآوری کند (و در نتیجه هر چند وقت یک‌بار ارزیابی‌های جدید ایجاد شود)، می‌توانید «زمان زنده بودن نشان» را پیکربندی کنید.