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

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

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

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

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

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

Trait ของอุปกรณ์ที่รองรับ

รองรับการยืนยันผู้ใช้รองสำหรับทุกลักษณะของอุปกรณ์

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

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

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

รับทราบอย่างง่าย

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

ต้องการสถานะลักษณะ

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

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