אימות משתמש משני

אימות משתמש משני מאפשר להוסיף ל-Voice אבטחה דו-שלבית פקודות. כך אפשר להוסיף שכבת אבטחה לפעולות מסוימות, כמו כיבוי מצלמת אבטחה או פתיחת דלת. אימות המשתמש המשני הוא לא קשורה לתכונה ספציפית של מכשיר, שמאפשרת לך להחליט מתי Google Assistant יצרו אתגר. לדוגמה, אפשר לבחור לשלוח אתגר להתכונה OnOff עבור מצלמת אבטחה, אבל לא להציב אתגר OnOff של אור. אפשר גם להשתמש ב-Assistant ליצור אתגרים במצבים מסוימים עבור אותה פעולה. לדוגמה, יכול לבקש ל-Assistant לשלוח בקשת אתגר כדי לפתוח דלת אם מפתח NFC לא נמצא בקרבתה, אך לא להציב אתגר אם המפתחות נמצאים.

Assistant יכול ליצור שני סוגים של אתגרים: אישור מפורש או מספר זיהוי אישי (PIN). הפעולה הזו מוסיפה חסימת אתגר אל QUERY ו-EXECUTE כוונות נשלחו מ-Assistant חזרה לפעולה, וקיבלת שגיאה מסוג challengeNeeded תשובה. לאחר מכן, Assistant שולח חזרה את בקשת ה-Intent אל את הפעולה הרצויה בעזרת נתוני האתגר בבלוק האתגר. לאחר מכן אפשר לאמת את נתוני האתגר כדי לקבוע אם המשתמש נתן את האבטחה הנכונה תשובה.

Assistant משתמש בתיבת דו-שיח כדי לשלוח את האתגר, אבל להשתמש ב-Assistant בפלטפורמות שאינן קוליות, עם קוד אימות וגם באישורים מופיעים במסך.

סוגי מכשירים נתמכים

אימות משתמש משני נתמך בכל סוגי המכשירים.

תכונות מכשירים נתמכים

אימות משתמש משני נתמך בכל תכונות המכשיר.

סוגי אתגרים נתמכים

אלה סוגי האתגרים המשניים שנתמכים באימות משתמשים:

  • ללא אתגר – בקשה ותגובה שלא כוללים אתגר משני לאימות משתמשים.
  • ackNeeded – אימות משתמש משני שמחייב אישור מפורש (כן או לא), ואפשר גם להשתמש במצבי תכונה משוב על התשובה. סוג האתגר הזה לא מומלץ מטעמי אבטחה של מכשירים ותכונות.
  • pinNeeded – אימות משתמש משני שמחייב מספר זיהוי אישי (PIN), שמתאים במיוחד למכשירי אבטחה ותכונות.

אין אתגר

בדוגמה הזו מוצגת בקשה ותגובה של EXECUTE שהתבצעו בהצלחה ללא אתגר להדלקת אורות.

משתמש מדליקים את האורות.
Google Assistant בסדר, מדליקים 3 אורות.
בקשה
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123"
        }],
        "execution": [{
          "command": "action.devices.commands.OnOff",
          "params": {
            "on": true
          }
        }]
      }]
    }
  }]
}
תגובה
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS",
      "states": {
        "on": true,
        "online": true
      }
    }]
  }
}

ackNeeded

אימות אישור משני של המשתמש שיכול להשתמש בכמה מצבים עבור מאפיין או אימות אישור פשוט.

יש ackNeeded סוגי אתגרים מהסוגים הבאים:

ackנדרש פשוט

בדוגמה הזו מוצגת בקשה ותגובה פשוטים עם אתגר ackNeeded לעמעום תאורה ולאישור לעמעם את האור.

משתמש עמעום התאורה בסלון.
Google Assistant האורות בסלון עמעמים. להמשיך?
משתמש כן.
Google Assistant האורות בסלון עמעמים.
בקשה 1
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123"
        }],
        "execution": [{
          "command": "action.devices.commands.BrightnessAbsolute",
          "params": {
            "brightness": 12
          }
        }]
      }]
    }
  }]
}
תשובה 1
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "ackNeeded"
      }
    }]
  }
}
בקשה 2
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123"
        }],
        "execution": [{
          "command": "action.devices.commands.BrightnessAbsolute",
          "params": {
            "brightness": 12
          },
          "challenge": {
            "ack": true
          }
        }]
      }]
    }
  }]
}
תשובה 2
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS"
    }]
  }
}

ackנדרש עם מצבי מאפיין

אימות אישור משני של המשתמש שיכול להשתמש במצבים של . לדוגמה, אם אתם עובדים עם מאפיין אחד (TemperatureSetting) ושניהם thermostatMode ו-thermostatTemperatureSetpoint מוגדרים, Assistant יכול לשאול האם אתה בטוח שברצונך להגדיר את החימום במזגן ל-28 מעלות?

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

התכונות והמדינות הבאות תומכות ב-ackNeeded עם מצבי תכונה. א' פירוט של תכונה ספציפית מציין שכל המדינות שבהן היא נתמכת.

בדוגמה הזו מוצגת בקשה ותגובה עם אתגר ackNeeded משתמשת במצב של תכונה. היא משנה את מצב המזגן לחימום ומגדירה את ל-28 מעלות. לאחר מכן, המשתמשים יתבקשו להחליט על ידי Assistant לאישור הפעלת החימום וכיוון הטמפרטורה ל-28 מעלות מאז thermostatTemperatureSetpoint של 28 מוחזר כמדינה בתשובה.

משתמש הגדרת מצב AC לחימום.
Google Assistant בחרת להגדיר את החימום במזגן ל-28. להמשיך? מעלות?
משתמש כן.
Google Assistant הגדרת החימום במזגן ל-28 מעלות.
בקשה 1
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123"
        }],
        "execution": [{
          "command": "action.devices.commands.TemperatureSetting",
          "params": {
            "thermostatMode": "heat"
          }
        }]
      }]
    }
  }]
}
תשובה 1
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "states": {
        "thermostatMode": "heat",
        "thermostatTemperatureSetpoint": 28
      },
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "ackNeeded"
      }
    }]
  }
}
בקשה 2
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123"
        }],
        "execution": [{
          "command": "action.devices.commands.TemperatureSetting",
          "params": {
            "thermostatMode": "heat"
          },
          "challenge": {
            "ack": true
          }
        }]
      }]
    }
  }]
}
תשובה 2
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS",
      "states": {
        "thermostatMode": "heat",
        "thermostatTemperatureSetpoint": 28
      }
    }]
  }
}

pinNeeded

האתגר pinNeeded מומלץ לשימוש במכשירי אבטחה.

בדוגמה הזו מוצגת בקשה ראשונית ותגובה עם pinNeeded לאתגר. הדוגמה מחזירה תשובה עם אתגר pinNeeded, כך Assistant מבקש את קוד האימות. בשלב הזה המשתמש יכול לספק קוד אימות שגוי או תקין.

דוגמה של בקשה ותגובה לקוד אימות שגוי או חוקי:

משתמש מבטלים את נעילת הדלת.
Google Assistant אפשר לקבל את קוד האבטחה שלך?
בקשה
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123"
        }],
        "execution": [{
          "command": "action.devices.commands.LockUnlock",
          "params": {
            "lock": false
          }
        }]
      }]
    }
  }]
}
תגובה
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "pinNeeded"
      }
    }]
  }
}

PIN שגוי

בדוגמה הזו מוצגות הבקשה והתשובה עם challengeFailedPinNeeded לאתגר. צריך להשתמש באתגר הזה אחרי אתגר ראשוני של pinNeeded נכשל.

כשמוחזר סוג challengeFailedPinNeeded, Assistant תבקש שוב את קוד האבטחה. אם המשתמש מבצעת יותר מדי ניסיונות כושלים, אפשר להחזיר tooManyFailedAttempts עם שגיאה. ראו תגובות לשגיאות.

משתמש 333222
Google Assistant מצטערים, קוד האבטחה שגוי. אפשר לקבל את קוד האבטחה שלך?
בקשה
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123"
        }],
        "execution": [{
          "command": "action.devices.commands.LockUnlock",
          "params": {
            "lock": false
          },
          "challenge": {
            "pin": "333222"
          }
        }]
      }]
    }
  }]
}
תגובה
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "challengeFailedPinNeeded"
      }
    }]
  }
}

קוד אימות תקף

בדוגמה הזו מוצגות הבקשה והתשובה לקבלת קוד אימות תקין.

משתמש 333444
Google Assistant מתבצע ביטול של נעילת הדלת.
בקשה
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123"
        }],
        "execution": [{
          "command": "action.devices.commands.LockUnlock",
          "params": {
            "lock": false
          },
          "challenge": {
            "pin": "333444"
          }
        }]
      }]
    }
  }]
}
תגובה
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS",
      "states": {
        "isLocked": false,
        "isJammed": false
      }
    }]
  }
}
משתמש עמעום התאורה בסלון.
Google Assistant אפשר לקבל את קוד האבטחה שלך?
בקשה
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123"
        }],
        "execution": [{
          "command": "action.devices.commands.BrightnessAbsolute",
          "params": {
            "brightness": 12
          }
        }]
      }]
    }
  }]
}
תגובה
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "pinNeeded"
      }
    }]
  }
}

תגובות לשגיאות

לפניכם כמה מקודי שגיאה שתוכלו להחזיר יחד עם התשובות:

  • tooManyFailedAttempts - מצטערים, יותר מדי ניסיונות כושלים. עליך לעבור לאפליקציה של המכשיר כדי להשלים את הפעולה.
  • pinIncorrect - מצטערים, קוד האבטחה שגוי.
  • userCancelledאישור

ראה את הרשימה המלאה של שגיאות וחריגים.