בדף הזה מוסבר איך ליצור מפתחות reCAPTCHA כדי לאמת אינטראקציות של משתמשים באפליקציות לנייד.
מפתחות reCAPTCHA מייצגים את האופן שבו reCAPTCHA מוגדר לאפליקציה לנייד.
לפני שמתחילים
- הכנת הסביבה ל-Google Cloud Fraud Defense
- חשוב לוודא שהוקצה לכם התפקיד הבא בניהול זהויות והרשאות גישה (IAM): אדמין של reCAPTCHA Enterprise (
roles/recaptchaenterprise.admin).
יצירה של מפתח reCAPTCHA
אפשר ליצור מפתחות שמבוססים על ניקוד רק לאפליקציות לנייד.
כשיוצרים מפתחות reCAPTCHA לאפליקציות לנייד, מומלץ:
- יוצרים מפתח reCAPTCHA אחד לכל אפליקציה לנייד.
ב-Android, צריך ליצור מפתחות נפרדים לתרחישים הבאים:
- חבילת Android זמינה רק בחנות Google Play.
- חבילת Android זמינה רק בחנויות אפליקציות שאינן חנות Google Play.
צריך ליצור מפתחות reCAPTCHA נפרדים לסביבות Staging וייצור. אחרת, אתם עלולים לזהם את ניתוח הסיכונים של reCAPTCHA בנתונים מסביבת הבדיקה.
הדרך הכי פשוטה ליצור מפתח reCAPTCHA היא באמצעותGoogle Cloud המסוף. לחלופין, אפשר להשתמש ב-reCAPTCHA Enterprise API או ב-Google Cloud CLI.
המסוף
נכנסים לדף Google Cloud Fraud Defense במסוף Google Cloud .
מוודאים ששם הפרויקט מופיע בבורר המשאבים בחלק העליון של הדף.
אם שם הפרויקט לא מופיע, לוחצים על בורר המשאבים ובוחרים את הפרויקט.
- לוחצים על הכרטיסייה Keys.
- לוחצים על Create key.
- בשדה שם לתצוגה, מזינים שם לתצוגה של המפתח.
- בהתאם לסוג מפתח reCAPTCHA שרוצים ליצור לאפליקציה לנייד, מבצעים את הפעולה המתאימה:
- בקטע Application type, בוחרים באפשרות iOS.
- בקטע רשימת מזהי חבילות ל-iOS, לוחצים על הוספת מזהה חבילה ל-iOS.
בשדה Bundle ID (מזהה החבילה), מזינים את השם של מזהה החבילה של iOS.
- אופציונלי: כדי להוסיף מזהה חבילה נוסף, לוחצים על הוספת מזהה חבילה ל-iOS ומזינים את השם של מזהה החבילה ל-iOS בשדה מזהה החבילה.
- כדי להגן על מפתח reCAPTCHA עבור מזהי החבילות, צריך לוודא שהמתג השבתת אימות מזהה החבילה מושבת. אם משביתים את אימות מזהה החבילה, צריך לאמת את השדה
tokenProperties.iosBundleIdבבדיקות שיוצרים. אופציונלי: מספקים הגדרות למפתחים של אפל.
מומלץ לספק את הנתונים האלה כי הם מאפשרים ל-Fraud Defense לספק ציוני סיכון מדויקים יותר לגבי התנועה שלכם.
מזינים את פריטי המידע האלה:
- מפתח פרטי (.p8): המפתח הזה נוצר ב-Apple Developer Center בקטע Certificates, Identifiers & Profiles (אישורים, מזהים ופרופילים).
- מזהה המפתח: מזהה מפתח המפתחים של אפל (מחרוזת בת 10 תווים).
- מזהה צוות: מזהה הצוות של אפל (מחרוזת בת 10 תווים) שבבעלותו פרופיל ההקצאה שמשמש ליצירת האפליקציה.
- אופציונלי: לוחצים על השלב הבא (אופציונלי).
-
אם רוצים לציין ציון שהמפתח יחזיר כשייווצרו הערכות כלשהן עבור הסביבה שאינה סביבת ייצור, צריך לבצע את הפעולות הבאות:
- בקטע הגדרות נוספות, לוחצים על המתג האם אתה יוצר את המפתח הזה למטרות בדיקה בלבד?.
- משתמשים בפס ההזזה הגדרת ציון כדי לציין ציון בין 0 ל-1.0.
- לוחצים על Create key.
- בקטע סוג האפליקציה, בוחרים באפשרות Android.
- בקטע רשימת חבילות Android, לוחצים על הוספת חבילת Android.
- בשדה Android package (חבילת Android), מזינים את השם של חבילת Android.
- אופציונלי: כדי להוסיף חבילה נוספת, לוחצים על הוספת חבילת Android ומזינים את השם של חבילת Android נוספת בשדה חבילת Android.
- כדי לוודא שמפתח reCAPTCHA ישמש רק באפליקציה שלכם, משביתים את המתג השבתת אימות שם החבילה. אם משביתים את אימות שם החבילה, צריך לאמת את השדה
tokenProperties.androidPackageNameבבדיקות שיוצרים. - אם רוצים ליצור מפתח לאפליקציה שזמינה בחנויות אפליקציות אחרות בנוסף לחנות Google Play, מפעילים את האפשרות תמיכה באפליקציות שמופצות מחוץ לחנות Google Play.
- אופציונלי: לוחצים על השלב הבא (אופציונלי).
-
אם רוצים לציין ציון שהמפתח יחזיר כשייווצרו הערכות כלשהן עבור הסביבה שאינה סביבת ייצור, צריך לבצע את הפעולות הבאות:
- בקטע הגדרות נוספות, לוחצים על המתג האם אתה יוצר את המפתח הזה למטרות בדיקה בלבד?.
- משתמשים בפס ההזזה הגדרת ציון כדי לציין ציון בין 0 ל-1.0.
- לוחצים על Create key.
יצירת מפתחות reCAPTCHA לאפליקציות ל-iOS
מומלץ ליצור מפתח reCAPTCHA אחד לכל אפליקציית iOS.
המפתח החדש שנוצר מופיע בדף מפתחות reCAPTCHA.
יצירת מפתחות reCAPTCHA לאפליקציות ל-Android
המפתח החדש שנוצר מופיע בדף מפתחות reCAPTCHA.
gcloud (iOS)
כדי ליצור מפתחות reCAPTCHA, משתמשים בפקודה gcloud recaptcha keys create.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- DISPLAY_NAME: השם של המפתח. בדרך כלל שם האתר.
- BUNDLE_IDs: מזהי החבילות של אפליקציות ל-iOS שמורשות להשתמש במפתח. מציינים כמה מזהי חבילות כרשימה מופרדת בפסיקים.
מריצים את הפקודה gcloud recaptcha keys create:
Linux, macOS או Cloud Shell
gcloud recaptcha keys create \ --display-name=DISPLAY_NAME \ --ios --bundle-ids=BUNDLE_IDs
Windows (PowerShell)
gcloud recaptcha keys create ` --display-name=DISPLAY_NAME ` --ios --bundle-ids=BUNDLE_IDs
Windows (cmd.exe)
gcloud recaptcha keys create ^ --display-name=DISPLAY_NAME ^ --ios --bundle-ids=BUNDLE_IDs
התשובה תכיל את מפתח reCAPTCHA החדש שנוצר.
gcloud (Android)
כדי ליצור מפתחות reCAPTCHA, משתמשים בפקודה gcloud recaptcha keys create.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- DISPLAY_NAME: השם של המפתח. בדרך כלל שם האתר.
- PACKAGE_NAMES: שמות החבילות של אפליקציות ל-Android שמורשות להשתמש במפתח. מציינים כמה שמות של חבילות ברשימה שמופרדת בפסיקים.
מריצים את הפקודה gcloud recaptcha keys create:
Linux, macOS או Cloud Shell
gcloud recaptcha keys create \ --display-name=DISPLAY_NAME \ --android --package-names=PACKAGE_NAMES
Windows (PowerShell)
gcloud recaptcha keys create ` --display-name=DISPLAY_NAME ` --android --package-names=PACKAGE_NAMES
Windows (cmd.exe)
gcloud recaptcha keys create ^ --display-name=DISPLAY_NAME ^ --android --package-names=PACKAGE_NAMES
התשובה תכיל את מפתח reCAPTCHA החדש שנוצר.
REST (iOS)
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- DISPLAY_NAME: השם של המפתח. בדרך כלל שם האפליקציה.
- BUNDLE_IDs: מזהי החבילות של אפליקציות ל-iOS שמורשות להשתמש במפתח. מציינים כמה מזהי חבילות כרשימה מופרדת בפסיקים.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
גוף בקשת JSON:
{
"displayName": "DISPLAY_NAME",
"iosSettings": {
"allowedBundleIds":"BUNDLE_IDs"
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/project-id/keys/6LfhtywnAAAAABY3sCS2duZ6A55kmDXz-PNEgKgT",
"displayName": "DISPLAY_NAME",
"iosSettings": {
"allowAllBundleIds": false,
"allowedBundleIds": [
BUNDLE_IDS
]
},
"labels": {},
}
REST (Android)
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- DISPLAY_NAME: השם של המפתח. בדרך כלל שם האפליקציה.
- PACKAGE_NAMES: שמות החבילות של אפליקציות ל-Android שמורשות להשתמש במפתח. מציינים כמה שמות של חבילות ברשימה שמופרדת בפסיקים.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
גוף בקשת JSON:
{
"displayName": "DISPLAY_NAME",
"androidSettings": {
"allowedPackageNames":"PACKAGE_NAMES"
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/project-id/keys/6LcioSknAAAAABrjlMuZv2fjIGYMqwaAFC9izhoy",
"displayName": "DISPLAY_NAME",
"androidSettings": {
"allowAllPackageNames": false,
"allowedPackageNames": [
PACKAGE_NAMES
],
"supportNonGoogleAppStoreDistribution": false
},
"labels": {},
}