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

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

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

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

กรณีที่ควรใช้การยืนยันผู้ใช้รอง

คุณสามารถเปิดใช้การยืนยันผู้ใช้รองสำหรับอุปกรณ์หรือลักษณะเฉพาะทุกประเภท อย่างไรก็ตาม คุณต้องใช้ วิธีการสำรองในการยืนยันผู้ใช้ สำหรับอุปกรณ์และลักษณะเฉพาะบางประเภทที่มีความละเอียดอ่อนด้านความปลอดภัยเพื่อให้ได้รับการรับรองการผสานรวม

คุณต้องใช้การยืนยันผู้ใช้รองโดยใช้ประเภทคำท้า pinNeeded สำหรับค่าผสมของลักษณะเฉพาะและประเภทอุปกรณ์ต่อไปนี้

  • ลักษณะเฉพาะ OnOff หากประเภทอุปกรณ์คือ CAMERA
  • ลักษณะเฉพาะ OpenClose หากประเภทอุปกรณ์คือ DOOR, GARAGE, GATE หรือ WINDOW
  • ลักษณะเฉพาะ LockUnlock เมื่อปลดล็อก
  • ลักษณะเฉพาะ ArmDisarm เมื่อปลดอาวุธหรือยกเลิกการปลดอาวุธ
  • ลักษณะเฉพาะ Reboot, SoftwareUpdate หรือ NetworkControl หากประเภทอุปกรณ์คือ NETWORK หรือ ROUTER

คุณต้องใช้ประเภทคำท้า ackNeeded สำหรับลักษณะเฉพาะ TemperatureSetting หากประเภทอุปกรณ์คือ AC_UNIT และการผสานรวมอยู่ในญี่ปุ่น

ประเภทภารกิจที่รองรับ

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

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

ตัวอย่างนี้แสดงคำขอและการตอบกลับแบบง่ายพร้อมคำท้า 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 พร้อมสถานะลักษณะเฉพาะ การแสดงรายการลักษณะเฉพาะที่เฉพาะเจาะจงบ่งบอกว่าระบบรองรับสถานะทั้งหมดของลักษณะเฉพาะนั้น

  • ArmDisarm
    • ใช้คำท้าประเภท ackNeeded เพื่อติดอาวุธหรือยกเลิกการติดอาวุธอุปกรณ์ แต่สำหรับฟังก์ชันการปลดอาวุธและยกเลิกการปลดอาวุธ คุณต้องใช้คำท้าประเภท pinNeeded
  • Fill
  • LockUnlock
    • ใช้คำท้าประเภท ackNeeded เพื่อล็อกอุปกรณ์ และคำท้าประเภท pinNeeded เพื่อปลดล็อก
  • OnOff
    • on
    • ใช้คำท้าประเภท ackNeeded สำหรับลักษณะเฉพาะนี้ คุณต้องใช้คำท้าประเภท pinNeeded เมื่อใช้ลักษณะเฉพาะนี้กับอุปกรณ์ CAMERA
  • OpenClose
    • ใช้คำท้าประเภท ackNeeded สำหรับลักษณะเฉพาะนี้ คุณต้องใช้คำท้าประเภท pinNeeded เมื่อใช้ลักษณะเฉพาะนี้กับอุปกรณ์ DOOR, GARAGE, GATE หรือ WINDOW
  • Scene
  • TemperatureSetting
    • thermostatMode
    • thermostatTemperatureSetpoint
    • thermostatTemperatureSetpointHigh
    • thermostatTemperatureSetpointLow

ตัวอย่างนี้แสดงคำขอและการตอบกลับพร้อมคำท้า ackNeeded ที่ใช้สถานะลักษณะเฉพาะ โดยจะเปลี่ยนโหมดเครื่องปรับอากาศเป็นโหมดทำความร้อนและตั้งอุณหภูมิเป็น 28 องศา จากนั้น Assistant จะขอให้ผู้ใช้ รับทราบเพื่อเปิดโหมดทำความร้อนและตั้งอุณหภูมิเป็น 28 องศา เนื่องจากระบบแสดง thermostatTemperatureSetpoint เป็น 28 เป็นสถานะ ในการตอบกลับ

ผู้ใช้ ตั้งโหมดเครื่องปรับอากาศเป็นโหมดทำความร้อน
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 AssistantAssistant จะขอรหัสความปลอดภัยอีกครั้ง หากผู้ใช้พยายามไม่สำเร็จหลายครั้ง คุณสามารถแสดงการตอบกลับข้อผิดพลาด 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 - ตกลง

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