این صفحه به شما نشان میدهد که چگونه با استفاده از ارائهدهنده داخلی reCAPTCHA v3، App Check در یک برنامه وب فعال کنید. وقتی App Check فعال میکنید، مطمئن میشوید که فقط برنامه شما میتواند به منابع Firebase پروژه شما دسترسی داشته باشد. مروری بر این ویژگی را ببینید.
شما باید از reCAPTCHA Enterprise برای ادغام های جدید استفاده کنید، و ما قویاً توصیه می کنیم که توسعه دهندگان برنامه هایی که از reCAPTCHA v3 استفاده می کنند، در صورت امکان ارتقاء دهند.
برای یادگیری تفاوتهای بین reCAPTCHA v3 و reCAPTCHA Enterprise، به مقایسه ویژگیها مراجعه کنید.
توجه داشته باشید که reCAPTCHA v3 برای کاربران نامرئی است. ارائهدهنده reCAPTCHA v3 در هر زمانی از کاربران نمیخواهد چالشی را حل کنند. به مستندات reCAPTCHA v3 مراجعه کنید.
اگر میخواهید از App Check با ارائهدهنده سفارشی خود استفاده کنید، به اجرای یک ارائهدهنده App Check سفارشی مراجعه کنید.
1. پروژه Firebase خود را راه اندازی کنید
اگر قبلاً این کار را نکرده اید ، Firebase را به پروژه جاوا اسکریپت خود اضافه کنید .
سایت خود را برای reCAPTCHA v3 ثبت کنید و کلید سایت reCAPTCHA v3 و کلید مخفی خود را دریافت کنید.
برنامههای خود را برای استفاده از App Check با ارائهدهنده reCAPTCHA در بخش App Check کنسول Firebase ثبت کنید. شما باید کلید مخفی را که در مرحله قبل دریافت کرده اید ارائه دهید.
معمولاً باید همه برنامههای پروژه خود را ثبت کنید، زیرا پس از فعال کردن اجرای یک محصول Firebase، فقط برنامههای ثبتشده میتوانند به منابع پشتیبان محصول دسترسی پیدا کنند.
اختیاری : در تنظیمات ثبت برنامه، یک زمان سفارشی (TTL) برای نشانههای App Check صادر شده توسط ارائهدهنده تنظیم کنید. می توانید TTL را روی هر مقداری بین 30 دقیقه تا 7 روز تنظیم کنید. هنگام تغییر این مقدار، به معاوضه های زیر توجه داشته باشید:
- امنیت: TTLهای کوتاهتر امنیت قویتری را فراهم میکنند، زیرا پنجرهای را کاهش میدهد که در آن توکن لو رفته یا رهگیری شده توسط مهاجم مورد سوء استفاده قرار میگیرد.
- عملکرد: TTLهای کوتاهتر به این معنی است که برنامه شما به دفعات بیشتری گواهی را انجام می دهد. از آنجایی که فرآیند تأیید برنامه هر بار که انجام می شود، تاخیر را به درخواست های شبکه اضافه می کند، یک TTL کوتاه می تواند بر عملکرد برنامه شما تأثیر بگذارد.
- سهمیه و هزینه: TTLهای کوتاهتر و تأیید مجدد مکرر سهمیه شما را سریعتر از بین می برد و برای خدمات پولی، احتمالاً هزینه بیشتری دارد. به سهمیه ها و محدودیت ها مراجعه کنید.
TTL پیشفرض ۱ روزه برای اکثر برنامهها معقول است. توجه داشته باشید که کتابخانه App Check توکن ها را تقریباً در نیمی از مدت زمان TTL تازه می کند.
2. کتابخانه App Check را به برنامه خود اضافه کنید
اگر قبلاً این کار را نکرده اید ، Firebase را به برنامه وب خود اضافه کنید . حتماً کتابخانه App Check را وارد کنید.
3. App Check اولیه کنید
قبل از دسترسی به خدمات Firebase، کد اولیه زیر را به برنامه خود اضافه کنید. برای activate()
باید کلید سایت reCAPTCHA خود را که در کنسول reCAPTCHA ایجاد کرده اید، ارسال کنید.
Web
import { initializeApp } from "firebase/app"; import { initializeAppCheck, ReCaptchaV3Provider } from "firebase/app-check"; const app = initializeApp({ // Your firebase configuration object }); // Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this // key is the counterpart to the secret key you set in the Firebase console. const appCheck = initializeAppCheck(app, { provider: new ReCaptchaV3Provider('abcdefghijklmnopqrstuvwxy-1234567890abcd'), // Optional argument. If true, the SDK automatically refreshes App Check // tokens as needed. isTokenAutoRefreshEnabled: true });
Web
firebase.initializeApp({ // Your firebase configuration object }); const appCheck = firebase.appCheck(); // Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this // key is the counterpart to the secret key you set in the Firebase console. appCheck.activate( 'abcdefghijklmnopqrstuvwxy-1234567890abcd', // Optional argument. If true, the SDK automatically refreshes App Check // tokens as needed. true);
مراحل بعدی
هنگامی که کتابخانه App Check در برنامه شما نصب شد، آن را مستقر کنید.
برنامه کلاینت بهروزرسانیشده، به همراه هر درخواستی که به Firebase میکند، نشانههای App Check ارسال میکند، اما محصولات Firebase تا زمانی که اعمال را در بخش App Check کنسول Firebase فعال نکنید، نیازی به معتبر بودن توکنها ندارند.
معیارها را رصد کنید و اجرا را فعال کنید
با این حال، قبل از فعال کردن اعمال، باید مطمئن شوید که انجام این کار باعث اختلال در کاربران قانونی فعلی شما نمی شود. از سوی دیگر، اگر استفاده مشکوک از منابع برنامه خود را مشاهده کردید، ممکن است بخواهید زودتر اجرای آن را فعال کنید.
برای کمک به این تصمیم، میتوانید به معیارهای App Check برای سرویسهایی که استفاده میکنید نگاه کنید:
- معیارهای درخواست App Check برای Realtime Database ، Cloud Firestore ، Cloud Storage ، Authentication (بتا) و Vertex AI in Firebase نظارت کنید.
- معیارهای درخواست App Check برای Cloud Functions نظارت کنید .
اجرای App Check فعال کنید
وقتی متوجه شدید که App Check چگونه بر کاربران شما تأثیر می گذارد و آماده ادامه کار هستید، می توانید اجرای App Check را فعال کنید:
- اجرای App Check برای Realtime Database ، Cloud Firestore ، Cloud Storage ، Authentication (بتا) و Vertex AI in Firebase فعال کنید.
- اجرای App Check برای Cloud Functions فعال کنید .
از App Check در محیط های اشکال زدایی استفاده کنید
اگر بعد از اینکه برنامه خود را برای App Check ثبت کردید، میخواهید برنامه خود را در محیطی اجرا کنید که App Check معمولاً آن را معتبر طبقهبندی نمیکند، مانند محلی در طول توسعه، یا از یک محیط یکپارچه سازی پیوسته (CI)، میتوانید ایجاد کنید. ساخت اشکالزدایی برنامه شما که از ارائهدهنده رفع اشکال App Check به جای ارائهدهنده گواهی واقعی استفاده میکند.
به استفاده از App Check با ارائه دهنده اشکال زدایی در برنامه های وب مراجعه کنید.