برای ایمن کردن کلید میانای API، از «بررسی برنامه» استفاده کنید
بررسی برنامه Firebase با مسدود کردن ترافیکی که از منابعی غیراز برنامههای قانونی میآید، از تماسهای برنامهتان با «پلاتفرم Google Maps» محافظت میکند. این کار را با بررسی وجود کد از ارائهدهنده گواهی مانند reCAPTCHA Enterprise انجام میدهد. ادغام کردن برنامههایتان با «بررسی برنامه» به محافظت دربرابر درخواستهای مخرب کمک میکند، بنابراین برای فراخوانیهای غیرمجاز API هزینهای از شما کسر نمیشود.
آیا «بررسی برنامه» برای من مناسب است؟
در اکثر موارد، «بررسی برنامه» توصیه میشود، اما در موارد زیر «بررسی برنامه» لازم نیست یا پشتیبانی نمیشود:
- برنامههای خصوصی یا آزمایشی. اگر برنامهتان بهطور عمومی دردسترس نیست، به App Check نیازی نیست.
- اگر برنامهتان فقط بهصورت سروربهسرور استفاده میشود، به «بررسی برنامه» نیازی نیست. بااینحال، اگر سروری که با GMP ارتباط برقرار میکند توسط کارخواهان عمومی (مانند برنامههای تلفن همراه) استفاده میشود، بهجای GMP، استفاده از «بررسی برنامه» را برای محافظت از آن سرور درنظر بگیرید.
نمای کلی مراحل پیادهسازی
در سطح بالا، اینها مراحلی هستند که برای ادغام برنامهتان با «بررسی برنامه» دنبال خواهید کرد:
- Firebase را به برنامهتان اضافه کنید.
- کتابخانه App Check را اضافه و مقداردهی اولیه کنید.
- ارائهدهنده رمزه را به برنامهتان اضافه کنید.
- میاناهای برنامهسازی کاربردی Maps JS و App Check را مقداردهی اولیه کنید.
- اشکالزدایی را فعال کنید.
- درخواستهای برنامهتان را پایش کنید و درباره اجرای آن تصمیم بگیرید.
پساز ادغام با App Check، میتوانید سنجههای ترافیک پسبخش را در کنسول Firebase ببینید. این سنجهها تفکیک درخواستها را براساس اینکه آیا با یک کد App Check معتبر همراه هستند یا نه ارائه میدهند. برای کسب اطلاعات بیشتر، به اسناد «بررسی برنامه Firebase» مراجعه کنید.
وقتی مطمئن شدید که اکثر درخواستها از منابع قانونی هستند و کاربران به جدیدترین نسخه برنامهتان که شامل پیادهسازی «بررسی برنامه» است بهروزرسانی کردهاند، میتوانید اجرای اجباری را روشن کنید. وقتی اجرا فعال شود، «بررسی برنامه» همه ترافیکهای بدون کد معتبر «بررسی برنامه» را رد خواهد کرد.
ملاحظات هنگام برنامهریزی برای یکپارچهسازی «بررسی برنامه»
در اینجا چند نکته برای درنظر گرفتن هنگام برنامهریزی برای ادغام آورده شده است:
- یکی از ارائهدهندگان گواهی که توصیه میکنیم، reCAPTCHA Enterprise، برای بیشاز ۱۰٬۰۰۰ ارزیابی در ماه هزینه دریافت میکند.
ارائهدهنده گواهی دیگری که توصیه میکنیم، reCAPTCHA نسخه ۳، سهمیهای دارد که پساز آن ترافیک ارزیابی نخواهد شد.
میتوانید از ارائهدهنده گواهی سفارشی استفاده کنید، هرچند این مورد استفاده پیشرفته است. برای اطلاعات بیشتر، به اسناد App Check مراجعه کنید.
-
کاربران برنامه شما هنگام راهاندازی با کمی تأخیر مواجه خواهند شد. بااینحال، پساز آن، هرگونه تأیید مجدد دورهای در پسزمینه انجام خواهد شد و کاربران دیگر نباید هیچ تأخیری را تجربه کنند. مقدار دقیق تأخیر در راهاندازی به ارائهدهنده گواهیای که انتخاب میکنید بستگی دارد.
مدت زمانی که کد App Check معتبر است (زمان بقا یا TTL) بسامد گواهی مجدد را تعیین میکند. این مدت را میتوان در کنسول Firebase پیکربندی کرد. تصدیق مجدد زمانی رخ میدهد که تقریباً نیمی از TTL سپری شده باشد. برای اطلاعات بیشتر، به اسناد Firebase برای ارائهدهنده گواهیتان مراجعه کنید.
ادغام کردن برنامه با «بررسی برنامه»
پیشنیازها و الزامات
- برنامهای با جدیدترین نسخه هفتگی یا فصلی Maps JS API و کتابخانههای Core بارشده.
- پروژه Cloud با Maps JS API فعالشده.
- باید مالک برنامه در Cloud Console باشید.
- به شناسه پروژه برنامه از «کنسول Cloud» نیاز خواهید داشت
مرحله ۱: Firebase را به برنامهتان اضافه کنید
دستورالعملهای موجود در اسناد توسعهدهنده Firebase را برای افزودن Firebase به برنامهتان دنبال کنید.
مرحله ۲: افزودن کتابخانه App Check و مقداردهی اولیه App Check
Firebase برای هر ارائهدهنده گواهی پیشفرض دستورالعملهایی ارائه میدهد. این دستورالعملها به شما نشان میدهند که چگونه پروژه Firebase راهاندازی کنید و کتابخانه «بررسی برنامه» را به برنامهتان اضافه کنید. برای مقداردهی اولیه «بررسی برنامه»، نمونه کدهای ارائهشده را دنبال کنید.
مرحله ۳: بار کردن کتابخانههای Maps JS API
کتابخانههای Maps و هسته را همانطور که در قطعه کد زیر نشان داده شده است بار کنید. برای اطلاعات و دستورالعملهای بیشتر، سند Maps JavaScript API را ببینید.
async function init() { const {Settings} = await google.maps.importLibrary('core'); const {Map} = await google.maps.importLibrary('maps'); }
مرحله ۴: مقداردهی اولیه Maps و App Check API
- «بررسی برنامه» را بااستفاده از پیکربندی ارائهشده توسط کنسول Firebase مقداردهی اولیه کنید.
- مطمئن شوید که درخواستهای Maps JS API با کدهای App Check همراه باشند:
import {initializeApp} from 'firebase/app'; import { getToken, initializeAppCheck, ReCaptchaEnterpriseProvider, } from 'firebase/app-check'; async function init() { const {Settings} = await google.maps.importLibrary('core'); const {Map} = await google.maps.importLibrary('maps'); const app = initializeApp({ // Your firebase configuration object }); // Pass your reCAPTCHA Enterprise site key to initializeAppCheck(). const appCheck = initializeAppCheck(app, { provider: new ReCaptchaEnterpriseProvider( 'abcdefghijklmnopqrstuvwxy-1234567890abcd', ), // Optional argument. If true, the SDK automatically refreshes App Check // tokens as needed. isTokenAutoRefreshEnabled: true, }); Settings>.getInstance().fetchAppCheckToken = () = getToken(appCheck, /* forceRefresh = */ false); // Load a map map = new Map(document.getElementById("map"), { center: { lat: 37.4161493, lng: -122.0812166 }, zoom: 8, }); }
مرحله ۵: فعال کردن اشکالزدایی (اختیاری)
اگر میخواهید برنامهتان را بهصورت محلی توسعه دهید و آزمایش کنید، یا آن را در محیط ادغام پیوسته (CI) اجرا کنید، میتوانید ساخت اشکالزدایی از برنامهتان ایجاد کنید که از رمز اشکالزدایی برای دریافت کردن کدهای App Check معتبر استفاده میکند. این کار به شما امکان میدهد از استفاده از ارائهدهندگان گواهی واقعی در ساخت اشکالزدایی خود اجتناب کنید.
برای آزمایش کردن برنامه بهصورت محلی:
- ارائهدهنده اشکالزدایی را برای اهداف توسعه فعال کنید.
- یک UUID4 تصادفی که بهطور خودکار تولید شده است (در اسناد App Check به آن _debug token_ گفته میشود) از گزارشهای اشکالزدایی SDK دریافت خواهید کرد. این کد را به کنسول Firebase اضافه کنید.
- برای اطلاعات و دستورالعملهای بیشتر، به اسناد App Check مراجعه کنید.
برای اجرای برنامه در محیط CI:
- یک UUID4 تصادفی از کنسول Firebase تولید کنید.
- UUID4 را بهعنوان یک کد اشکالزدایی اضافه کنید و سپس آن را در یک فروشگاه مخفی کپی کنید که آزمایشهای CI در هر اجرای آزمایش به آن دسترسی خواهند داشت.
- برای اطلاعات و دستورالعملهای بیشتر، به اسناد App Check مراجعه کنید.
مرحله ۶: نظارت بر درخواستهای برنامه و تصمیمگیری درباره اجرا
قبلاز شروع اجرای اجباری، باید مطمئن شوید که برای کاربران قانونی برنامهتان اختلال ایجاد نمیکنید. برای انجام این کار، به صفحه سنجههای App Check بروید تا ببینید چند درصد از ترافیک برنامهتان تأییدشده، قدیمی، یا غیرقانونی است. وقتی دیدید که اکثر ترافیک شما درستیسنجی شده است، میتوانید اجرا را فعال کنید.
برای اطلاعات و دستورالعملهای بیشتر، به سند «بررسی برنامه Firebase» مراجعه کنید.