יצירת מפתחות reCAPTCHA לאפליקציות לנייד

בדף הזה מוסבר איך ליצור מפתחות reCAPTCHA (שנקראים גם מפתחות) כדי לאמת אינטראקציות של משתמשים באפליקציות לנייד.

מפתחות reCAPTCHA מייצגים את האופן שבו reCAPTCHA מוגדר לאפליקציה לנייד.

לפני שמתחילים

  • הכנת הסביבה ל-reCAPTCHA
  • חשוב לוודא שהוקצה לכם התפקיד הבא בניהול זהויות והרשאות גישה (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.

המסוף

  1. נכנסים לדף reCAPTCHA במסוף Google Cloud .

    מעבר אל reCAPTCHA

  2. מוודאים ששם הפרויקט מופיע בבורר המשאבים בחלק העליון של הדף.

    אם שם הפרויקט לא מופיע, לוחצים על בורר המשאבים ובוחרים את הפרויקט.

  3. לוחצים על Create key.
  4. בשדה שם לתצוגה, מזינים שם לתצוגה של המפתח.
  5. בהתאם לסוג מפתח reCAPTCHA שרוצים ליצור לאפליקציה לנייד, מבצעים את הפעולה המתאימה:
  6. יצירת מפתחות reCAPTCHA לאפליקציות ל-iOS

    מומלץ ליצור מפתח reCAPTCHA אחד לכל אפליקציית iOS.

    1. בקטע Application type, בוחרים באפשרות iOS.
      1. בקטע רשימת מזהי חבילות ל-iOS, לוחצים על הוספת מזהה חבילה ל-iOS.
      2. בשדה Bundle ID (מזהה החבילה), מזינים את השם של מזהה החבילה של iOS.

      3. אופציונלי: כדי להוסיף מזהה חבילה נוסף ל-iOS, לוחצים על הוספת מזהה חבילה ל-iOS ומזינים את השם של מזהה החבילה ל-iOS בשדה מזהה חבילה.
      4. כדי להגן על מפתח reCAPTCHA של מזהי החבילות, מוודאים שהמתג השבתת אימות מזהה החבילה מושבת.
      5. אופציונלי: מציינים הגדרות של Apple Developer.

        מומלץ לספק את הנתונים האלה כי הם מאפשרים ל-reCAPTCHA לספק ציוני סיכון מדויקים יותר לגבי התנועה באתר.

        מזינים את פריטי המידע האלה:

        • מפתח פרטי (‎.p8): המפתח הזה נוצר ב-Apple Developer Center בקטע Certificates, Identifiers & Profiles (אישורים, מזהים ופרופילים).
        • מזהה המפתח: מזהה המפתח למפתחים של Apple (מחרוזת בת 10 תווים).
        • מזהה צוות: מזהה הצוות של אפל (מחרוזת בת 10 תווים) שבבעלותו פרופיל ההקצאה שמשמש ליצירת האפליקציה.
      6. אופציונלי: לוחצים על השלב הבא (אופציונלי).
        1. אם רוצים לציין ציון שהמפתח יחזיר כשייווצרו עבורו הערכות כלשהן בסביבה שאינה סביבת ייצור, צריך לבצע את הפעולות הבאות:

          1. בקטע הגדרות נוספות, לוחצים על המתג האם המפתח הזה נוצר למטרות בדיקה בלבד?.
          2. משתמשים בפס ההזזה הגדרת ציון כדי לציין ציון בין 0 ל-1.0.
      7. לוחצים על Create key.
      8. המפתח החדש שנוצר מופיע בדף מפתחות reCAPTCHA.

    יצירת מפתחות reCAPTCHA לאפליקציות ל-Android

    1. בקטע Application type, בוחרים באפשרות Android.
    2. בקטע רשימת חבילות Android, לוחצים על הוספת חבילת Android.
    3. בשדה Android package (חבילת Android), מזינים את השם של חבילת Android.
    4. אופציונלי: כדי להוסיף חבילה נוספת, לוחצים על הוספת חבילת Android ומזינים את השם של חבילת Android נוספת בשדה חבילת Android.
    5. כדי לוודא שמפתח reCAPTCHA ישמש רק באפליקציה שלכם, משביתים את המתג השבתת אימות שם החבילה.
    6. אם רוצים ליצור מפתח לאפליקציה שזמינה בחנויות אפליקציות אחרות בנוסף לחנות Google Play, מפעילים את האפשרות תמיכה באפליקציות שמופצות מחוץ לחנות Google Play.
    7. אופציונלי: לוחצים על השלב הבא (אופציונלי).
      1. אם רוצים לציין ציון שהמפתח יחזיר כשייווצרו עבורו הערכות כלשהן בסביבה שאינה סביבת ייצור, צריך לבצע את הפעולות הבאות:

        1. בקטע הגדרות נוספות, לוחצים על המתג האם המפתח הזה נוצר למטרות בדיקה בלבד?.
        2. משתמשים בפס ההזזה הגדרת ציון כדי לציין ציון בין 0 ל-1.0.
    8. לוחצים על Create key.
    9. המפתח החדש שנוצר מופיע בדף מפתחות 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": {},
}

המאמרים הבאים