این صفحه به شما نشان میدهد که چگونه App Check را در یک برنامه Apple بااستفاده از ارائهدهنده DeviceCheck داخلی فعال کنید. وقتی App Check را فعال میکنید، کمک میکنید مطمئن شوید که فقط برنامه شما میتواند به منابع Firebase پروژهتان دسترسی داشته باشد. نمای کلی این ویژگی را ببینید.
اگر میخواهید از App Check با ارائهدهنده سفارشی خودتان استفاده کنید، پیادهسازی ارائهدهنده App Check سفارشی را ببینید.
۱. راهاندازی پروژه Firebase
اگر قبلاً این کار را نکردهاید، Firebase را به پروژه Apple خود اضافه کنید.
در سایت توسعهدهنده Apple، کلید خصوصی DeviceCheck ایجاد کنید.
در کنسول Firebase، به امنیت > بررسی برنامه بروید.
در برگه برنامهها، برنامههایتان را ثبت کنید تا از App Check با ارائهدهنده DeviceCheck استفاده کنید. باید کلید خصوصیای را که در سایت توسعهدهنده Apple ایجاد کردهاید ارائه دهید.
معمولاً باید همه برنامههای پروژهتان را ثبت کنید، زیرا وقتی اجرا را برای محصول Firebase فعال میکنید، فقط برنامههای ثبتشده میتوانند به منابع باطن محصول دسترسی داشته باشند.
اختیاری: زمان بقای (TTL) کد را تنظیم کنید.
در تنظیمات ثبت برنامه، زمان زندگی (TTL) سفارشی برای نشانهای App Check صادرشده توسط ارائهدهنده تنظیم کنید. میتوانید TTL را روی هر مقداری بین ۳۰ دقیقه و ۷ روز تنظیم کنید. هنگام تغییر این مقدار، به مبادلههای زیر توجه داشته باشید:
- امنیت: TTL کوتاهتر امنیت قویتری را فراهم میکند، زیرا پنجرهای را که در آن یک توکن لو رفته یا رهگیریشده میتواند توسط یک مهاجم مورد سوءاستفاده قرار گیرد، کاهش میدهد.
- عملکرد: TTL کوتاهتر بهمعنای این است که برنامه شما تصدیق را بهدفعات بیشتری انجام خواهد داد. ازآنجاییکه فرایند تصدیق برنامه هربار که اجرا میشود به درخواستهای شبکه تأخیر اضافه میکند، TTL کوتاه میتواند بر عملکرد برنامهتان تأثیر بگذارد.
- سهمیه و هزینه: TTLهای کوتاهتر و گواهی مجدد مکرر سهمیه شما را سریعتر تمام میکند و برای سرویسهای پولی، احتمالاً هزینه بیشتری دارد. سهمیهها و محدودیتها را ببینید.
TTL پیشفرض ۱ ساعت برای اکثر برنامهها مناسب است. توجه داشته باشید که کتابخانه App Check ژتونها را تقریباً در نیمی از مدت TTL بازآوری میکند.
۲. کتابخانه App Check را به برنامهتان اضافه کنید
از Swift Package Manager برای نصب و مدیریت وابستگیهای Firebase استفاده کنید.
در Xcode، درحالیکه پروژه برنامهتان باز است، به File > Add Packages بروید، مخزن کیت توسعه نرمافزار Firebase برای پلاتفرمهای Apple (
https://github.com/firebase/firebase-ios-sdk) را اضافه کنید، و کتابخانه FirebaseAppCheck را انتخاب کنید.
مراحل بعدی
پساز نصب کتابخانه App Check در برنامهتان، توزیع برنامه بهروزشده را برای کاربرانتان شروع کنید.
برنامه کارخواه بهروزشده شروع به ارسال کردن کدهای App Check بههمراه هر درخواستی که به Firebase ارسال میکند خواهد کرد، اما محصولات Firebase تا زمانی که اجرای اجباری را در بخش App Check کنسول Firebase فعال نکنید، نیازی به معتبر بودن کدها نخواهند داشت.
پایش سنجهها و فعال کردن اجرا
بااینحال، قبلاز فعال کردن اجرای اجباری، باید مطمئن شوید که این کار باعث اختلال در کاربران قانونی فعلی شما نمیشود. ازسوی دیگر، اگر شاهد استفاده مشکوک از منابع برنامهتان هستید، شاید بخواهید زودتر اجبار را فعال کنید.
برای کمک به گرفتن این تصمیم، میتوانید به سنجههای App Check برای سرویسهایی که استفاده میکنید نگاه کنید:
- سنجههای درخواست App Check را برای Firebase AI Logic، SQL Connect، Realtime Database، Cloud Firestore، Cloud Storage، Authentication، Google Identity برای iOS، Maps JavaScript API، و Places API (جدید) پایش کنید.
- سنجههای درخواست App Check را برای Cloud Functions پایش کنید.
فعال کردن اجرای App Check
وقتی متوجه شدید که App Check چه تأثیری بر کاربران شما خواهد داشت و آماده ادامه دادن بودید، میتوانید اجرای App Check را فعال کنید:
- اجرای App Check را برای Firebase AI Logic، SQL Connect، Realtime Database، Cloud Firestore، Cloud Storage، Authentication، Google Identity for iOS، Maps JavaScript API، و Places API (New) فعال کنید.
- اجرای App Check برای Cloud Functions فعال شود.
استفاده از App Check در محیطهای اشکالزدایی
اگر پساز ثبت برنامه برای App Check، بخواهید برنامهتان را در محیطی اجرا کنید که App Check معمولاً آن را معتبر طبقهبندی نمیکند، مثلاً شبیهساز درطول توسعه، یا از محیط ادغام پیوسته (CI)، میتوانید ساخت اشکالزدایی از برنامهتان ایجاد کنید که بهجای ارائهدهنده گواهی واقعی از ارائهدهنده اشکالزدایی App Check استفاده میکند.
استفاده از App Check با ارائهدهنده اشکالزدایی در پلاتفرمهای Apple را ببینید.