این صفحه به شما نشان میدهد که چگونه App Check را در یک برنامه Flutter با استفاده از ارائهدهندگان پیشفرض فعال کنید: Play Integrity در اندروید، Device Check در پلتفرمهای اپل و reCAPTCHA نسخه ۳ در وب. وقتی App Check را فعال میکنید، به شما اطمینان میدهیم که فقط برنامه شما میتواند به منابع Firebase پروژه شما دسترسی داشته باشد. نمای کلی این ویژگی را ببینید.
۱. پروژه فایربیس خود را راهاندازی کنید
اگر قبلاً FlutterFire را نصب و راهاندازی نکردهاید، آن را راهاندازی کنید .
برنامههای خود را برای استفاده از App Check با ارائهدهندگان Play Integrity، Device Check و reCAPTCHA در بخش Project Settings > App Check کنسول Firebase ثبت کنید.
شما معمولاً باید تمام برنامههای پروژه خود را ثبت کنید، زیرا به محض اینکه اجرای قانون را برای یک محصول Firebase فعال کنید، فقط برنامههای ثبت شده میتوانند به منابع backend محصول دسترسی داشته باشند.
اختیاری : در تنظیمات ثبت برنامه، یک زمان ماندگاری (TTL) سفارشی برای توکنهای App Check صادر شده توسط ارائهدهنده تنظیم کنید. میتوانید TTL را روی هر مقداری بین 30 دقیقه تا 7 روز تنظیم کنید. هنگام تغییر این مقدار، به موارد زیر توجه داشته باشید:
- امنیت: TTL های کوتاه تر امنیت قوی تری را فراهم می کنند، زیرا بازه زمانی که یک توکن فاش شده یا رهگیری شده می تواند توسط یک مهاجم مورد سوء استفاده قرار گیرد را کاهش می دهند.
- عملکرد: هرچه TTL های کوتاهتر باشند، برنامه شما دفعات بیشتری عملیات تصدیق را انجام میدهد. از آنجایی که فرآیند تصدیق برنامه هر بار که انجام میشود، به درخواستهای شبکه تأخیر اضافه میکند، TTL کوتاه میتواند بر عملکرد برنامه شما تأثیر بگذارد.
- سهمیه و هزینه: TTL های کوتاه تر و تأیید مجدد مکرر، سهمیه شما را سریعتر تمام می کند و برای خدمات پولی، احتمالاً هزینه بیشتری دارد. به سهمیه ها و محدودیت ها مراجعه کنید.
مدت زمان پیشفرض TTL برای اکثر برنامهها معقول است. توجه داشته باشید که کتابخانه App Check تقریباً در نصف مدت زمان TTL، توکنها را بهروزرسانی میکند.
۲. کتابخانه App Check را به برنامه خود اضافه کنید
از ریشه پروژه Flutter خود، دستور زیر را برای نصب افزونه اجرا کنید:
flutter pub add firebase_app_checkپس از اتمام، برنامه Flutter خود را بازسازی کنید:
flutter run
۳. بررسی اولیه برنامه
کد مقداردهی اولیه زیر را به برنامه خود اضافه کنید تا قبل از استفاده از هرگونه سرویس Firebase مانند Storage و پس از فراخوانی Firebase.initializeApp() اجرا شود.
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
// Import the firebase_app_check plugin
import 'package:firebase_app_check/firebase_app_check.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await FirebaseAppCheck.instance.activate(
// You can also use a `ReCaptchaEnterpriseProvider` provider instance as an
// argument for `webProvider`
webProvider: ReCaptchaV3Provider('recaptcha-v3-site-key'),
// Default provider for Android is the Play Integrity provider. You can use the "AndroidProvider" enum to choose
// your preferred provider. Choose from:
// 1. Debug provider
// 2. Safety Net provider
// 3. Play Integrity provider
androidProvider: AndroidProvider.debug,
// Default provider for iOS/macOS is the Device Check provider. You can use the "AppleProvider" enum to choose
// your preferred provider. Choose from:
// 1. Debug provider
// 2. Device Check provider
// 3. App Attest provider
// 4. App Attest provider with fallback to Device Check provider (App Attest provider is only available on iOS 14.0+, macOS 14.0+)
appleProvider: AppleProvider.appAttest,
);
runApp(App());
}
مراحل بعدی
پس از نصب کتابخانه App Check در برنامه خود، شروع به توزیع برنامه بهروزرسانیشده بین کاربران خود کنید.
برنامه کلاینت بهروزرسانیشده، همراه با هر درخواستی که به Firebase ارسال میکند، شروع به ارسال توکنهای App Check میکند، اما محصولات Firebase تا زمانی که شما در بخش App Check کنسول Firebase، اجرای این کدها را فعال نکنید، نیازی به معتبر بودن آنها نخواهند داشت.
نظارت بر معیارها و فعال کردن اجرای آنها
با این حال، قبل از فعال کردن اجرای قانون، باید مطمئن شوید که انجام این کار، کاربران قانونی فعلی شما را مختل نمیکند. از طرف دیگر، اگر استفاده مشکوکی از منابع برنامه خود مشاهده میکنید، بهتر است زودتر اجرای قانون را فعال کنید.
برای کمک به تصمیمگیری، میتوانید به معیارهای App Check برای سرویسهایی که استفاده میکنید، نگاهی بیندازید:
- نظارت بر برنامه بررسی معیارهای درخواست برای پایگاه داده بلادرنگ، Cloud Firestore، Cloud Storage و احراز هویت.
- نظارت بر برنامه، بررسی معیارهای درخواست برای عملکردهای ابری .
فعال کردن اجرای بررسی برنامه
وقتی فهمیدید که App Check چگونه بر کاربران شما تأثیر میگذارد و آماده ادامه کار شدید، میتوانید اجرای App Check را فعال کنید:
- فعال کردن اجرای App Check برای پایگاه داده بلادرنگ، Cloud Firestore، Cloud Storage و احراز هویت.
- فعال کردن اجرای بررسی برنامه برای عملکردهای ابری .
استفاده از App Check در محیطهای اشکالزدایی
اگر پس از ثبت برنامه خود برای App Check، میخواهید برنامه خود را در محیطی اجرا کنید که App Check معمولاً آن را معتبر نمیداند، مانند یک شبیهساز در حین توسعه، یا از یک محیط ادغام مداوم (CI)، میتوانید یک نسخه اشکالزدایی از برنامه خود ایجاد کنید که از ارائهدهنده اشکالزدایی App Check به جای یک ارائهدهنده گواهی واقعی استفاده میکند.
به بخش «استفاده از بررسی برنامه با ارائهدهنده اشکالزدایی در برنامههای فلاتر» مراجعه کنید.