การยืนยันผู้ใช้รอง

การยืนยันผู้ใช้รองช่วยให้คุณเพิ่มความปลอดภัยแบบ 2 ปัจจัยให้กับคำสั่งเสียงได้ ซึ่งจะช่วยให้คุณเพิ่มความปลอดภัยเพิ่มเติมสำหรับการดำเนินการบางอย่าง เช่น การปิดกล้องรักษาความปลอดภัยหรือการเปิดประตู การยืนยันผู้ใช้รองไม่ได้เชื่อมโยงกับลักษณะเฉพาะของอุปกรณ์ที่เจาะจง ซึ่งช่วยให้คุณตัดสินใจได้ว่าจะให้ Google Assistant แสดงภารกิจเมื่อใด เช่น คุณอาจเลือกที่จะออกคําท้าสําหรับลักษณะ OnOff ของกล้องรักษาความปลอดภัย แต่จะไม่ออกคําท้าสําหรับลักษณะ OnOff ของหลอดไฟ นอกจากนี้ คุณยังAssistant ออกคำท้าในบางสถานการณ์สำหรับการดำเนินการเดียวกันได้ด้วย เช่น คุณสามารถขอให้ Assistant ส่งคำขอคำตอบเพื่อเปิดประตูหากกุญแจรีโมต NFC ไม่ได้อยู่ใกล้กับประตูนั้น แต่ไม่ต้องส่งคำตอบหากกุญแจรีโมตอยู่ใกล้ๆ

Assistant สามารถออกคำถามยืนยันตัวตนได้ 2 ประเภท ได้แก่ การยอมรับอย่างชัดแจ้งหรือหมายเลขประจำตัวส่วนบุคคล (PIN) ซึ่งจะเพิ่มบล็อกคำท้าให้กับ Intent QUERY และ EXECUTE ที่ส่งจาก Assistant กลับไปยังการดำเนินการของคุณ และยอมรับการตอบกลับข้อผิดพลาด challengeNeeded Assistant จากนั้นจะส่งคำขอ Intent กลับไปยังการดำเนินการของคุณพร้อมข้อมูลคำขอรับสิทธิ์ในบล็อกคำขอรับสิทธิ์ จากนั้นคุณสามารถตรวจสอบความถูกต้องของข้อมูลคำขอเพื่อดูว่าผู้ใช้ตอบกลับข้อมูลความปลอดภัยที่ถูกต้องหรือไม่

Assistant ใช้กล่องโต้ตอบเพื่อออกคำสั่ง แต่หากคุณใช้ Assistant ในแพลตฟอร์มที่ไม่ใช่เสียง คุณจะป้อน PIN และการยืนยันบนหน้าจอ

ประเภทอุปกรณ์ที่รองรับ

อุปกรณ์ทุกประเภทรองรับการยืนยันผู้ใช้สำรอง

ลักษณะของอุปกรณ์ที่รองรับ

วิธีการสำรองในการยืนยันผู้ใช้ใช้ได้กับลักษณะของอุปกรณ์ทั้งหมด

ประเภทคำถามที่รองรับ

ประเภทคำถามในการยืนยันผู้ใช้รองที่รองรับมีดังนี้

  • ไม่มีคำถาม - คำขอและการตอบกลับที่ไม่ได้ใช้คำถามเพื่อยืนยันตัวตนผู้ใช้รอง
  • 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 คำถามยืนยันตัวตนมี 3 ประเภทดังนี้

ackNeeded แบบง่าย

ตัวอย่างนี้แสดงคำขอและการตอบกลับแบบง่ายที่มี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"
    }]
  }
}

ackNeeded ที่มีสถานะลักษณะ

การตรวจสอบสิทธิ์การยอมรับของผู้ใช้รองที่ใช้สถานะสำหรับลักษณะ ตัวอย่างเช่น หากคุณทํางานกับลักษณะ 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 จึงขอ PIN เมื่อถึงขั้นตอนนี้ ผู้ใช้สามารถป้อน PIN ที่ไม่ถูกต้องหรือถูกต้องก็ได้

ตัวอย่างคำขอและการตอบกลับสำหรับ PIN ที่ไม่ถูกต้องหรือถูกต้อง

ผู้ใช้ ปลดล็อกประตู
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"
      }
    }]
  }
}

PIN ที่ถูกต้อง

ตัวอย่างนี้แสดงคำขอและการตอบกลับของ PIN ที่ถูกต้อง

ผู้ใช้ 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 - Ok

ดูรายการข้อผิดพลาดและข้อยกเว้นทั้งหมด